AWS EC2搭建shadowsocks教程
科学上网提示
- 首先要说的是这应该是目前性价比最高的科学上网的方式,AWS免费一年,到期后,再去买VPS来搭建shadowsocks,也是一个道理,关键是比购买vpn或shadowsocks账户划算的多
- 这篇教程中的步骤是有一定时效性的,有些步骤可能随着AWS升级,相关软件升级等等会变得不太一样,这时候需要灵活应变;
- 这是一篇非常啰嗦的教程,特别是申请AWS的步骤,写这么细主要是想把整个过程还原出来
- 如果因为哪些步骤被卡住无法进行下去,均可在留言中说明,我会尽可能解答并更新到文中
服务端配置
申请AWS
- 打开 AWS官网
- 输入邮箱,选择新用户,点击
登录
- 填写注册信息,点击
创建账户
- 填写信用卡信息,点击
继续
- 填写手机号码,点击
立即呼叫我
几十秒后就会有一个电话打来,等电话里的妹子说完话,输入PIN码
输完后,妹子又说几句话就挂了电话,这时身份验证已经完成,点击继续
选择支持方案
- 选择方案,默认选基本,点击
继续
- 这时账户创建成功,点击
启动管理控制台
新建EC2
- 进入AWS主页,选择第一个:EC2
- 进入EC2控制台,选择右上角
弗吉尼亚北部
,弹出下拉菜单,推荐选择亚太地区(东京)
EC2控制台刷新后,点击 启动实例
- 选择 符合条件的免费套ubuntu
- 默认的选择第一个即可, 点击 审核和启动
- 点击 启动,
- 创建新密钥对,输入名称,点击下载密钥对(一个*.pem文件),保存到电脑上,点击 启动实例
- 这样就创建好一个在东京的服务器节点,点击查看实例
这个时候AWS开始初始化的你的服务器节点,大概需要一两分钟
连接远程服务器
- 如果是windows,参考官方教程使用putty连接远程服务器
- 如果是mac,
首先,找到刚刚保存的*.pem
文件,比如文件名叫amazon.pem
,确认文件路径,
打开终端,进到amazon.pem
文件所在目录,
执行chmod 400 amazon.pem
修改文件权限
执行ssh -i amazon.pem ubuntu@你的服务器节点ip
即可连接上远程服务器
安装shadowsocks依赖
sudo -s
// 获取超级管理员权限apt-get update
// 更新apt-getapt-get install python-pip
// 安装python包管理工具pippip install shadowsocks
// 安装shadowsocksssserver -c /etc/shadowsocks.json -d start
// 启动shadowsocks
配置shadowsocks
vi /etc/shadowsocks.json
(ps. 可能有人不会用vi,这里简单说下,vi打开文件后,按i
即可进入编辑状态,编辑完后,按esc
退出编辑状态,按:
进入命令状态,输入wq
即可保存并退出,还不懂的话自行百度vi
吧)
- 单一端口配置:
{
"server":"0.0.0.0",
"server_port":端口,
"local_address":"127.0.0.1",
"local_port":1080,
"password":"连接密码",
"timeout":300,
"method":"aes-256-cfb",
"fast_open":false
}
- 多端口配置:
{
"server":"0.0.0.0",
"port_password": {
"端口1": "连接密码1",
"端口2" : "连接密码2"
},
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false
}
开启AWS入站端口
配置好shaodowsocks后,还需要将配置中的端口打开,这样客户端的服务才能链接得上EC2中的shadowsocks服务
首先打开正在运行的实例,向右滚动表格,
看到最后一项,安全组,点击进入
点击操作,编辑入站规则
默认是开启了一个22端口(这是给ssh访问的),再建一个如下图红框标示的端口,我的shadowsocks配置的端口是8388,所以这里就开启8388,
订单监控
- AWS提供的服务是每个月15G流量,目前我不知道有什么方法可以监控每个月流量使用的情况,但是可以通过设置订单监控来提醒我是否有超过免费使用的额度,即每当我的账号费用超过$0,那amazon就会发邮件提醒我
- 点击右上角的用户名 -> 我的账户,然后点击左边首选项即可打开以下页面
勾选接收账单报警
,点击保存首选项
- 点击左上方
服务
,点击账单
- 点击
设置第一个账单警报
- 点击
创建账单警报
- 第一个项填写0即可,第二项填写你能接收到邮件的邮箱地址,点击
创建警报
- 这时会弹出这个页面,这个时候登录邮箱,打开Amazon发来的邮件(有可能在垃圾邮件里),点击邮件里的链接确认即可
- 登录邮箱确认后,会变成这样,点击
查看报警
,
这样就完成了订单监控
至此,服务端的要做的事情就全部完成了。
客户端配置
- 其实这里已经开始离题了,但是为了给第一次用的童鞋最直接的方便,还是啰嗦一下,已经能科学的上网的童鞋不用看了
下载客户端
进入shadowsocks客户端下载页
可以在这里选择对应平台的客户端
一般来说
mac 选择 [](https://github.com/shadowsocks/shadowsocks-iOS/releases)
windows 选择[](https://github.com/shadowsocks/shadowsocks-windows/releases)
ios 直接去AppStore里搜 shadowsocks
android 去google play下???23333333
算了,还是给个网盘吧,包括mac和windows的客户端都在里面了
链接: http://pan.baidu.com/s/1hqgwO5I 密码: m5yb
配置
这里以mac为例,无论哪个平台要填的东西就这三个东西
- 地址:服务器实例的外网ip
- 密码:shadowsocks配置的密码
- 加密:aes-256-cfb
点击确定保存配置后,点击 打开Shadowsocks
即可。
默认是选择 自动代理模式 ,这个模式下,GWF白名单的站点不会通过代理访问,
如果出现一些访问不了的情况,那就改成 全局模式
当然也可以通过chrome插件Proxy SwitchyOmega实现chrome浏览器的局部代理,
配置也非常简单,如下图
这个端口是客户端服务的端口,保持1080即可,不用改,
要说明的一点是当客户端的客户端打开后,本地的服务就跑起来了,这个时候,客户端的状态是关闭的情况下,chrome才能实现局部代理,因为客户端选项中的开启和关闭只是代理的开启和关闭,chrome实现局部代理相当是把代理的开关交给SwitchyOmega完成。