本文来自已逝前辈 左耳朵耗子的上网教程教程
原文部署命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #!/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"
|
最后部署配置
1 2 3 4 5 6 7 8 9 10 11 12 13
| #!/bin/bash # start_gost USER="test" PASS="testpasswd" PORT=443 AUTH=$(echo -n ${USER}:${PASS} | base64)
BIND_IP=0.0.0.0 CERT_DIR=/etc/cert CERT=${CERT_DIR}/fullchain.pem KEY=${CERT_DIR}/private.key
nohup gost -L "http2://${BIND_IP}:${PORT}?auth=${AUTH}&cert=${CERT}&key=${KEY}&probe_resist=code:404&knock=www.google.com" > /dev/null 2>&1 &
|
关于 gost 的参数, 你可以参看其文档:Gost Wiki,上面我设置一个参数 probe_resist=code:404
意思是,如果服务器被探测,或是用浏览器来访问,返回404错误,也可以返回一个网页(如:probe_resist=file:/path/to/file.txt
或其它网站 probe_resist=web:example.com/page.html
)
其他种类部署命令
使用http2 加证书+ 防止检测
服务端
1
| gost -L 'http2://0.0.0.0:443?auth=cnVoYWk6TXIuaml2eS4wMzIz&cert=/etc/cert/fullchain.pem&key=/etc/cert/private.key&probe_resist=code:404&knock=www.google.com'
|
客户端
1
| gost -L socks5://:5182 -F 'http2://serverip:443?auth=cnVoYWk6TXIuaml2eS4wMzIz&cert=~/tmp/fullchain.pem&key=~/tmp/private.key&probe_resist=code:404&knock=www.google.com'
|
socks5部署
服务端
1
| gost -L 'socks5://username:password.@:5180'
|
客户端
将带账号密码认证的socks5 5180代理转发到本地未认证的5181 端口
1
| gost -L socks://:5181 -F 'socks5://username:password.@serverip:5180'
|
文章参考
1.科学上网
2.gost官方文档