翻墙入口,Telegram上最大的免费科学上网解决方案提供者,
致力于维护互联网世界普世自由价值、建立翻墙行业新秩序。

『失效』利用云IDE平台Cloud9实现科学上网

利用云IDE平台Cloud9实现websocket tunnel

Cloud9 IDE是一个基于Node.JS构建的JavaScript程序开发Web IDE, 其官方(https://c9.io)提供的云IDE平台,提供了完整的Ubuntu Linux Docker容器,并且用户具有sudo权限。

在2013年,增加了对websocket的支持,详见官方blog: https://c9.io/site/blog/2013/05/native-websockets-support/

这次写的比较急,我获知这个方法后马上试验了一下,发现速度很快!在电脑和安卓手机都科学上网成功后,我就马上写出来了。更详细的教程我会慢慢补充!

因为Cloud9限制变得非常多,做SS价值不大了,建议新手小白别搞了。

『失效』利用云IDE平台Cloud9实现科学上网


原理

在Cloud9的平台中建立websocket服务器,将数据通过websocket传输给客户端实现一个tunnel。

步骤

注册

进入https://c9.io

(被墙)注册帐号,需要邮箱激活认证。

工作空间

登录后,进入dashboard, 会有一个默认的demo-project, 点击START EDITING进入。

『失效』利用云IDE平台Cloud9实现科学上网

进入到工作空间后,默认会有一个命令行窗口在下方

『失效』利用云IDE平台Cloud9实现科学上网

部署服务器

以下命令均在工作空间中的终端中操作

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是密码 

『失效』利用云IDE平台Cloud9实现科学上网

这个时候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没有运行,需再次运行。

客户端连接

https://bintray.com/ginuerzh/gost/gost/view上下载对应平台的版本压缩包(mac下装gost_1.1_darwin_amd64.zip

解压后运行 (windows 去掉前面的’./’):

./gost -L :8899 -S demo-project-用户名.c9.io -m=aes-256-cfb -p=123 -ws (请替换-S参数为你自己的地址)123是密码

windows命令行:

『失效』利用云IDE平台Cloud9实现科学上网

Windows脚本:

gost.bat 脚本模板文件下载: https://drive.google.com/file/d/0B9u61oZtw_qbdjBSdnBES25IR1E

百度网盘(如果看不懂就吧小白版和gost都下载下来)密码是群号码:365936604

小白版的使用方法:

首先按上面的步骤运行服务端,然后运行程序,点启动,然后等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加密密码(默认为[email protected])

当无-ss参数时,-sm, -sp参数无效。

以上三个参数对服务端无效。

相关命令:

服务端:

无需特殊设置

shadowsocks模式只与客户端有关,与服务端无关。

./gost -L :8899 -S demo-project-你的用户名.c9.io -ws -sm=rc4-md5 [email protected] -ss 

Win系统不需要“./”

加密方式默认为rc4-md5 (sm参数设置),密码默认为[email protected](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参数设置加密密码,且不能为空,默认密码为[email protected];-p参数必须与Server端的-p参数相同。

Server端设置

Server端通过-m参数设置加密方式,默认为不加密(-m参数为空)。

如果设置的加密方式不被支持,默认为不处理 (此情形被视为错误,须用户自行改正)。

如果没有设置加密方式(-m参数为空),则由client端控制加密方式,即client端可通过-m参数指定Server端使用哪种加密方式。

如果设置了加密方式(-m参数不为空),client端必须使用与Server端相同的加密方式。

当设置的加密方式为tls时,-p参数无效;-key参数可手动指定公钥文件,-cert参数可手动指定私钥文件,如果未指定,则使用默认的公钥与私钥。
当设置的加密方式为非tls时,-key,-cert参数无效;通过-p参数设置加密密码,且不能为空,默认密码为[email protected]

转载自:https://docs.google.com/document/d/1Wxwl4HrvIpie9xIRRMzasdW_HAuthBFjqL_hQCKBIfE/edit#

赞(0)
未经允许不得转载:翻墙党 » 『失效』利用云IDE平台Cloud9实现科学上网
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址