风云资源站

Windows系统架设ShadowsocksR服务端 (搬运修改)

运行环境

ShadowsocksR服务端是Python编写的,所以需要Python环境。

我现在手上没有 海外的Windows服务器,所以只是在本地自己搭建测试了一下,测试系统是 Windows 7,至于 Windows Server 服务器系统是否安装了Python我也不清楚,大家自己检查吧。

另外,ShadowsocksR服务端因为加密方式,所以需要安装OpenSSL。

安装Python

打开 Python官网-下载页面 ,找到 Python 2.7.xx – xxxx-xx-xx ,然后根据你的 Windows操作系统位数 下载对应的安装包:

  1. Download Windows x86 MSI installer(32位下载这个)
  2. Download Windows x86-64 MSI installer(64位下载这个)

下载后开始安装。

点击展开 查看更多

安装OpenSSL

打开 OpenSSL官网-下载页面,翻到网页中间,然后根据你的 Windows操作系统位数 下载对应的安装包:

  1. Win32 OpenSSL v1.x.xx Light(32位下载这个)
  2. Win64 OpenSSL v1.x.xx Light(64位下载这个)
注意是那个 3MB 左右大小的文件,30MB 左右的是开发者用的。

点击展开 查看更多

设置环境变量

Python和OpenSSL安装完后,我们就可以开始设置环境变量了。

首先点击左下角开始菜单 —— 运行 —— 输入 CMD 并回车

然后在打开的CMD窗口中输入: Python -V

以为上面的安装步骤中,我们已经选择了自动添加环境变量,所以应该是直接如下显示:

  1. C:\Users\Administrator>python V
  2. Python 2.7.13

如果显示命令不存在,那么说明环境变量设置失败,需要手动设置。

点击左下角开始菜单 — 控制面板 — 系统 — 高级系统设置 — 高级 选项卡 — 环境变量 按钮 — 系统变量 Path

如下图所示,Path变量值前面应该会有: D:\Python27\;D:\Python27\Scripts;

如果没有就自己添加,当然,这个只是 Python的环境变量,OpenSSL也需要设置环境变量。

注意:安装目录请自行替换为你的安装目录!

完整的环境变量格式: D:\Python27\;D:\Python27\Scripts;D:\OpenSSL-Win32\bin\;XXXXXXXXX

XXXXXXXXX 指的是原来系统自带的环境变量值,只要把Python和OpenSSL的环境变量值加到 系统自带的环境变量值前面就好了。

注意:每个环境变量值都需要用 分号 ; 来分割开!

设置完后一路确定,然后重新打开 CMD窗口,输入 Python -V 测试Python的环境变量是否设置。

然后输入 openssl 命令并回车,然后会发现变成这样:

  1. C:\Users\Administrator>openssl
  2. OpenSSL>

然后继续输入 help 命令并回车,就会出来一大堆的说明:

出现这个,就说明OpenSSL的环境变量设置完成。

如果设置环境变量正确,但是依然提示 openssl不是内部命令 ,那么尝试重启电脑/服务器,部分出现这种问题的人重启后得到了解决(前提是环境变量配置无误)

  1. C:\Users\Administrator>openssl
  2. OpenSSL> help
  3.  
  4. Standard commands
  5. asn1parse ca ciphers cms
  6. crl crl2pkcs7 dgst dhparam
  7. dsa dsaparam ec ecparam
  8. enc engine errstr exit
  9. gendsa genpkey genrsa help
  10. list nseq ocsp passwd
  11. pkcs12 pkcs7 pkcs8 pkey
  12. pkeyparam pkeyutl prime rand
  13. rehash req rsa rsautl
  14. s_client s_server s_time sess_id
  15. smime speed spkac srp
  16. ts verify version x509
  17.  
  18. # 后面省略…
  19. OpenSSL>

在OpenSSL安装完后,系统变量中会自动添加一个变量,如下图所示,如果你的没有,那么请自行添加。

变量名:OPENSSL_CONF

变量值:D:\OpenSSL-Win32\bin\openssl.cfg

Windows系统安装运行ShadowsocksR服务端的难点主要就是 这两个环境变量问题,所以如果操作不好,可以联系我~

安装ShadowsocksR服务端

下载ShadowsocksR服务端

下载ShadowsocksR最新服务端文件:Github项目地址Github下载地址

解压到任意目录,然后进入解压后得到的 shadowsocksr-manyuser 文件夹,复制一份 config.json 文件并改名为 user-config.json

注意:为了避免出错或不兼容,Python/OpenSSL/ShadowsocksR服务端都不要安装在 目录包含中文字符和特殊字符的文件夹中

配置文件

打开配置文件 user-config.json ,并修改为你要设置的 端口/密码/加密方式/协议/混淆 等参数。

配置文件各项参数说明:Github wiki

注意:ShadowsocksR服务端最新版本默认加密方式从 aes-256-cfb 改为 aes-128-ctr 了。
  1. {
  2. “server”: “0.0.0.0”,
  3. “server_ipv6”: “::”,
  4. “server_port”: 8388,
  5. “local_address”: “127.0.0.1”,
  6. “local_port”: 1080,
  7.  
  8. “password”: “m”,
  9. “method”: “aes-128-ctr”,
  10. “protocol”: “auth_aes128_md5”,
  11. “protocol_param”: “”,
  12. “obfs”: “tls1.2_ticket_auth_compatible”,
  13. “obfs_param”: “”,
  14. “speed_limit_per_con”: 0,
  15. “speed_limit_per_user”: 0,
  16.  
  17. “additional_ports” : {}, // only works under multi-user mode
  18. “timeout”: 120,
  19. “udp_timeout”: 60,
  20. “dns_ipv6”: false,
  21. “connect_verbose_info”: 0,
  22. “redirect”: “”,
  23. “fast_open”: true
  24. }

启动/停止ShadowsocksR服务端

启动ShadowsocksR服务端

打开CMD窗口,然后依次输入:

  1. D:
  2. # 进入D盘
  3. cd shadowsocksrmanyuser\shadowsocks
  4. # 进入ShadowsocksR子目录
  5. python server.py c D:\shadowsocksrmanyuser\userconfig.json
  6. # 运行ShadowsocksR服务端
注意:请更换 ShadowsocksR服务端目录为自己安装的目录。

不出意外的话,就会如这样显示(可能会有所差别):

  1. C:\Users\Administrator>python server.py c D:\shadowsocksrmanyuser\userconfig.json
  2. loaded collections.OrderedDict
  3. IPv6 support
  4. INFO: loading config from D:\shadowsocksrmanyuser\shadowsocks\../shadowsocks\../userconfig.json
  5. 20170209 18:34:29 INFO util.py:85 loading libcrypto from D:\OpenSSLWin32\bin\libcrypto.dll
  6. 20170209 18:34:29 INFO shell.py:80 ShadowsocksR 3.0.2 20170108
  7. 20170209 18:34:29 INFO asyncdns.py:324 dns server: [(‘8.8.4.4’, 53), (‘8.8.8.8’, 53)]
  8. 20170209 18:34:29 INFO server.py:106 server start with protocol[auth_aes128_md5] password [m] method [aes128ctr] obfs [tls1.2_ticket_auth_compatible] obfs_param []
  9. 20170209 18:34:29 INFO server.py:122 starting server at [::]:8388
  10. 20170209 18:34:29 INFO server.py:142 starting server at 0.0.0.0:8388

停止ShadowsocksR服务端

如果你需要停止 ShadowsocksR服务端,只需要在CMD窗口按下 Ctrl+C 按键就可以终止ShadowsocksR服务端的运行了。


启动后,你就可以尝试连接一下ShadowsocksR服务端了。

我是在本机上面测试的,密码什么的都是配置文件默认的,所以直接是 127.0.0.1:8388 ,然后ShadowsocksR设置全局模式,尝试访问国内网站,如果不报错,那么说明成功了。

如果你是在外部Windows服务器上面运行的,那么你需要关闭防火墙或者开放防火墙端口,我很久没用了,也忘记怎么搞了,估计谷歌很容易搜索到。

注意:如果是本机测试,建议把ShadowsocksR服务端的本地监听端口和ShadowsocksR客户端的本地监听端口分开(默认都是1080)。

错误处理:
1、chacha20-ietf需要从libsodium复制libsodium.*共4个文件到shadowsocksr-server\shadowsocks目录中
2、openssl安装后依然错误则需要从openssl\bin里复制libcrypto.dll和libssl.dll(必须改名)到Python\Python37-32\Scripts目录下

我要评论