使用gost搭建隧道

2023-01-01 09:18:59 浏览数 (1)

使用gost搭建隧道

作者:matrix 被围观: 5 次 发布时间:2022-12-31 分类:零零星星 | 无评论 »

很多时候需要搭建简单的socket代理或者其他中转隧道,方便学习开发。 gost是用golang实现的隧道代理工具,功能强大,也有docker环境可以快速使用。

github

https://github.com/go-gost/gost

docker镜像

代码语言:javascript复制
ginuerzh/gost
gogost/gost

两个docker镜像应该都可信,来源于作者/官方

前置条件

外网服务器 中转服务器(可选) 域名 域名SSL证书

下面用中转/直连方案实现隧道代理,记录下~

服务端(outside server)

外网落地服务器

a. 直连方案配置

代码语言:javascript复制
$   docker run --rm -it 
    --net=host 
    ginuerzh/gost -L "mwss://USERNAME:PASSWORD@:443?cert=/etc/letsencrypt/live/wwww.hhtjim.com/fullchain.pem&key=/etc/letsencrypt/live/wwww.hhtjim.com/privkey.pem"

b. 中转方案配置

代码语言:javascript复制
$   docker run --rm -it 
    --net=host 
    ginuerzh/gost -L "relay mwss://USERNAME:PASSWORD@:443?cert=/etc/letsencrypt/live/wwww.hhtjim.com/fullchain.pem&key=/etc/letsencrypt/live/wwww.hhtjim.com/privkey.pem"

说明:

用户名和密码 USERNAME:PASSWORD

SSL证书 /etc/letsencrypt/live/wwww.hhtjim.com/fullchain.pem /etc/letsencrypt/live/wwww.hhtjim.com/privkey.pem

中转服务端(inside server)

inside中转服务器,仅b.中转方案需要

目的:将服务端的relay mwss中转为ss协议

代码语言:javascript复制
$  docker run -p 8081:8081 -it -d  --name gost-client gogost/gost -L ss://aes-256-cfb:PASSWORD2@:8081  -F "relay mwss://USERNAME:PASSWORD@wwww.hhtjim.com:443"

说明:

8081为中转服务器本地启用的隧道端口

本地客户端

a. 直连方案

代码语言:javascript复制
$  docker run -p 9898:9898 --rm gogost/gost -L ":9898" -F "mwss://USERNAME:PASSWORD@wwww.hhtjim.com:443"

说明: 9898为转发到本地的socket5端口 本地连接socket5://127.0.0.1:9898即可

b. 中转方案

普通客户端直连国内中转ip的ss协议 按照自己配置的中转方案参数,连接ss即可

测试

代码语言:javascript复制
$ curl --proxy http://127.0.0.1:9898 -X GET 'https://ipinfo.io'

$ curl -v "https://www.google.com" --proxy "http://127.0.0.1:9898"

参考:

https://latest.gost.run/

https://v2.gost.run/port-forwarding/

https://github.com/haoel/haoel.github.io

https://ednovas.xyz/2021/02/24/mtproxy/#gost中转

https://telegra.ph/socks5及MTProto代理设置脚本-05-31

0 人点赞