Shadowsocks (中文名称:影梭,下面简称 SS)是使用 Python 等语言开发的、基于 Apache 许可证开源的代理软件。SS 使用 socks5 代理,由于其流量特征不明显,不太容易用技术手段拦截,因此用于保护网络流量。
1. SS 特点¶
省电,在电量查看里几乎看不到它的身影;
支持开机自启动,且断网无影响,无需手动重连,方便网络不稳定或者 3G & Wi-Fi 频繁切换的小伙伴;
可使用自己的服务器,安全和速度的保证;
支持区分国内外流量,传统 VPN 在翻出墙外后访问国内站点会变慢;
可对应用设置单独代理,5.0 之后的系统无需 root。
2. SS 科学上网原理¶
Shadowsocks 客户端启动后会在本地开启一个代理,可以理解为一个数据的出入口。用户想通过 SS 访问墙外网站的请求都要经过这个本地代理。
通过 SS 科学上网的过程是这样的:
用户发起一个网络访问请求,比如用浏览器访问 google.com,请求被发送到本地代理。
客户端从本地代理拿到请求数据,然后发送至墙外的 SS 服务端。
服务端向 google.com 发起请求,然后收到 google 的响应数据,也就是 google 首页的数据。
服务端把响应数据发回客户端。
客户端再通过本地代理把响应数据交给浏览器,google 首页就显示出来了。
整个过程中的第 2 步和第 4 步都是通过 SS 自定义的协议隐蔽地进行,很难被过滤,所以我们才能一直用它顺畅地科学上网。
3. SS 服务搭建指南¶
3.1. 购买 VPS 服务器¶
SS 的正常使用需要服务器端,其实,所有的科学上网软件都是通过服务器端,而搭建服务器端,你就需要有自己的 VPS,所以第一步你就是需要购买一个自己的 VPS (或者你可以跟别人合租),现在普遍使用的搭建服务器端的 vps 有很多,在这里我们主要介绍性价比比较高的 4 种,一个是 Linode,一个是 DigitalOcean,一个是 BandwagonHOST (搬瓦工),还有就是 vultr,这是从价格,性能等方面做出的推荐,当然,一分价钱一分货,你可以根据自己的实际需求以及支付能力自由选择。
3.1.1. Linode¶
Linode 是国外非常著名的 VPS 商之一,目前在国内站长圈中备受推崇,被许多使用用户评为 “高富帅” 主机产品。Linode 目前最低的 1G 内存方案,1T 流量/月,25G 固态 SSD 硬盘仅需 5 美金一月,折合 RMB 也就在 35 元左右。截止 2018.07.01,Linode VPS 主机报价,详情参考:https://www.linode.com/pricing。
3.1.2. DigitalOcean¶
digitalocean 是一家成立于 2012 年的总部设置在纽约的云主机商家,采用 KVM 虚拟,配置高性能的 SSD 做储存。截止 2018.07.01,DigitalOcean VPS 主机报价,其中最低 1G 内存方案,1T 流量/月,25G 固态 SSD 硬盘需 5 美金一月(与 Linode 一样),详情参考:https://www.digitalocean.com/pricing/。
3.1.3. Vultr¶
Vultr 是全球最大的游戏主机提供商之一,上线之后以高质的性价比、15 个数据中心,以及新注册账户赠送 5 美金的账户使用金优惠促销,吸引广大的用户。作为 Vultr 的用户,日本、洛杉矶等数据中心速度较好,如果有需要海外其他机房也可以在其 12 个数据中心中选择到适合自己的。
截止 2018.07.01,Vultr VPS 主机报价,目前最低的 1G 内存方案,500G 流量/月,512M 硬盘仅需 2.5 美金一月,性价比相当不错,详情参考:https://www.vultr.com/pricing/。
3.1.4. BandwagonHOST¶
搬瓦工 VPS 是一款性价比较高的便宜 VPS 主机,且适合入门级网友学习 Linux 和建站用途。
截止 2018.07.01,BanwagonHOST VPS 主机报价(搬瓦工最新 10G VPS、20G VPS 虚拟主机现在都是按年服务,以前按月服务的已经找不到),详情参考:https://bwh1.net/vps-hosting.php。
以下 VPS 的购买以 2017 年按月付费的 BanwagonHOST VPS 为例。2018 最新按年服务的 BanwagonHOST VPS 购买和部署使用步骤也一样。
-
在 Product Configuration 页面,点击”Add to Cart”。在出现的 Order Summary 页面输入 Promotional Code:BWH1ZBPVK,点击 “Validate Code” 验证优惠码:
-
最后点击 “Complete Order” 完成订单,KiwiVM 会把所有买 VPS 主机的 IP、root 密码、SSH 端口信息发送到你的注册邮箱,当然你也可以登陆 BanwagonHOST (https://bwh1.net/clientarea.php)去查看。
3.2. SS 服务端搭建¶
-
SecureCRT 或 putty 或者 xshell 连接服务器。
-
环境安装与更新。搬瓦工 $4.99/mon VPS 主机默认为 centos-6 操作系统,Shadowsocks 服务端搭建我们推荐使用一键安装脚本,使用 root 用户登录,运行以下命令:
$ wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh
$ chmod +x shadowsocks-all.sh
$ ./shadowsocks-all.sh 2>&1 | tee shadowsocks-all.log
Which Shadowsocks server you'd select:
1) Shadowsocks-Python
2) ShadowsocksR
3) Shadowsocks-Go
4) Shadowsocks-libev
Please enter a number (Default Shadowsocks-Python):1 # 选择安装 Python 版 shadowsocks
You choose = Shadowsocks-Python
Please enter password for Shadowsocks-Python
(Default password: teddysun.com): xxxx # 设置密码
password = xxxx
Please enter a port for Shadowsocks-Python [1-65535]
(Default port: 8989): 18989 # 设置默认端口
port = 18989
Please select stream cipher for Shadowsocks-Python:
1) aes-256-gcm
2) aes-192-gcm
3) aes-128-gcm
4) aes-256-ctr
5) aes-192-ctr
6) aes-128-ctr
7) aes-256-cfb
8) aes-192-cfb
9) aes-128-cfb
10) camellia-128-cfb
11) camellia-192-cfb
12) camellia-256-cfb
13) xchacha20-ietf-poly1305
14) chacha20-ietf-poly1305
15) chacha20-ietf
16) chacha20
17) salsa20
18) rc4-md5
Which cipher you'd select(Default: aes-256-gcm):9 # 选择加密方式;如不设定,Python 和 libev 版默认为 aes-256-gcm,R 和 Go 版默认为 aes-256-cfb
cipher = aes-128-cfb
Press any key to start...or Press Ctrl+C to cancel
[Info] Checking the EPEL repository...
[Info] Checking the EPEL repository complete...
....
Starting Shadowsocks success
Congratulations, Shadowsocks-Python server install completed!
Your Server IP : xxx.xxx.xxx.xxx
Your Server Port : 18989
Your Password : xxxxxx
Your Encryption Method: aes-128-cfb
Your QR Code: (For Shadowsocks Windows, OSX, Android and iOS clients)
ss://xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxk=
Your QR Code has been saved as a PNG file path:
/data/shadowsocks_python_qr.png
Welcome to visit: https://teddysun.com/486.html
Enjoy it!
-
安装完成后,从脚本提示获取服务器 IP、密码、端口、加密方式、二维码等客户端登陆必须的信息。
-
SS 卸载,若已安装多个版本,则卸载时也需多次运行(每次卸载一种)。使用 root 用户登录,运行以下命令:
./shadowsocks-all.sh uninstall
- 启动脚本。启动脚本后面的参数含义,从左至右依次为:启动,停止,重启,查看状态。
# Shadowsocks-Python 版
/etc/init.d/shadowsocks-python start | stop | restart | status
# ShadowsocksR 版
/etc/init.d/shadowsocks-r start | stop | restart | status
# Shadowsocks-Go 版
/etc/init.d/shadowsocks-go start | stop | restart | status
# Shadowsocks-libev 版
/etc/init.d/shadowsocks-libev start | stop | restart | status
- 各版本默认配置文件
# Shadowsocks-Python 版
/etc/shadowsocks-python/config.json
# ShadowsocksR 版
/etc/shadowsocks-r/config.json
# Shadowsocks-Go 版
/etc/shadowsocks-go/config.json
# Shadowsocks-libev 版
/etc/shadowsocks-libev/config.json
3.3. SS 客户端使用¶
各个平台下 SS 客户端列表:
平台 | 软件名 | 链接 | |
---|---|---|---|
Windows | 影梭 | https://github.com/shadowsocks/shadowsocks-windows/releases | GitHub 官方下载 |
Android | - | https://github.com/shadowsocks/shadowsocks-android/releases | 下载 APK,安装后完成设置即可 |
iOS | OpenWingy | APP Store 搜索 OpenWingy 进行安装 | AppStore 搜索 OpenWingy,安装后完成设置即可 |
linux | shadowsocks-qt5 | deepin linux 应用商店 |
3.3.1. windows 下使用¶
SS 常规版 windowns 客户端下载地址:https://github.com/shadowsocks/shadowsocks-windows/releases。客户端下载解压后,只需要按照服务器的配置填写服务器 IP 地址、服务器端口、本地端口(如果没有本地端口选项,就是默认的 1080)、密码、加密方式等参数就可以愉快地科学上网了。
3.3.2. Linux 下使用¶
这里主要说一下 deepin linux 中 SS 的配置使用。
① 进入”深度商店”,搜索 “shadowsocks-qt5”,点击完成安装。 ② 在系统启动器中找到 SS,点击启动,设置连接。 ③ **安装完后连接代理服务器,发现 google 依然无法访问,这里需要浏览器插件支持才能访问。**以 chrome 为例,安装 SwitchyOmega 插件。安装教程:https://www.switchyomega.com/download.html。 ⑤ 设置代理服务器,点击 “应用选项” 保存设置。
5. 参考资料¶
- Shadowsocks 一键安装脚本(四合一):https://teddysun.com/486.html
- GiuHub:shadowsocks/shadowsocks-windows 客户端:https://github.com/shadowsocks/shadowsocks-windows/releases
- 从零开始:史上最详尽 Shadowsocks 搭建教程:https://www.iwwenbo.com/0-1-shadowsocks-start/
- 使用 VPS 搭建 shadowsocks 服务:http://blog.csdn.net/asliulue/article/details/54949475
- Deepin(基于 Debian 的 Linux 系统)安装 Shadowsocks:http://blog.csdn.net/wan_yanyan528/article/details/52572786
- 科学上网利器(1) – Shadowsocks vps 设置方法:https://www.1-17.cn/shadowsocks-online/