Featured image of post 使用 Gost 创建 SOCKS5-TLS 代理

使用 Gost 创建 SOCKS5-TLS 代理

万物皆可 Docker

配图: https://unsplash.com/photos/XMg8GBzNmgA

首先安装 Docker,安装教程参考官方文档 https://docs.docker.com/install/

安装完成后,拉取 Gost 镜像

1
docker pull ginuerzh/gost

安装 acme.sh,用于申请证书,申请证书的过程参见 README,写的很详细,RSA 或者 ECC 证书都是可以的

申请完证书后安装证书,这里将证书安装在 /etc/gost/,这个路径在使用 docker 运行 Gost 时会用到

1
acme.sh --install-cert -d "domain.com" --fullchain-file /etc/gost/cert.pem --key-file /etc/gost/key.pem

创建 secrets.txt 文件,用于多用户认证,格式为一行一对用户名密码,空格隔开,如

1
2
user0 pass0
user1 pass1

这里为了方便将 secrets.txt 文件也放在 /etc/gost/,方便挂载,可以根据自己情况修改

运行 Gost

1
[sudo] docker run -d -p 8888:8888 --name gost -v /etc/gost/:/mnt ginuerzh/gost -L="socks5+tls://:8888?cert=/mnt/cert.pem&key=/mnt/key.pem&secrets=/mnt/secrets.txt"

其中 -v 参数用于挂载当前用户的 /etc/gost/ 到 Gost 运行环境的 /mnt 目录,这样 Gost 程序就可以读取证书和用户信息文件,8888 是端口,这个根据自己的情况适当修改即可

运行后查看 Gost 运行状态,如果出现以下提示,就运行成功了

1
2
3
~ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                   PORTS                    NAMES
0b95ed614bb1        ginuerzh/gost       "/bin/gost -L=socks5…"   21 minutes ago      Up 21 minutes            0.0.0.0:5877->5877/tcp   gost

参考资料:

Built with Hugo
主题 StackJimmy 设计