教程图文混排终极版链接地址如下:
http://shadowsocks.blogspot.com/2015/01/shadowsocks.html
教程配图链接地址如下:
https://plus.google.com/103234343779069345365/posts/MLy82ud6wjY
点击如下链接地址可查看更多教程:
https://plus.google.com/103234343779069345365/about
前言:在G+混了一段时间后,发现部分小伙伴的翻墙事业还没有踏上康庄大道。在这儿的应该不少都是G粉,在Google服务全线被墙的严峻形势下翻墙不利索肿么能行。于是特地花了几天时间,写了篇比较详尽的Shadowsocks翻墙教程分享给大家,涵盖了从零开始的方方面面。
-------------------------------
友情提醒 :别说你没基础、看不懂。所谓的“不会”都是 懒 的借口,而且教程不是看会的,是 动手 跟着教程一步一步做会的。如果你懒得动脑又懒得动手,那你现在已经可以点击右上方的X了。如果你已经准备好了,那么follow me,走你!( 特别提醒 :以下的每一个部分都非常重要,你少看一句话都可能影响后续步骤的进行和最终的使用效果)
-------------------------------
Shadowsocks特点 :
1.省电(在电量查看里几乎看不到它的身影)
2.支持开机自启动,且断网无影响,无需手动重连(方便网络不稳定或者3G&Wi-Fi频繁切换的小伙伴)
3.可使用自己的服务器(安全和速度的保证)
4.支持区分国内外流量(传统VPN在翻出墙外后访问国内站点会变慢)
5.可对应用设置单独代理(5.0之前的系统需要root)
我自己的感受:随机启动24小时后台运行(占内存10MB以内,基本不怎么耗电),跟人直接置身墙外使用手机的感受差不多。
-------------------------------
Shadowsocks的正常使用需要服务端(其实所有的翻墙方式都需要服务端),搭建服务端需要你拥有一个属于自己的VPS。下面是我自己精挑细选出来的三家VPS供应商(如果你坚持认为我是在给这三家VPS打广告,你就不用往下看了),这三家我都在用,感觉不错,当然你也可以选择其他家的VPS产品。
DigitalOcean:
KVM架构 512MB内存 20GB硬盘 1TB流量/月 5美元/月(折合人民币30元/月)(强力推荐,楼主自己在用)
https://www.digitalocean.com/?refcode=03e3e84b8f22(使用本链接注册账户立即到账10美元)
搬瓦工:
OpenVZ架构 512MB内存 5GB硬盘 500GB流量/月 9.99美元/年(折合人民币5元/月)(强力推荐,楼主自己在用)
https://bandwagonhost.com/aff.php?aff=1285&pid=22(温馨小提示:此款VPS的年付选项在Billing Cycle的下拉菜单里)
OpenVZ架构 128MB内存 3GB硬盘 300GB流量/月 5.99美元/年(折合人民币3元/月)
https://bandwagonhost.com/aff.php?aff=1285&pid=21
OpenVZ架构 96MB内存 2GB硬盘 200GB流量/月 4.99美元/年(折合人民币2.5元/月)
https://bandwagonhost.com/aff.php?aff=1285&pid=20
OpenVZ架构 64MB内存 1.5GB硬盘 100GB流量/月 3.99美元/年(折合人民币2元/月)(内存太小,有小伙伴反映在搭建过程中会报错, 慎用 )
https://bandwagonhost.com/aff.php?aff=1285&pid=19
注:搬瓦工域名在部分地区被墙,可能需要翻墙访问,但在上面购买的VPS不受影响。
Linode:
Xen架构 1GB内存 24GB硬盘 2TB流量/月 10美元/月(折合人民币60元/月)(只推荐给对连接速度和网络延迟有极致追求的用户,楼主自己也在用)
https://www.linode.com/?r=69edd5eafe47ed8a7e128c057f3367a90ce51135(此为楼主的推荐链接,觉得教程有用的话可以支持一下楼主,互利互惠)
Linode只能使用信用卡支付,官方会随机手工抽查,被抽查到的话需要上传信用卡正反面照片以及可能还需要身份证正反面照片,只要材料真实齐全,审核速度很快,一般一个小时之内就可以全部搞定。账户成功激活以后,就可以安心使用了。
DigitalOcean和搬瓦工两家的VPS都支持PayPal付款(DigitalOcean也可以选择在账单里绑定信用卡进行支付)
值得说明的是 无论是注册这三家VPS还是注册PayPal,尽量填写真实信息,这样一旦遇到审核会更容易通过,注册的时候遇到国家地区一定要如实选择你所在的真实地区如“China”,以防被系统判定为欺诈。
关于支付的重要补充说明(必看!) :有小伙伴反映PayPal绑定银联借记卡之后无法支付搬瓦工的VPS(DigitalOcean没问题),经过我调查之后,发现有人很顺利的就用银联卡支付成功,有人则死活不行,所以问题的具体原因不好说。但这里给出有效的 解决方案: 绑定信用卡。没有信用卡的学生党可以点击这里http://dwz.cn/wbZHy ( 此处为官方提供的短链接,网址安全,可放心使用,是一家在国内非常知名的虚拟信用卡服务商 )申请一张虚拟信用卡,注册快速,可用普通网银充值, 经楼主实测,可顺利支付搬瓦工。 而且该卡还可以绑定Google Wallet,Google Play上面的软件和硬件可随便买(提醒 :Google Wallet有一套很复杂的安全检测机制,无论你购买什么东西,如果不小心遇到订单被取消的情况,那都很正常,这是题外话了)。此外, DigitalOcean审核较为严格 ,尤其是对于选择了信用卡作为支付方式的用户,可能会要求你上传身份证明以及信用卡照片什么的,而且审核过程也需要等待, 如果你怕麻烦,我建议你直接使用PayPal支付 ,方便快捷。通过审核开始正式使用后,一般就没什么问题了,多点耐心。
-------------------------------
我简单解释一下三家差价比较大的原因和技术特点:
OpenVZ为不完全虚拟化技术,每个VPS账户共享母机内核,易受同一母机下其他VPS的影响,几乎不能单独修改内核。Xen和KVM为完全虚拟化技术,各VPS之间互相独立,基本互不影响,而且可以任意修改内核。
这三种架构对我们搭建shadowsocks服务器来讲最直观的区别就是,Xen和KVM可通过系统内核修改来优化服务器,大幅度提升shadowsocks的连接速度,尤其体现在晚高峰的时候。
我在同一时间段用100MB的文件简单的在自己的三台VPS上面测试了一下shadowsocks的连接速度:
搬瓦工(9.99美元/年)的平均下载速度在1.36-3.43Mbps之间(174-439KB/S),也就是说速度表现不是很稳定,速度快的时候也可以看下YouTube 720p,速度慢的时候YouTube 480p还是没有问题的。
DigitalOcean(5美元/月)的平均下载速度稳定维持在3.70Mbps以上(474KB/S),这个速度已经是我本地物理带宽的上限,所以VPS的速度上限未知,基本在大部分时候YouTube 1080p都可以流畅播放,任意时刻YouTube 720p都没问题。
Linode(10美元/月)的上传下载速度均达到带宽满载,官方给出的数据是“40 Gbit Network In / 125 Mbit Network Out”,由于楼主本地带宽有限,有热心小伙伴分享了他在联通LTE网络环境下的测试结果,数据显示速度可达60M以上(7.83MB/S),略恐怖,意味着任意时刻YouTube 1080p秒开,只要你的带宽够,一般来说看4K也是没有问题的。(Linode除了速度快之外,还有一个杀手锏就是提供日本节点,ping值70ms以内,有超低网络延迟需求的小伙伴可以重点考虑下)
个人建议 ,对连接速度和稳定性尤其是网络延迟有极高要求的首选Linode(只有最快,没有更快),有较高要求的推荐DigitalOcean(一分价钱一分货),对于普通用户来讲,搬瓦工就可以(性价比高)。
-------------------------------
搬瓦工各节点测试IP:
Los Angeles: 104.194.78.3
Florida: 74.121.150.3
Phoenix: 198.35.46.2(可在控制面板里切换到这个机房)
DigitalOcean各节点测试域名:
San Francisco: speedtest-sfo1.digitalocean.com
新加坡: speedtest-sgp1.digitalocean.com
New York: speedtest-ny1.digitalocean.com
Amsterdam: speedtest-ams1.digitalocean.com
英国伦敦: speedtest-lon1.digitalocean.com
Linode各节点测试域名:
Tokyo,JP: speedtest.tokyo.linode.com
Fremont,CA: speedtest.fremont.linode.com
Newark,NJ: speedtest.newark.linode.com
Atlanta,GA: speedtest.atlanta.linode.com
Dallas,TX: speedtest.dallas.linode.com
London,UK: speedtest.london.linode.com
请在CMD下自行使用“ping IP/域名 -t”命令来测试不同位置的机房与你的电脑之间的ping值以及丢包率(Ctrl+C退出测试)。
如果还是不知道该选择哪个节点的小伙伴,搬瓦工一般选用Los Angeles节点居多,DigitalOcean一般选用San Francisco节点居多(都在美国西海岸),而Linode一般选择“Tokyo,JP”(日本节点)或者“Fremont,CA”(美国西海岸),由于Linode日本节点ping值很低(70ms左右)、销售火爆,可能会一时无货,如果遇到无货,等一会再试试(我也是刷新了一会就有了)。一开始节点选择的不理想也不要紧,以后还可以方便的切换机房。
特别对比: Linode的Fremont,CA节点与DigitalOcean的San Francisco节点相比,同在美国西海岸,ping值和丢包率基本差不多,但Linode的网速明显更快。
-------------------------------
搬瓦工默认系统为Centos 6 x86,保持默认即可;DigitalOcean创建VPS的时候选择 CentOS 6.5 x64 ;Linode的详细操作说明见下方。
注册完毕后,你已经获得了你VPS的IP,SSH端口,root密码。去下面的地址下载putty,用于在你的windows系统上远程登陆你的VPS:
http://www.putty.org/
(搬瓦工需要在My Services里进入KiwiVM Control Panel点击Root password modification来获得root密码,SSH端口在邮件或者控制面板里可看到,用户名是root;
DigitalOcean则是把密码发到了你邮箱里,而且DigitalOcean在 首次登陆VPS的时候系统会提示你修改,你 再输入一次原密码 后连续输入两次新密码就OK了,DigitalOcean默认SSH端口为22,用户名是root)
Linode的详细操作说明: Linode账户在绑定信用卡激活后,就可以创建VPS了。值得说明的是,Linode的控制面板较为复杂,当然伴随而来的是功能也更强大。在“Linodes”里选择套餐,左下角选择机房位置,完成后可看到给你分配的IP以及主机名称,点击主机名称比如“linode654321”,然后点击“Deploy a Linux Distribution”,在“Distribution”里面选择“ CentOS 6.5 ”,在“Root Password”的方框里填入你的root密码,然后点击下方的“Deploy”按钮,大概1分钟左右就会创建完毕。点击“Dashboard”下的“Boot”按钮,你的VPS就开始启动了,启动完成后,就可以使用putty来操作你的VPS了,默认SSH端口为22。
下面的内容需要你有一点点linux的基本知识,用过windows下CMD的小伙伴应该能很快上手(全部命令和内容都可以复制下来通过右键直接粘贴到putty里执行)
vi编辑器基本用法扫盲( 新手必读 )
http://linux.chinaunix.net/doc/office/2005-01-24/898.shtml(基本用法)
http://linux.vbird.org/linux_basic/0310vi.php(图文详解)
-------------------------------
下面的命令,需要一行一行的执行,每输入一行命令,回车执行,如果没有报错,即为执行成功,出现确认提示的时候,输入 y 后,回车即可(每行命令可以复制后在putty里右键粘贴,回车执行)
yum install epel-release
yum update
yum install python-setuptools m2crypto supervisor
easy_install pip
pip install shadowsocks
vi /etc/shadowsocks.json
此时按 i 键进入编辑模式,putty黑框的左下角会出现 -- INSERT -- 字样,然后一次性复制下面的内容(复制之前记得修改8388和yourpassword为你自己的端口号和密码,此端口号不是你的SSH端口号,而是你在手机或电脑上的shadowsocks客户端连接VPS上搭建的服务端的端口号,范围 1 - 65535 ,只要不和现有的端口号如SSH端口冲突都可以,记下你修改的端口号和密码,待会儿在配置手机和电脑的客户端时还要用到),在putty里右键,此时复制的内容应该已经粘贴到了putty里
----------以下内容为复制内容----------
{
"server":"0.0.0.0",
"server_port":8388,
"local_port":1080,
"password":"yourpassword",
"timeout":600,
"method":"aes-256-cfb"
}
----------以上内容为复制内容----------
复制完成后,按 Esc 键退出编辑模式,此时putty黑框左下角的 -- INSERT -- 字样消失,按下 : 键,输入 wq ,此时文件保存完毕并退出了vi编辑器。
继续执行命令
vi /etc/supervisord.conf
此时你应该能看到很多英文内容,按 i 键再次进入编辑模式,putty黑框的左下角会出现 -- INSERT -- 字样,用方向键将光标调整至文件尾部的空行处,然后一次性复制下面的内容,在putty里右键,此时复制的内容应该已经粘贴到了putty里
----------以下内容为复制内容----------
[program:shadowsocks]
command=ssserver -c /etc/shadowsocks.json
autostart=true
autorestart=true
user=root
复制完成后,按下回车键给文件尾部留出空行,然后按 Esc 键退出编辑模式,此时putty黑框左下角的 -- INSERT -- 字样消失,按下 : 键,输入 wq ,此时文件保存完毕并退出了vi编辑器。
继续执行命令
vi /etc/rc.local
此时你应该能看到几行英文内容,按 i 键再次进入编辑模式,putty黑框的左下角会出现 -- INSERT -- 字样,用方向键将光标调整至文件中部的空行处,然后一次性复制下面的内容,在putty里右键,此时复制的内容应该已经粘贴到了putty里
service supervisord start
复制完成后,按 Esc 键退出编辑模式,此时putty黑框左下角的 -- INSERT -- 字样消失,按下 : 键,输入 wq ,此时文件保存完毕并退出了vi编辑器。
最后执行命令
reboot
此时,你的VPS重新启动,服务端已经完全配置完毕,putty会弹出一个连接已断开的提示框,关闭即可(不是报错)。
-------------------------------
别光顾着看教程哦,请不要吝啬你的举手之劳,为本教程 +1 、 转发(公开) ,以帮助更多的人。谢谢!
-------------------------------
至此,shadowsocks的服务端已经部署完成。剩下的就是下载客户端安装到你的手机和电脑上,记得修改客户端的相关设置保持和你的服务端参数一致哦。
Android客户端下载链接
https://play.google.com/store/apps/details?id=com.github.shadowsocks
(推荐在Google Play下载)
https://github.com/shadowsocks/shadowsocks-android/releases
电脑客户端端下载链接
http://sourceforge.net/projects/shadowsocksgui/files/dist/
iOS客户端端下载链接
https://itunes.apple.com/cn/app/shadowsocks/id665729974?mt=8
Android手机客户端配置示例(以上述服务端配置为例):
(已经root手机的小伙伴请谨慎授予root权限,以免发生未知问题)
服务器:你的VPS IP地址(非0.0.0.0)
远程端口:8388
本地端口:1080
密码:yourpassword
加密方法:AES-256-CFB
路由:绕过局域网及中国大陆地址
UDP转发:不勾选
自动连接:勾选
电脑客户端配置示例(以上述服务端配置为例):
(示例客户端版本:Shadowsocks-win-2.0.9.zip (156.6 KB),如遇无法启动的情况,请右键以管理员身份运行)
Server IP:你的VPS IP地址(非0.0.0.0)
Server Port:8388
Password:yourpassword
Encryption:aes-256-cfb
Proxy Port:1080
Remarks:随便写
注:新版的shadowsocks电脑客户端已经支持一键切换系统代理,无需浏览器插件,内置可编辑的PAC服务,并提供HTTP代理,兼容IE。当然,你也可以继续使用Chrome浏览器配合SwitchySharp代理插件使用,SwitchySharp的具体配置请点击下面三张图片的链接查看:
http://www.enjoydiy.com/wp-content/uploads/2014/05/12.png
http://www.enjoydiy.com/wp-content/uploads/2014/05/2.png
http://www.enjoydiy.com/wp-content/uploads/2014/05/11.png
-------------------------------
以上内容在搬瓦工和DigitalOcean以及Linode三家的VPS上已经全部测试通过,无误。
对于能够成功连接但觉得上网速度慢的小伙伴:
1.请先确认你自己有没有严格按照教程选择对你最快的节点;
2.请将server_port由默认的8388改为其他端口;
3.如果速度还是不满意,那么请将你的VPS更换为DigitalOcean或者Linode(你要始终相信一分价钱一分货)。
4.本地线路的问题。如果三家VPS供应商的14个节点经过测试后你发现没一个适合你的,那么你再试试其他家的VPS吧。
看到这里已经折腾成功的小伙伴请别忘记为本教程 +1 、 转发(公开),以帮助更多的人哦。谢谢!
-------------------------------
进阶答疑
(本答疑会根据大家的反馈以及shadowsocks的不断更新而不定期更新,进阶部分针对 已经具备一定基础 的非新手, 这部分内容遇到任何问题请自行Google )
1.Android 5.0的shadowsocks为什么耗电量非常高?
Android 5.0的电量统计模块把所有经过shadowsocks代理的流量所产生的耗电量都算在了shadowsocks上,因此看起来会很耗电,比如你Chrome浏览器的电量都被算到了shadowsocks头上,实际上还是很省电的。
2.以后如何升级VPS上的Shadowsocks服务端?
pip install --upgrade shadowsocks
reboot
3.我搭建过程中不小心出错,想重新来过,如何重装VPS的系统?
搬瓦工:VPS控制面板里,Install new OS
DigitalOcean:VPS控制面板里,Destroy,Rebuild
Linode:VPS控制面板里,Rebuild
4.我开始选择的节点线路不理想,如何切换机房?
搬瓦工:VPS控制面板里,Migrate to another DC(无需重新搭建Shadowsocks服务端)
DigitalOcean:新建一台你想要机房的VPS,删除原来的(需要重新搭建Shadowsocks服务端)。
Linode:新建一台你想要机房的VPS,删除原来的(需要重新搭建Shadowsocks服务端)。
5.如何配置多账户?
{
"server":"0.0.0.0",
"port_password":{
"8388":"password1",
"8389":"password2",
"8390":"password3",
"8391":"password4"
},
"timeout":300,
"method":"aes-256-cfb"
}
友情提醒:GFW目前是根据流量检测分析匹配统计学模型的方式来判断你是否在翻墙,换言之,你用什么方式翻墙并不重要,重要的是你和服务器之间的流量特征是否像是在翻墙。一旦匹配,既对你进行有罪推论,轻则限速,重则彻底封锁IP。在IPv4地址已经枯竭的今天,可用的美国IP地址会越来越少,所以不建议将自己的账号分享多人使用,以防被封。
6.为什么我的shadowsocks在刚搭建好的时候速度很快用了几天后速度就变慢了甚至网页都很难刷出来?
出现这种情况有多种可能性:
①shadowsocks长时间保持不间断连接会被GFW根据流量模型分析判断出你可能在翻墙(原理见上面的友情提醒),于是进行主动干扰,轻则限速,重则切断你和服务端的连接。解决方法:切换一下你的网络,比如从Wi-Fi切换到3G或者从3G切换到Wi-Fi或者直接断开网络连接,等待10分钟以后,一般即可恢复正常。PS:每天晚上睡觉前关闭手机的网络连接会大大减小此种情况发生的概率;而将自己的VPS分享给多人使用则可能大大增加此种情况发生的概率,请自行斟酌。(值得说明的是,VPN最容易受到此类干扰,而shadowsocks作为可自定义端口的私有协议代理已经是最不容易被干扰的翻墙方式之一了)
②机房的QoS策略。解决方法:将shadowsocks服务端的server_port改为常见端口。
③本地线路抽风,你所使用宽带运营商的国际出口出现问题。比如最近南方电信部分地区国际出口严重不稳定。解决方法:要么换家运营商,要么等等吧。
④VPS间歇性抽风。无论你选择哪家供应商的VPS,都可能遇到有时候线路抽风、VPS速度慢或者不正常。不同的是,越是价位高的VPS出现抽风情况的可能性越低,越是价位高的VPS出现抽风情况时能保证的最低连接速度越高。(出现这种情况的可能性比较低,我手头的无论是搬瓦工还是DigitalOcean以及Linode暂时未遇到线路抽风情况)
⑤搬瓦工的年付VPS为OpenVZ架构,同一母机下的VPS越多,同一时间段使用的人越多,速度就越慢。解决方法:一分价钱一分货,将VPS更换为DigitalOcean或者Linode。
⑥中国的国际出口带宽有限,晚高峰时段可能出现网络拥堵,速度多少会受影响,但这种情况起码白天的速度应该是没问题的。
⑦ 如果你在VPS上搭建了VPN并且经常使用, 尤其是OpenVPN ,请立即停止使用。VPN协议特征明显,GFW可以非常容易的检测到,从而盯上你的IP,轻则限速,重则彻底屏蔽。常见VPN协议根据易受干扰的程度从大到小依次为:OpenVPN > PPTP > L2TP > IPSec,尤其是OpenVPN,GFW已经可以实现对其定点清除(同样遭此待遇的还有SSH翻墙)。如果你想让自己VPS的IP快速报废,那么就请尽情的使用搬瓦工的控制面板搭建OpenVPN吧。( 重要提醒: 在不明所以的情况下尽量不要在自己的VPS上搭建其他杂七乱八的翻墙服务尤其是一些早已过时和落后的翻墙方式,翻墙手段宜新不宜旧,只搭一个Shadowsocks是最能保证你翻墙效果和服务器稳定的好策略)
⑧其他:偶尔的速度慢或者连不上都是正常的,但如果经常性的速度奇慢或者连不上那就不正常了。
-------------------------------
错误排查
(已经成功的小伙伴可以直接略过这部分了)
温馨提醒:在怀疑教程的 任何一个地方 之前,请先怀疑你自己。
服务端搭建成功的唯一衡量标准是在手机或者电脑客户端 正确配置后能否顺利的访问被屏蔽的网站,出现所谓的可以连接但无法上网其实还是服务端或者客户端的配置有问题,认真按照下面的步骤一步步排错吧。
遇到问题的小伙伴请先认真仔细阅读这两篇文章
http://linux.chinaunix.net/doc/office/2005-01-24/898.shtml
http://linux.vbird.org/linux_basic/0310vi.php
上面的链接为vi编辑器基本用法扫盲(新手必读)
最容易出现问题的地方,就是vi编辑器的使用,如果你在执行vi命令后没有按 i 键进入编辑模式就直接复制粘贴,会造成粘贴内容的首行被覆盖,从而导致错误;或者你在粘贴内容后,没有以正确的方式保存退出,同样会出现问题。
如果你在执行完reboot命令后,手机端无法连接, 请先确保你的手机端配置正确 ,并且网络环境良好(参照上面的Android手机客户端配置示例)。然后用putty登入你的VPS后通过以下方式逐步排查:
1.执行命令service supervisord start,执行完毕后如果没有报错,手机端也可以正常连接,那么问题出在vi /etc/rc.local这个环节,请重新检查该文件配置;如果手机端依然无法连接,请继续往下看。
2.执行命令ssserver -c /etc/shadowsocks.json,执行完毕后如果没有报错,手机端也可以正常连接,那么问题出在vi /etc/supervisord.conf这个环节,请重新检查该文件配置;如果手机端依然无法连接,请继续往下看。
3.如果依次进行完以上两步后,手机端依然无法连接,那么问题出在vi /etc/shadowsocks.json环节,请重新检查该文件配置。
4.如果以上三个文件的配置问题都解决后,执行reboot命令后,手机端依然无法连接,那么说明你在教程最开始的5行命令没有正确执行,在搬瓦工和DigitalOcean以及Linode官网的控制面板里重装VPS系统后,按照教程认认真真仔仔细细的重新来过吧。
-------------------------------
整个教程到这里就结束了,我按照自己写的内容重新搭建了一遍没有遇到问题,大家有什么问题请尽量在 原帖子 下面提问,在提问之前请先 确保 你是 严格 按照教程一步步 认真 往下执行了的。关于远程登陆VPS后linux的使用问题最好先Google一下。另外,本教程可能根据大家反馈的情况随时更新,遇到问题请点击下面的链接查看原帖
https://plus.google.com/103234343779069345365/posts/Xce4EJpLGhX
版权所有,欢迎转发。
没有评论:
发表评论