Windows服务器上安装Shadowsocks服务端
条评论前言
首先,不建议大家在服务器上使用Windows系统。不是说Windows server不好,作为服务器常年不关机来说,Windows确实是逊Linux一筹,服务器配置越烂开机时间越长体现得越明显。
本人手上有个Windows服务器,阿里云的,配置是最基础的,当初搞活动便宜3年的价格,偶尔要挂个淘宝客户端,所以用了Windows server 2008系统。远程桌面操作的时候体验挺差的,尤其是启动了千牛客户端程序后CPU狂飙,然后就被阿里云限制CPU恶性循环,所以在服务器上装个Shadowsocks服务端,另开个本地机器使用代理用千牛。
准备工作
Windows系统下装Shadowsocks服务端没有Linux那么方便,可选的版本也就只有 原版Shadowsocks,python语言 和 libQtShadowsocks版 ,他们都好久不更新了,这里介绍原版。
我们需要安装准备以下环境:
- python
- 根据自己的系统下载对应位数版本,建议是python 2.7
- 安装的时候注意勾选将其添加到环境变量,要不然一会儿还要手动将python加入系统环境变量中
- OpenSSL
- 同样根据自己的系统下载对应版本,建议下载v1.0.2 light
- 安装的时候选择将lib库文件安装到系统目录,这样就不用设置系统环境变量就能找到OpenSSL的动态库了
- 最新版本释放的lib库文件加了后缀的,外部程序去用找不到,需要自己找到文件将文件名中的数字版本去掉
- OpenSSL 需要
Visual C++ 2008 Redistributables
支持,如系统中未安装请到此下载并自行安装好相应的依赖。
以上两个依赖环境请自行安装好,没什么好说的,下载安装程序一步步安装就可以了。
需要注意的是,请下载版本的时候选择相同的位数版本,不能32位和64位程序混用。
配置系统环境变量
如果以上安装你没有勾选添加到系统环境变量,那么你需要按以下方法将其添加到系统环境变量,以便第三方程序能够自动找到相应的依赖程序。
- 在
我的电脑上右键》属性
,左边导航格可见:高级系统设置
,点进去 - 右下角可见个
环境变量
,点进去,在用户变量
或者系统变量
中添加path
都可以,建议在系统变量
中添加 - 找到
path
这个变量,双击或者点编辑
都可以,添加如:C:\Python27\;C:\Python27\Scripts;C:\OpenSSL-Win32\bin;
,和其他已有值用英文逗号区隔,请注意自己的实际路径
安装 Shadowsocks
以上环境安装准备完成后,就剩下安装Shadowsocks了,方法如下:
- 打开 cmd(Windows Server 2012 R2 系统可按
Windows 图标+X+A
打开管理员权限的命令提示符) cd C:\Python27\Scripts
进入 Python 目录- 输入
pip install shadowsocks
即可安装Shadowsocks服务端,看提示即可
修复bug
前面说了Windows下的服务端可选择的少,已有的版本也n年没人维护了,总会留下些bug无法使用。
刚才pip安装的Shadowsocks服务端启动入口程序在 cd C:\Python27\Scripts
目录下『怎么改其他目录我也不知道』,直接启动的话将提示类似这样的错误:
1 | undefined symbol: EVP_CIPHER_CTX_cleanup |
这是因为OpenSSL的函数变了,我们需要对Shadowsocks的源码进行更改,找到 python2.7/dist-packages/shadowsocks/crypto/openssl.py
这个文件,找到下面两个函数:
1 | libcrypto.EVP_CIPHER_CTX_cleanup.argtypes = (c_void_p,) |
可以使用查找替换的方法将其改成 EVP_CIPHER_CTX_reset
:
1 | libcrypto.EVP_CIPHER_CTX_reset.argtypes = (c_void_p,) |
如果你想使用新奇的加密方式,那你可能会遇到更多的错误,其实是需要安装对应的扩展支持插件。没什么屌事就老老实实用默认的加解密方法吧,你的数据并不需要多安全的保护。
启动
需要用命令启动 Shadowsocks,格式如:
1 | ssserver.exe -p 443 -k password -m aes-256-cfb |
也可以建个配置文件,然后导入配置文件的形式启动,如配置文件为 C:\Python27\Scripts\config.json
,其内容如下:
1 | { |
然后通过以下命令启动:
1 | ssserver.exe -c C:\Python27\Scripts\config.json |
记得在防火墙将用到的端口开放入站访问。为了每次启动方便,我们可以建快捷方式或者弄个批处理放桌面上,或者放进系统启动项:
1 | @ECHO OFF |
要停止Shadowsocks服务时关掉启动窗口即可。
参考文档
本文标题:Windows服务器上安装Shadowsocks服务端
文章作者:凹凸曼
发布时间:2018-05-20
最后更新:2018-05-20
原始链接:https://sobaigu.com/ssserver-in-windows.html
版权声明:转载请务必保留本文链接和注明内容来源,并自负版权等法律责任。