使用亚马逊AWS搭建免费的Shadowsocks服务器
作为研究学术和技术的,必须得使用Google,但是国家为了阻止天朝喷子为害天下,就架起了一道长城困住他们。作为被误伤的我们,想要走出长城,就得自己搭建梯子爬出去。购买VPN是非常危险的,很容易就被误伤,所以最好的方法是购买小众VPS搭建自己的海外服务器,防止被误伤。作为第一次捣鼓这些的人,我是十分不建议上来就花个几十美金购买VPS的,最好的方案是找一个免费的服务器来练练手,那么,亚马逊就站出来了,他家的Amazon Web Services,在一定条件下能免费使用一年。
当然,你必须有一张信用卡,没有的话,真是无能为力。
一、注册AWS
首先,到http://aws.amazon.com/cn/注册,如果你以前有亚马逊账号,直接登录就好。一路下来资料照填,用中文即可。需要注意的是,注册过程需要绑定信用卡,说好是免费的,怎么还要绑定信用卡扣费呢?所谓免费,就是在你没有用超的情况下(作为Shadowsocks服务器,唯一能超限使用的就是网络流量,每月15G流量)。绑定信用卡应该会扣两笔钱,都是1美元,一笔是预授权,一笔应该是押金,1年后会返还,如果超限使用,顺便用着1美金抵扣。
注册完会需要输入你的手机号,AWS会拨通你的手机号,让你输入一个数字完成注册,我第一次没接到电话,重试了一遍就好了。
二、创建AWS实例
用刚才注册好的账号登录AWS控制台,点击EC2(云中的虚拟服务器)
定制服务器类型
点击启动实例
勾选仅免费套餐,我选择了Amazon Linux AMI,我对Linux没什么研究(有什么说错的地方请斧正),就选了这个,你可以选择Ubuntu什么的,但接下来的教程都是按照Amazon Linux AMI为蓝本介绍的。
定制实例类型总共有7个项目,一个一个来,实例类型选择t2 micro,
然后下一步,接下来的都不用修改,直接下一步,到第五步标签和实例,这个可以按图这样设置,
配置安全组的时候,建议先允许所有流量,开放所有端口,这个可以稍后再修改,你可以自己配置适合自己的防火墙设置。
最后确定开始审核。这时候会提示生成密钥对,这个很重要,一定要保存好,没有这个密钥对是无法远程登录管理你的服务器的,所以一定要保存好。
连接到服务器
定制完成后等几分钟,一般是在给你的服务器进行开发,等初始化完成后,就可以进行远程连接了,右键你的实例,点击连接。会弹出连接提示,如果你使用的是Windows,可以查看使用 PuTTY 从 Windows 连接到 Linux 实例,如果你是Linux或者Mac OS,可以直接通过SSH连接到你的服务器,具体可以查看亚马逊给出的文档使用 SSH 连接到 Linux 实例。
记住下图中所示位置这个公有IP,它是你的Shadowssocks的服务器IP。
主要说说使用Mac OS系统通过SSH连接到服务器
首先,打开终端,使用chmod命令确保私有密钥不是公开可见的:
/Users/Celery/.ssh/celerysoft.pem 是刚才下载的密钥对.pem文件的路径。
然后,通过ssh命令连接到服务器
ec2-user 是用户名,Amazon Linux AMI默认的是ec2-user,
ec2-11-111-11-111.ap-northeast-1.compute.amazonaws.com 是你的服务器的公有DNS,这些信息右键点击你的实例,点击连接,弹出的提示框里都写着。
登录成功后,你能看到如下响应信息:
输入yes,然后按回车。
遇到任何问题,都可以查阅亚马逊的帮助文档。
三、在服务器安装及配置Shadowsocks
任何关于配置和安装Shadowsocks的说明,可以查阅Shadowsocks的项目Wiki。
安装Shadowsocks
以此输入以下命令来安装Shadowsocks
仔细看看有没有错误,如无错误即可继续
配置Shadowsocks
在终端输入
查看Shadowsocks的帮助,适合进阶玩家。
如果提示没有ssserver这个命令,可以通过
查看Shadowsocks的路径,一般是在/usr/local/bin目录下,我们只需要把/usr/local/bin加入到/etc/profile文件中即可。
接下来创建shadowsocks目录,用于存放配置文件
创建其配置文件
配置文件的内容如下
配置文件说明 | |
---|---|
server | 服务端监听地址(IPv4或IPv6) |
server_port | 服务端端口,一般为443 |
local_address | 本地监听地址,缺省为127.0.0.1 |
local_port | 本地监听端口,一般为1080 |
password | 用以加密的密匙 |
timeout | 超时时间(秒) |
method | 加密方法,默认为aes-256-cfb,更多请查阅Encryption |
fast_open | 是否启用TCP-Fast-Open,true或者false |
workers | worker数量,如果不理解含义请不要改(这个只在Unix和Linux下有用) |
启动Shadowsocks服务器
依次输入以下命令来启动Shadowsocks
如果想停止Shadowsocks服务,可以这样停止
如果更改了Shadowsocks的配置文件,可以通过restart命令来重启Shadowsocks服务
设置Shadowsocks开机启动
服务器运行久了,偶尔需要重启一下,重启时每次都要手动启动hadowsocks的话就太麻烦了,可以将其加到开机启动项。
将带有ssserver内容的行删除,最后加入
然后保存退出,这样,服务器上的操作就算完成了,接下来改对本地计算机进行操作了。
四、本地连接至Shadowsocks服务器
当然你也可以到GitHub下载最新的客户端:
Windows客户端下载地址
macOS客户端下载地址
Linux客户端下载地址
安装之后,添加服务器,地址为AWS的外网地址,登录AWS控制台,查看正在运行中的实例,找到公有ip。 端口号为刚才配置Shadowsocks服务器时的端口号,密码也是刚才配置的,设置完之后保存。 由于Shadowsocks-GUI For Mac OS已经集成了系统Pac,所以无需任何额外设置,即可畅游互联网啦。
更详细的使用方法,请查看Shadowsocks-GUI For Mac OS使用指南。
关于Windows下使用Shadowsocks的方法,还请自行搜索,想必也不复杂。
五、取消AWS服务防止到期后正确扣费的正确姿势
一言以蔽之,把你账户下所有AWS实例关闭并销毁。 如果你因为忘记销毁实例而导致一年之后额外扣费,也可以找客服反应你已经很久没有使用AWS服务了,只是忘记关闭了,客服核实之后会把费用返还你的。