编程-学习-思考

手动实现 shadowsocks As A Service

手动实现 shadowsocks As A Service

不知道为什么,最近 shadowsocks 都遭遇封杀,而且刚刚新建的不到一天就完蛋了,因此就像什么时候用就什么时候搭建,于是 SaaS 就此诞生。

原因

在中国有好处也有坏处,第一个不太理想的地方就是网络环境不太好。这或许和人口基数有关,或者国情有关。一些国外的视频资源,学习资源,开放资源要么就是不开放访问要么就是速度很慢。诚然,国外相对来说政策比国内要宽松,因此未来国内的社会的安定和团结政府的这些措施是可以理解的。当然,带来了社会稳定,国内平稳发展的同时,也措施了很好的发展机会以及向国外学习的机会。

最倒霉的还是作为一个小小程序员,国内的发展基本上跟不上国外的节奏,无论是从发展的质量还是发展的速度、广度和深度都不及国外。因此,如果不经常去看看外面的世界,那对于自身的发展无疑带来了很大的限制,因此开放的网络环境对于我来说那是一个刚需啊。正如笑来老师所说的,刚需就是成长的根本动力。因此从一开始就没有放弃…然而,最近确变得异常的困难。

开始

就在前几天,安全使用了一年多的搬瓦工VPS搭建的 shadowsocks 服务器不能使用了,IP直接被封,这然我有点不知所措。也为自己犯了什么错,被发现了,被查水表了。了解了之后才发现,原来好多都被封了,都无法使用,这才恍然大悟难道 shadowsocks 技术也像前几年 VPN 一样,被GFW封杀了哎这就难办了。

一开始,也就是想在新建一个不就得了,反正使用的是安装脚本,几分钟就搞定。然后就在, vultr 上部署服务器,开始搭建了,成功之后心情顿时舒畅了许多。不过,还是我太年轻,就像江泽民同志所说的那样:too yang to simple too naive。还不到一天时间就被封了,于是我又开始部署了,就有了今天的 SaaS(shadowsocks-as-a-service)。

解决方案

服务器部署

Vultr注册,充值,然后就可以开始部署了。

在 左侧 导航面板选择 Products ,然后点解最右边的 按个 + 号按钮,如下图所示:

来到部署面板之后,服务器我是选择 Cloud Compute 类型,你也可以根据自己的需要选择其他的,我就选择这个了。

然后就是 服务器的 地点,我通常是选择美国的,你按照自己的喜好来选择吧!只要不是中国大陆就像,不过这好像没有大陆地区的。

服务器操作系统我选的是 ubuntu ,其他的也行,反正是脚本安装不过不要 windows。

然后就是服务器硬件大小了,选择最便宜的吧,反正这个也是按需收费的,用的时间也不长说不定不到一天就要摧毁重新部署呢,虽然只有几分钱差距。

其他的,一般默认就像了,你想要填也没关系,然后就是点击 deploy now ,等一会就部署好了。

Outline 安装

好了,部署好了之后,这一步很关键,就是测试一下这个服务器IP能不能ping成功。有的时候刚部署好分配的IP就封了,这可不是一件什么好事情,因此打开你的终端使用 ping 来看看到底通不通,以免后面的工作徒劳。

然后,确定可以 ping 通了,那么恭喜你可以进入下一步了,完成之后就有了你自己的 SaaS 了。还是打开终端,输入如下命令:

ssh root@你的IP 

然后,复制咋贴你的 root 密码,进入服务器 bash。你可以顺便升级一下软件,apt update && apt upgrade。然后终端输入如下命令:

bash -c "$(wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh)"

等待一段时间,它会安装 docker 和 outline server 在你的服务器上面,安装完成后悔显示,shadowbox 的控制链接,这个链接后面使用 Outline Manager 会使用到,直接复制就可以了,至于 提示的 API 端口和 Access Key 端口,如果你没有使用防护墙就可以不用管了。

客户端安装

Outline 本身就是Google的母公司的一个开源项目,因此其可靠性还是可以的。如果你安装 outline 服务器的时候,使用 Outline Manager 生成的链接无法使用,可以试试 Outline Client ,在所有平台都可以使用,只需要复制粘贴就可以了。如果你下载很慢,可以直接 复制 github release 页面的链接到迅雷直接下载。