tls, aes-128-cfb, aes-192-cfb, aes-256-cfb, des-cfb, bf-cfb, cast5-cfb, rc4-md5, rc4, table
当设置的加密方式为tls时,-key参数可手动指定公钥文件,-cert参数可手动指定私钥文件,如果未指定,则使用默认的公钥与私钥。
可通过-p参数设定验证密码(可选),若设置,则客户端必须通过-p参数设置相同的密码。
当设置的加密方式为非tls时,-key,-cert参数无效;通过-p参数设置加密密码,且不能为空.
毕竟那是别人花了钱从google买了流量,这样玩很不道德。
基于目前SS不能继续开发的糟糕局势,
必须有多种VPS的玩法才保险,所以我给各位介绍Gost over TLS tunnel的新玩法。
Gost over TLS tunnel的作者还是那个搞C9 websocket tunnel的作者,只是大家玩的少,不太熟悉,再加上作者很懒,
说明书上写的太简要,很多人都不知道怎么玩。
具体玩法如下,
用的是VPS和客户端通过TLS证书认证的方式实现,
有一点难度,需要有一定linux的基础:
OS:Centos7
命令行如下:
yum install openssl-devel
自己创建证书:
openssl req -new -x509 -days 7777 -nodes -out stunnel.pem -keyout vps.pem
openssl gendh 2048 >> vps.pem
openssl x509 -subject -dates -fingerprint -in vps.pem
然后把创建的vps.
pem证书通过ftp或ssh从VPS传回到你的电脑主机
接着在VPS上运行下面的命令
wget
https://github.com/ginuerzh/gost/releases/download/v1.8/gost_1.8_linux_amd64.tar.gz
tar -xvf gost_1.8_linux_amd64.tar.gz
cd gost_1.8_linux_amd64
把刚才创建的vps.pem证书放进gost_1.8_
linux_amd64这个目录
运行:
./gost -L=:8080 -tls -cert="vps.pem"
这样VPS端就配置好了
然后到下面的网址下载客户端程序
https://github.com/ginuerzh/gost/releases/download/v1.8/gost_1.8_windows_amd64.zip
新建一个文件夹,把解压出来的gost.exe放进去
然后新建一个批处理文件比如: gost vps.bat,把下面的内容放进去
gost -L=:8899 -S=vpsip:8080 -tls -cert="vps.pem"
然后chrome或者ff新建一个代理场景:http:
127.0.0.1: 8899, 就可以翻墙了.
---------
相关帖子:http://briteming.blogspot.com/2017/11/socks5-over-tls-https-and-http2-gost.html
--------------------
利用云IDE平台cloud9实现websocket tunnel,用来翻墙
利用云IDE平台Cloud9实现websocket tunnel
Cloud9 IDE是一个基于Node.JS构建的JavaScript程序开发Web IDE, 其官方(
https://c9.io)提供的云IDE平台,提供了完整的Ubuntu Linux Docker容器,并且用户具有sudo权限。
这次写的比较急,我获知这个方法后马上试验了一下,发现速度很快!在电脑和安卓手机都科学上网成功后,我就马上写出来了.
原理
在Cloud9的平台中建立websocket服务器,将数据通过websocket传输给客户端实现一个tunnel。
步骤
注册
工作空间
登录后,进入dashboard, 会有一个默认的demo-project, 点击START EDITING进入。
进入到工作空间后,默认会有一个命令行窗口在下方
部署服务器
以下命令均在工作空间中的终端中操作
- wget https://bintray.com/artifact/download/ginuerzh/gost/gost_1.3_linux_amd64.tar.gz
-
- tar zxf gost_1.3_linux_amd64.tar.gz
-
- cd gost_1.3_linux_amd64/
-
- ./gost -m=aes-256-cfb -p=123 -ws (注意 ./gost前面的 '.') (注:执行完这一步后,命令行是没有任何输出的,此属正常)123是密码
这个时候websocket服务器就已经跑起来了
在浏览器中输入projectname-username.c9.io测试一下,会显示Bad Request,终端中也会显示websocket: version != 13,这个时候就表明websocket已经可用
这里的projectname为工程名,在这里就是demo-project;username是注册时填写的username,这里是gostwebsocket,完整的websocket地址为: demo-project-gostwebsocket.c9.io,你只要把这句里的gostwebsocket替换成你的username,也就是用户名就好了。
比如我的username(用户名)是doubi,那就是demo-project-doubi.c9.io
注:c9.io的服务不是永久在线,当页面关闭后会持续在线两天,之后需要重新打开页面,如果gost没有运行,需再次运行。
客户端连接
解压后运行 (windows 去掉前面的’./’):
- ./gost -L :8899 -S demo-project-用户名.c9.io -m=aes-256-cfb -p=123 -ws (请替换-S参数为你自己的地址)123是密码
windows命令行:
Windows脚本:
小白版的使用方法:
首先按上面的步骤运行服务端,然后运行程序,点启动,然后等1秒再点启动代理,然后就好了,如果不想用了就右键托盘图标取消启动系统代理!
注意:无论哪种方法来连接,都是全局代理,而我写的这个小白版也只是便于系统代理的设定,不用每次启动关闭都要手动设置代理!
使用方法:
将脚本文件gost.bat放到解压后的gost目录( gost_1.3_windows_386或gost_1.3_windows_amd64)下,修改脚本文件中的命令参数(将参数中的XXX替换为你的用户名),直接执行。
如果处在http代理环境中(代理要支持websocket),可增加上层代理(-P参数):
- ./gost -L :8899 -S demo-project-用户名.c9.io -P your_proxy_ip:port -ws
gost命令具体参数说明:
- ./gost -h
最后设置好浏览器代理(http或socks5均可)就可访问了, 代理的服务器: localhost, 端口8899 (-L参数设置)。
Tip: 访问http://whatismyip.com/查询IP (可以看到cloud9使用的是google的云服务,相当于我们直接连接到了google的网络了):
Android设置
gost支持作为shadowsocks服务器运行(ss参数),这样就可以让android手机通过shadowsocks(影梭)使用代理了。
相关参数:
-ss 开启shadowsocks模式
-sm 设置shadowsocks加密方式(默认为rc4-md5)
-sp 设置shadowsocks加密密码(默认为ginuerzh@gmail.com)
当无-ss参数时,-sm, -sp参数无效。
以上三个参数对服务端无效。
相关命令:
服务端:
无需特殊设置
shadowsocks模式只与客户端有关,与服务端无关。
- ./gost -L :8899 -S demo-project-你的用户名.c9.io -ws -sm=rc4-md5 -sp=ginuerzh@gmail.com -ss
Win系统不需要“./”
加密方式默认为rc4-md5 (sm参数设置),密码默认为ginuerzh@gmail.com(sp参数设置)
在手机的shadowsocks软件中设置好服务器(运行gost电脑的IP),端口(8899),加密方法和密码就可以使用了。
Tip: 注:shadowsocks模式与正常模式是不兼容的,当作为shadowsocks模式使用时(有-ss参数),浏览器不能使用。
加密方式说明
websocket加密功能需要客户端和服务端gost版本都为1.2版及以上。
目前支持的加密方法
tls, aes-128-cfb, aes-192-cfb, aes-256-cfb, des-cfb, bf-cfb, cast5-cfb, rc4-md5, rc4, table
Client端设置
Client端通过-m参数设置加密方式,默认为不加密(-m参数为空)。
如果设置的加密方式不被支持,则默认为不加密。
当设置的加密方式为tls时,-p参数无效。
当设置的加密方式为非tls时,通过-p参数设置加密密码,且不能为空,默认密码为ginuerzh@gmail.com;-p参数必须与Server端的-p参数相同。
Server端设置
Server端通过-m参数设置加密方式,默认为不加密(-m参数为空)。
如果设置的加密方式不被支持,默认为不处理 (此情形被视为错误,须用户自行改正)。
如果没有设置加密方式(-m参数为空),则由client端控制加密方式,即client端可通过-m参数指定Server端使用哪种加密方式。
如果设置了加密方式(-m参数不为空),client端必须使用与Server端相同的加密方式。
当设置的加密方式为tls时,-p参数无效;-key参数可手动指定公钥文件,-cert参数可手动指定私钥文件,如果未指定,则使用默认的公钥与私钥。
当设置的加密方式为非tls时,-key,-cert参数无效;通过-p参数设置加密密码,且不能为空,默认密码为ginuerzh@gmail.com。
转载自:https://docs.google.com/document/d/1Wxwl4HrvIpie9xIRRMzasdW_HAuthBFjqL_hQCKBIfE/edit
----------------------
gost v2.5使用方法(我测试成功,非常简单省事)
下载地址:
1. 服务端:https://github.com/ginuerzh/gost/releases/download/v2.5/gost_2.5_linux_amd64.tar.gz
2. 客户端: https://github.com/ginuerzh/gost/releases/download/v2.5/gost_2.5_darwin_amd64.zip
服务端:
./gost -L=http+tls://0.0.0.0:444
不过 服务端命令是运行在前台的,容易退出。我们可以利用systemd来把该命令运行为service:
nano /etc/systemd/system/gost-http-tls.service
其内容为:
[Unit]
After=network.target
[Service]
ExecStart=/root/gost_2.5_linux_amd64/gost -L=http+tls://0.0.0.0:444
Restart=always
[Install]
WantedBy=multi-user.target
然后运行:
systemctl start gost-http-tls
systemctl enable gost-http-tls
客户端:
./gost -L=:8080 -F=http+tls://VPSIP:444
然后设置浏览器的http proxy server为127.0.0.1:8080 ,浏览器即可翻墙。
(
gost的逻辑略微有点绕,服务器端和客户端其实是同一个程序,发给gost的请求他转发出去,那他就是客户端,自己处理就是服务器端,大概就是这么个意思,从这个角度理解官方的配置说明就比较容易懂了.step1:https://github.com/ginuerzh/gost/releases 根据你的服务器和客户端系统选择对应版本.gost需为2.0版本。step2:假设服务器端是linux,解包,执行 gost -L=socks+tls://:20000,即在20000端口开启了监听,有其他配置需求的参考官方,如果像后台运行 加 &,开机执行用nohupstep3:假设客户端是windows,bat文件的内容如下gost -L=:8899 -F=socks+tls://106.185.42.113:20000 将firefox/chrome的代理端口指向8899即可,socks5,内置了tls,无需指定,确保窗口一直开着,不想用了关掉窗口即可.测试了一下速度,感觉不比ss慢.)
----------------------------------------
本教程仅适用于centos7和ubuntu16这样有systemd的系统。低版本系统请勿尝试。
wget "https://github.com/ginuerzh/gost/releases/download/v2.5-rc2/gost_2.5-rc2_linux_amd64.tar.gz"
tar -zxvf gost_2.5-rc2_linux_amd64.tar.gz
mv gost_2.5-rc2_linux_amd64/gost /usr/bin/gost
chmod +x /usr/bin/gost
cat>/lib/systemd/system/gost.service</etc/gost.json<
---------------
Docker版gost的简单说明
Gost go语言实现的安全隧道
项目地址:ginuerzh/gost
可同时监听多端口
可设置转发代理,支持多级转发(代理链)
支持标准HTTP/HTTPS/SOCKS5代理协议
SOCKS5代理支持TLS协商加密
Tunnel UDP over TCP
支持Shadowsocks协议 (OTA: 2.2+,UDP: 2.4+)
支持本地/远程端口转发 (2.1+)
支持HTTP 2.0 (2.2+)
实验性支持QUIC (2.3+)
支持KCP协议 (2.3+)
透明代理 (2.3+)
Docker版本gost
Based on debian:oldstable-slim, https://hub.docker.com/r/mixool/gost/
Based on alpine, https://hub.docker.com/r/mixool/alpine-gost/
Arukas部署:
8080-TCP|CMD -L=:8080
client: chrome+switchyomega HTTPS Endpoint:443
gost client: -L=:8080 -F=socks5://s_ip:s_port
8088-UDP|CMD -L=http2+kcp://:8088
gost client: -L=:8080 -F=http2+kcp://s_ip:s_port
8080-TCP,8088-UDP,8338-tcp|CMD
-L=:8080 -L=http2+kcp://:8088 -L=ss://aes-128-cfb:password@:8338
client: shadowsocks client
gost client: -L=:8080 -F=?
Arukas于2017-7-31结束免费试用,可以尝试部署到Bluemix、Hyber.sh等其他平台。
Daocloud部署中转:
查找Dockerhub镜像mixool/gost,部署并设置端口443 TCP TCP 外部访问,高级设置中添加启动命令
https中转,替换https://xxxx.arukascloud.io为Endpoint: -L=:443 -F=https://xxxx.arukascloud.io:443
ss中转: -L=:443 -F=ss://aes-128-cfb:123456@ip:port
Tips:
部署Daocloud中转后swichyomega也可设置代理类型为http或socks4,手机可使用此http代理。
KCP加速需要使用gost的客户端。
Arukas的Https代理地址Endpoint是固定的,Daoapp的地址和端口是固定的,均可以一次部署,长期使用(Daoapp默认的24小时关闭可用API自动重启,参考这篇文章:
http://cioic.cc/2017/Daocloud-Api%E9%87%8D%E5%90%AF%E5%BA%94%E7%94%A8.html,
可以在CMD命令中添加更多的-L监听多端口搭建不同类型代理,搭建Https+SS服务-L=:443 -L=ss://chacha20:123456@8338
https://github.com/mixool/gost
https://github.com/mixool/alpine-gost ---------------------------------------------
https://github.com/KANIKIG/Multi-EasyGost
https://github.com/BlueSkyXN/EasyGost
https://github.com/xxhjkl/EasyGost