除去广为人知、人见人爱的VPN,其实还有十八般兵器存在于科学上网(翻墙)界,其中ShadowSocks可以说是其中一把功能齐全的瑞士军刀。服务器端提供了各种版本,如Python、Nodejs、Go、C libev等等,安装配置过程极其简单。而用户端则可以在windows、mac、iOS和android上轻松运行,很好很强大。
Shadowsocks是什么?
码农对于shadowsocks应该不陌生,而一般普通网民可能知之甚少。shadowsocks实质上也是一种socks5代理服务,类似于ssh代理。与vpn的全局代理不同,shadowsocks仅针对浏览器代理,不能代理应用软件,比如youtube、twitter客户端软件。如果把vpn比喻为一把屠龙刀,那么shadowsocks就是一把瑞士军刀,轻巧方便,功能却非常强大。
喜欢上shadowsocks的理由
很多时候,我们仅仅只是需要上一下google,收个gmail邮件,或者打开某个网站瞄一眼看看有无更新。这种情况下,vpn可以做到吗,可以,但是很麻烦,连个vpn,qq也得掉一次线,有时候还连半天连不上。而通过ss的话呢,后台运行一个小程序,然后浏览器点击切换一下SS的网络,就可以了。不用的时候,再切回来。这也就是其轻巧的地方。
如何使用shadowsocks?
- 首先,当然你需要有一个shadowsocks账号,网上有热心网友免费共享出来,比如这个🙂
- 当然,你也可以自行搭建shadowsocks服务器(下面有讲解如何安装shadowsocks server)。
- windows平台
1.下载一个shadowsocks的客户端程序(百度网盘下载),不需要安装,解压就可以用。
官方下载地址:http://sourceforge.net/projects/shadowsocksgui/files/dist/
2.运行解压后文件夹中的“shadowsocks.exe”,如下图,设置好shadowsocks的账号信息,点save;
3.下载安装chrome的浏览器插件Proxy SwitchySharp(或者百度网盘下载,下载后打开chrome,输入chrome://extensions,把下载的crx文件拖进去即可安装),下载完成后启用之,可以在chrome右上方看到程序的图标…
4.此时,可以切换至shadowsocks代理模式;
5.接下来,可以在浏览器中直接打开facebook.com试试,能访问就没问题。
CentOS下shadowsocks-libev一键安装脚本
本脚本适用环境:
系统支持:CentOS 6.x 32或64位
内存要求:≥128M
日期:2014年07月12日
关于本脚本:
一键安装 libev 版的 shadowsocks 最新版本。该版本的特点是内存占用小(600k左右),低 CPU 消耗,甚至可以安装在基于 OpenWRT 的路由器上。
友情提示:如果你有问题,请先参考这篇《Shadowsocks Troubleshooting》后再问。
默认配置:
服务器端口:8989
客户端端口:1080
密码:自己设定(如不设定,默认为teddysun.com)
客户端下载:
http://sourceforge.net/projects/shadowsocksgui/files/dist/
使用方法:
使用root用户登录,运行以下命令:
wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-libev.sh chmod +x shadowsocks-libev.sh ./shadowsocks-libev.sh 2>&1 | tee shadowsocks-libev.log
安装完成后,脚本提示如下:
Congratulations, shadowsocks-libev install completed! Your Server IP:your_server_ip Your Server Port:8989 Your Password:your_password Your Local IP:127.0.0.1 Your Local Port:1080 Your Encryption Method:aes-256-cfb Welcome to visit:http://teddysun.com/357.html Enjoy it!
卸载方法:
使用 root 用户登录,运行以下命令:
./shadowsocks-libev.sh uninstall
其他事项:
客户端配置的参考链接:http://teddysun.com/339.html
安装完成后即已后台启动 shadowsocks ,运行:
ps -ef | grep ss-server | grep -v ps | grep -v grep
可以查看进程是否存在。
本脚本安装完成后,会将 shadowsocks-libev 加入开机自启动。
使用命令:
启动:/etc/init.d/shadowsocks start
停止:/etc/init.d/shadowsocks stop
重启:/etc/init.d/shadowsocks restart
查看状态:/etc/init.d/shadowsocks status
更多版本 shadowsocks 安装:
Shadowsocks Python版一键安装脚本(CentOS,Debian,Ubuntu)
Debian 下 Shadowsocks-libev 一键安装脚本
Shadowsocks-go 一键安装脚本(CentOS,Debian,Ubuntu)
特别说明:
1、已安装旧版本的 shadowsocks 需要升级的话,需下载本脚本的最新版,运行卸载命令./shadowsocks-libev.sh uninstall 后,再次执行本脚本即可安装最新版。
2、关于 CentOS 的默认 iptables 防火墙规则 icmp-host-prohibited ,如果安装之后发现已经启动 shadowsocks,本地客户端却不能连接上,请检查 iptables 是不是有如下的一条规则:
REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
运行命令:
/etc/init.d/iptables status
可以查看。如果有这条规则,则添加的 8989 端口需手动更改一下,放到这条规则的上一行。编辑 /etc/sysconfig/iptables 文件,将:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8989 -j ACCEPT
放在:
-A INPUT -j REJECT --reject-with icmp-host-prohibited
的前面。最终效果如下:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8989 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited
编辑完后,重启 iptables 防火墙。命令:/etc/init.d/iptables restart
评论