docker版Gost的打包解决方案:隧道、ss和socks5
这次不要前戏,测试这个方案实在太累了,直接上,回头再来修正。
三个小项目分别做什么:
- socks5:主要用来聊天
- ss: 用来上网
- 隧道:解决安全通信的问题
需准备的资源:
- 国内中转vps一台:5.5.5.5
- 国外落地vps一台:6.6.6.6
给两台VPS都安装同样运行环境
安装docker和docker-compose
安装docker
curl -sSL https://get.daocloud.io/docker | sh
systemctl start docker
systemctl enable docker
安装docker-compose
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose && ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
拉取gost的docker版镜像
docker pull ginuerzh/gost
中转鸡设定协议转发流量
编辑docker-compose.yml文件
新建gost目录,并在目录下新建并编辑docker-compose.yml文件:
mkdir gost
cd gost
vim docker-compose.yml
docker-compose.yml 文件内容
services:
gost:
image: ginuerzh/gost
restart: always
network_mode: "host"
volumes:
- ./conf:/home
command:
- "-C=/home/gost.json"
logging:
options:
max-size: "10m"
max-file: “3"
新建配置gost.json文件
新建配置文件目录,新建并编辑gost.json配置文件
mkdir conf
cd conf
vim gost.json
gost.json配置文件内容
- 25801中转ss
- 25802中转socks5
- 落地vps的ip是6.6.6.6
- 转发协议是websocket
{
"Debug": true,
"Retries": 0,
"ServeNodes": [
"tcp://:25801",
"udp://:25801"
],
"ChainNodes": [
"relay+ws://6.6.6.6:25801"
],
"Routes": [
{
"Retries": 0,
"ServeNodes": [
"tcp://:25802",
"udp://:25802"
],
"ChainNodes": [
"relay+ws://6.6.6.6:25802"
]
}
]
}
启动docker提供服务
回到docker-compose.yml目录,然后后台启动服务
cd ..
docker-compose up -d
落地鸡开放对应端口,提供服务
编辑docker-compose.yml文件
新建gost目录,并在目录下新建并编辑docker-compose.yml文件:
mkdir gost
cd gost
vim docker-compose.yml
docker-compose.yml文件内容
version: "3"
services:
gost:
image: ginuerzh/gost
restart: always
network_mode: "bridge"
volumes:
- ./conf:/home
ports:
- "25801:25801/tcp"
- "25802:25802/tcp"
command:
- "-C=/home/gost.json"
logging:
options:
max-size: "10m"
max-file: "3"
新建配置gost.json文件
新建配置文件目录,新建并编辑gost.json配置文件
mkdir conf
cd conf
vim gost.json
gost.json配置文件内容
- 25801中转到docker内部ss服务
- ss的密码是telme
- 25802中转到docker内部socks5服务
- socks5的用户名密码都是telme
此处采用docker内部服务,并不对外暴露服务端口
{
"Debug": true,
"Retries": 0,
"ServeNodes": [
"relay+ws://:25801/127.0.0.1:11001",
"relay+ws://:25802/127.0.0.1:1080"
],
"Routes": [
{
"Retries": 0,
"ServeNodes": [
"ss://AEAD_AES_128_GCM:telme@:11001",
"socks5://telme:telme@:1080"
]
}
]
}
启动docker提供服务
回到docker-compose.yml目录,然后后台启动服务
cd ..
docker-compose up -d
补遗
升级docker-compose
大佬提醒docker-compose已经有go写的2.0版本,性能炸裂,下面是升级方法:
#移除已经安装的docker-compose
rm /usr/local/bin/docker-compose
#新建目录并安装新版docker compose 2.x
mkdir -p ~/.docker/cli-plugins/
curl -SL https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
chmod +x ~/.docker/cli-plugins/docker-compose
#查看docker compose 版本
#以前的docker-compose命令,变成docker compose命令
docker compose version
文中未完成:
- 除了使用relay+ws的转发方式还有很多其他的方式
- 可以使用tls增强gost隧道安全性
- 多次中转的操作方法
- 负载均衡的配置方法
- 中转+CF的配置方法
THE END
1
二维码
海报
docker版Gost的打包解决方案:隧道、ss和socks5
这次不要前戏,测试这个方案实在太累了,直接上,回头再来修正。
三个小项目分别做什么:
socks5:主要用来聊天
ss: 用来上网
隧道:解决安全通信的问题
需……
isir的私人花园
文章目录
关闭
Alrgo