Shadowsocks服务端&客户端的部署

太长时间没有写博客了,最近折腾一些七七八八的东西,自己本身也不太擅长总结,很多技术也还没有到“可以为师”的地步,写出来质量也不会太高,所以就不献丑了。昨天刚好因为公司机器上的goagent不能用了,就打算自己部署一个Shadowsocks来用,服务器是128M的centos,足足折腾了一晚上,中间出了各种问题,这里稍微记录下,给遇到同样问题的朋友做个参考。另外说明下,我在公司的虚拟机上按照官方文档,很顺利的部署成功,所以下面的问题不是每个人都会遇到的,建议先按照官方文档部署shadowsocks。

一、安装失败,先升级Python

按照文档来部署,步骤只有三部:

yum install python-setuptoolseasy_install pippip install shadowsocks

但是我失败在了第二步,错误如下:

[root@keenwon ~]# easy_install pipSearching for pipBest match: pip 1.5.6Processing pip-1.5.6-py2.4.eggpip 1.5.6 is already the active version in easy-install.pthInstalling pip script to /usr/binInstalling pip2 script to /usr/binInstalling pip2.4 script to /usr/binUsing /usr/lib/python2.4/site-packages/pip-1.5.6-py2.4.eggProcessing dependencies for pip

执行第三步也是报错(前端是个苦差事,抽空好好学学Linux):

[root@keenwon ~]# pip install shadowsocksTraceback (most recent call last):  File "/usr/bin/pip", line 7, in ?    sys.exit(  File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 236, in load_entry_point    return get_distribution(dist).load_entry_point(group, name)  File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 2097, in load_entry_point    return ep.load()  File "/usr/lib/python2.4/site-packages/pkg_resources.py", line 1830, in load    entry = __import__(self.module_name, globals(),globals(), ['__name__'])  File "/usr/lib/python2.4/site-packages/pip-1.5.6-py2.4.egg/pip/__init__.py", line 9, in ?    from pip.log import logger  File "/usr/lib/python2.4/site-packages/pip-1.5.6-py2.4.egg/pip/log.py", line 19    real_consumer = (consumer if not isinstance(consumer, colorama.AnsiToWin32)                               ^SyntaxError: invalid syntax

在网上寻寻觅觅找到个解决办法:升级Python,现在的版本是2.4,计划升级到2.7。升级方法就不说了,不是搞python的,而且网上一搜很多,唯一要注意的修改下yum的配置,yum要使用老版本的python才行。

升级后,继续执行esay_install pip ,再次悲剧的报错:

Traceback (most recent call last):     File "/usr/bin/easy_install", line 5, in <module>     from pkg_resources import load_entry_point     ImportError: No module named pkg_resources

继续寻寻觅觅,发现需要“Install the distribute package”,方法如下:

wget https://svn.apache.org/repos/asf/oodt/tools/oodtsite.publisher/trunk/distribute_setup.pypython distribute_setup.py

然后继续执行esay_install pippip install shadowsocks ,安装成功(不容易啊)。

二、服务端配置和客户端使用

安装成功后,要新增一个配置文件,具体的可以看官方文档。例外它可以配置多个端口,多个密码给不通的人用,大概配置如下:

{    "server":"<你服务器ip>",    "port_password": {        "<端口号>": "<密码>",        "<端口号>": "<密码>",        "<端口号>": "<密码>"    },    "local_port":1080,    "timeout":300,    "method":"aes-256-cfb",    "fast_open": false,    "workers": 1}

然后安装相应的客户端,在windows上,我是使用的是shadowsocks-csharp。直接下载就可以使用:

另外关于chrome的插件Proxy SwitchySharp,因为shadowsocks-csharp会修改IE的代理,所以浏览器默认就是使用IE的代理的,所以就没有必要使用Proxy SwitchySharp了,如果还要继续使用,可以设置到127.0.0.1:1080端口(我图上是1081)。

三,结论

1、shadowsocks性能还是很好的,而且资源占用的比较少,我128M的小VPS还能支撑的起来,后期打算迁移到DigitalOcean,关于vps的看这篇文章。

2、shadowsocks目前没有流量统计等功能,而且貌似作者也不打算加。

-完-

Shadowsocks服务端&客户端的部署

相关文章:

你感兴趣的文章:

标签云: