Gost (配合Chrome很好用)
· 阅读需 2 分钟
Gost 代理部署
系统:Centos 7.9
前提
- 安装 docker
- Cloudflare 有一个域名,用个子域名解析到 VPS (注意别用CF自带的代理)
- 要会用 Let's Encrypt 签证书
启动 gost 服务
cat start.sh
#!/bin/bash
# 下面的四个参数需要改成你的
DOMAIN="YOU.DOMAIN.NAME"
USER="username"
PASS="password"
PORT=443
BIND_IP=0.0.0.0
CERT_DIR=/etc/letsencrypt
CERT=${CERT_DIR}/live/${DOMAIN}/fullchain.pem
KEY=${CERT_DIR}/live/${DOMAIN}/privkey.pem
sudo docker run -d --name gost \
-v ${CERT_DIR}:${CERT_DIR}:ro \
--net=host ginuerzh/gost \
-L "http2://${USER}:${PASS}@${BIND_IP}:${PORT}?cert=${CERT}&key=${KEY}&probe_resist=code:404&knock=www.google.com"
sh start.sh
启动 gost关于 gost 的参数, 你可以参看其文档:Gost Wiki,上面我设置一个参数
probe_resist=code:404
意思是,如果服务器被探测,或是用浏览器来访问,返回404错误,也可以返回一个网页(如:probe_resist=file:/path/to/file.txt
或其它网站probe_resist=web:example.com/page.html
)
Ps: 使用 Cloudflare 的注意事项
上述的方法并不支持 Cloudflare CDN,如果你想使用了 Cloudflare CDN,你需要使用 WebSocket 协议,如下所示,你需要使用
mwss
协议。gost -L=mwss://username:password@:443?cert=/path/to/your/cert/file\&key=/path/to/your/key/file
在 CloudFlare 上,请将TLS/SSL设置为 完全
如果你的客户端只能使用 socks 协议,你还要在客户端这边转一下:
gost -L socks://:YourLocalPort -F mwss://username:password@example.com:443
然后在其他软件中设置socks5代理即可
证书自动化更新
crontab -e
编辑定时任务
0 0 1 * * /usr/bin/certbot renew --force-renewal
5 0 1 * * /usr/bin/docker restart gost
客户端设置(此处只说Chrome代理配置)
可以使用 Chrome 插件 SwitchyOmega进行代理设置。在`` SwitchyOmega 中,你需要设置一个代理服务器。
- 打开 SwitchyOmega 的设置页面,点击左边导航栏上的“New Profile”,输入一个名字,比如“代理”。
- 然后在
Protocol
中选择HTTPS
, 填上你的 Gost 的 VPS 服务器和端口号。 - 点后面的
🔒
按钮,输入 Gost 服务器的用户名和密码。