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
分享
二维码
海报
docker版Gost的打包解决方案:隧道、ss和socks5
这次不要前戏,测试这个方案实在太累了,直接上,回头再来修正。 三个小项目分别做什么: socks5:主要用来聊天 ss: 用来上网 隧道:解决安全通信的问题 需……
<<上一篇
下一篇>>
文章目录
关闭
目 录