前言
有些场景需要临时且换下搜索引擎,以前一直使用 githubstudent developer pack 提供的优惠在 digitalocean 上搭建 shadowsocks,不过还没到期,digitalocean 提前把优惠结束了,可能受不了来自伟大祖国的压力了吧。修改 hosts 可行但又担心安全性,于是想找个便宜的 VPS,看到有人推荐 sentris,几美元就可以用三年,褒贬不一,由于本身需求不大,仅仅用下搜索引擎而已,且又如此便宜,便尝试了下,结果完全满足需求。
正文
带有推荐的购买链接
http://www.sentris.net/billing/aff.php?aff=396&pid=815
经过我的实验,如下参数搭建 shadowsocks 没有问题,没找到可用的优惠吗,总计 5.49 美元
1 | CPUs: 1 |
在 add to cart 后的结算页面可以直接输入账户参数,点击 proceed 直接建立账户并启动付款,当然,也可以提前 sign up 一个新账户。
为了安全性,建议使用 paypal 绑定一个限额的信用卡来付款。
登录系统
付款完毕后,你会在邮箱收到带有服务器 IP 地址以及登录账户和密码的邮件,使用 ssh 客户端比如 putty 等登录服务器。
安装 shadowsocks
建议使用一键安装包,依次输入如下三条指令,然后依据提示输入 shadowsocks 的端口和密码即可。
1 | wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocksR.sh |
安装完成后,脚本会提示相关信息,记录下来:
1 | Congratulations, ShadowsocksR install completed! |
shadowsocks 的控制
脚本安装完成后,脚本 已将 ShadowsocksR 自动加入开机自启动。
使用命令:
启动:/etc/init.d/shadowsocks start
停止:/etc/init.d/shadowsocks stop
重启:/etc/init.d/shadowsocks restart
状态:/etc/init.d/shadowsocks status
配置文件路径:/etc/shadowsocks.json
日志文件路径:/var/log/shadowsocks.log
代码安装目录:/usr/local/shadowsocks
iptables 设定
看到网上有人提示流量计费不准,有可能被停止服务,所以准备开启 iptables ,相对来说安全一些。
查看当前iptables规则
1 | iptables -L |
保存设定规则
1 | iptables-save > /etc/iptables.rules |
修改保存的规则
1 | vim /etc/iptables.rules |
在最后的 #complete 提示之前添加如下代码,只开启 22,80,3306,21,你设定的ss port(本例为8888)等必要的端口。
1 | *filter |
保存上述规则后立即应用
1 | iptables-restore /etc/iptables.rules |
添加 iptables 的自启动
1 | vim /etc/network/if-pre-up.d/iptables |
添加如下代码
1 | #!/bin/bash |
赋予可执行权限,这样 iptables 开机就会应用设定的规则了。
1 | chmod +x /etc/network/if-pre-up.d/iptables |
附 shadowsocks 客户端下载链接
安装后按照上边记录的参数添加服务器,更新 PAC 规则,然后使用该服务器即可。
MAC: https://github.com/shadowsocks/shadowsocks-iOS/releases
WIN: https://github.com/shadowsocks/shadowsocks-windows/releases
实际使用效果
北方联通,搜索点东西完全没有问题,youtube 看个视频缓冲会儿也没啥问题,不像有些人说的完全不可用,不过还得看用一段时间看看稳定性如何。
使用 Kcptun 加速访问
如果觉得网速较慢,则可以尝试安装加速软件提速,只在服务器端安装的加速软件例如锐速等并不适用于基于 openvz 架构的 vps ,双侧的即服务器端客户端都需要安装软件的,可以试试 kcptun,经过我在 64M 的 VPS 测试安装之后的结果来看,看 720p 是妥妥的,出乎意料。
Kcptun 服务器端安装
到网站查看最新版本
1 | https://github.com/xtaci/kcptun/releases |
其中 darwin 是给 macOS 用的,,debian 选择 linux 版本,根据自己系统选择是 386 还是 amd64
下载并解压
1 | mkdir kcptun |
解压之后会得到两个文件,一个是服务器端用的,一个是客户端用的,接下来我们创建配置文件。
1 | vim server-config.json |
加入如下内容
1 | { |
其中 listen 是要本地服务的端口,如果你设置了 iptables ,记得把它加入规则允许该端口数据通过。
target 是要加速的本地服务的端口,这里就是 shadowsocks 的服务端口
key 是 kcptun 的服务密钥,服务器端和客户端要一致
crypt 选择了较为快速的 salsa20
其他默认即可
接下来创建三个脚本用于方便的控制服务的启停。
启动脚本
1 | vim /root/kcptun/start.sh |
内容如下
1 | #!/bin/bash |
停止脚本
1 | vim /root/kcptun/stop.sh |
内容如下
1 | #!/bin/bash |
重启脚本
1 | vim /root/kcptun/restart.sh |
内容如下
1 | #!/bin/bash |
设置为可执行
1 | chmod a+x *.sh |
设置服务开机启动,将如下代码加入 /etc/rc.local
的 exit 0
前面
1 | sh /root/kcptun/start.sh |
好了,到此为止,服务器端搞定,执行 ./start.sh
启动吧。
Kcptun 客户端安装
客户端其实刚才下载解压的文件中,以 client 开始的就是,不过我们大部分是在 Windows 或者 macOS 里安装,所以还得下载一下相应的版本
Windows 下有直接的图形化客户端可用,参见 https://git.oschina.net/ragnaroks/KcptunGUI/releases 这里重点说下 macOS 下的安装。
安装 homebrew
1 | /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
安装 wget
1 | brew install wget |
下载解压为 macOS 准备的包
1 | wget https://github.com/xtaci/kcptun/releases/download/v20161009/kcptun-darwin-amd64-20161009.tar.gz |
创建配置文件
1 | vim client-config.json |
输入如下内容
1 | { |
这里 localaddr 是本机服务端口,任选,为了好记可以选择和服务器一样的。
remoteaddr 是 kcptun 服务器端的 IP 和端口
key 和 crypt 同服务器
创建启动和关闭脚本
1 | vim ~/Program/kcptun/start.sh |
添加如下内容
1 | ./client_darwin_amd64 -c ./client-config.json > /dev/null 2>&1 & |
添加 shadowsocks 服务器
新创建一个 shadowsocks server ,然后除去端口填写本地 kcptun 的服务端口之外,其他信息诸如密码、加密方式等,都填写 shadowsock server 的。然后切换到该服务器尝试下是否成功。
提示
请遵守国家法规