在docker中使用caddy和trojan-go搭建网络代理服

2022-05-05  本文已影响0人  吾等斩去红尘时

前期准备工作

关闭防火墙

ufw disable

更新索引和相关依赖

apt update

创建/var/www/html目录存放index.html网页文件

mkdir -p /var/www/html

创建/etc/caddy目录存放Caddyfile配置文件

mkdir -p /etc/caddy

创建/etc/trojan-go目录存放config.json配置文件

mkdir -p /etc/trojan-go

签发证书

安装acme.sh,将my@example.com替换为你自己的邮件

wget -O -  https://get.acme.sh | sh -s email=my@example.com

安装socat,使用acme.sh申请证书必须安装它

apt install -y socat

申请证书,将example.com替换为你自己的域名,并保证80端口没有被占用

~/.acme.sh/acme.sh --issue -d example.com --standalone

安装证书,将example.com替换为你自己的域名,将server.keyserver.crt文件安装在/etc/trojan-go目录中

~/.acme.sh/acme.sh --install-cert -d example.com --key-file /etc/trojan-go/server.key --fullchain-file /etc/trojan-go/server.crt

升级acme.sh

~/.acme.sh/acme.sh --upgrade --auto-upgrade

安装docker

卸载旧版本容器

sudo apt-get remove docker docker-engine docker.io containerd runc

更新索引和相关依赖

sudo apt update && sudo apt install -y ca-certificates curl gnupg lsb-release

信任公钥

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

添加软件仓库

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

安装docker

sudo apt-get update && sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

搭建caddy

docker中部署caddy来搭建网站伪装trojan-go程序,在/var/www/html目录下创建index.html网页文件

nano /var/www/html/index.html

/var/www/html/index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>网站建设中</title>
</head>
<body>
    <p>网站建设中</p>
</body>
</html>

/etc/caddy目录下创建Caddyfile配置文件

nano /etc/caddy/Caddyfile

/etc/caddy/Caddyfile

:80 {
  root /www
  index index.html
}

启动caddy,这时你可以通过 ip 来访问网站了

docker run -d --network host --name caddy --restart=always -v /etc/caddy:/etc/caddy -v /var/www/html:/www teddysun/caddy

搭建trojan-go

docker中部署trojan-go实现网络代理服务,在/etc/trojan-go目录下创建config.json配置文件,将配置文件中的password替换为你自己的密码,将配置文件中的example.com替换为你自己的域名

nano /etc/trojan-go/config.json

/etc/trojan-go/config.json

{
    "run_type": "server",
    "local_addr": "0.0.0.0",
    "local_port": 443,
    "remote_addr": "127.0.0.1",
    "remote_port": 80,
    "password": [
        "password"
    ],
    "ssl": {
        "cert": "/etc/trojan-go/server.crt",
        "key": "/etc/trojan-go/server.key",
        "sni": "example.com"
    }
}

启动trojan-go容器,这时你可以通过客户端连接它实现网络代理了,访问youtube.com看看是不是可以看视频了

docker run -d --network host --name trojan-go --restart=always -v /etc/trojan-go:/etc/trojan-go teddysun/trojan-go
上一篇下一篇

猜你喜欢

热点阅读