这个是逗比根据地的备份镜像站(非官方)。牢记域名: [doubibackup.com]。搜索:标签云
投稿文章 | 广告合作 | Telegram 群组 / 公告频道 / 使用教程
广告

Windows系统 安装运行 ShadowsocksR服务端 简单教程

Shadowsocks Toyo 101评论
广告
本文最后更新于 2018年7月19日 12:05 可能会因为没有更新而失效。如已失效或需要修正,请留言!

有一些人曾经问过我怎么在Windows系统上面安装运行ShadowsocksR服务端,那时候我觉得没有意义,就没写教程,不过这段时间也没什么SSR基础教程好写的了,就研究研究写个教程算了。

网上简单查了查,也就 SSR的Github wiki中简单提及了教程,不过不够详细,所以我就在此基础上完善完善。


运行环境

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

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

C:\Users\Administrator>python -V
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 命令并回车,然后会发现变成这样:

C:\Users\Administrator>openssl
OpenSSL>

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

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

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

C:\Users\Administrator>openssl
OpenSSL> help

Standard commands
asn1parse         ca                ciphers           cms
crl               crl2pkcs7         dgst              dhparam
dsa               dsaparam          ec                ecparam
enc               engine            errstr            exit
gendsa            genpkey           genrsa            help
list              nseq              ocsp              passwd
pkcs12            pkcs7             pkcs8             pkey
pkeyparam         pkeyutl           prime             rand
rehash            req               rsa               rsautl
s_client          s_server          s_time            sess_id
smime             speed             spkac             srp
ts                verify            version           x509

# 后面省略...
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 了。
{
 "server": "0.0.0.0",
 "server_ipv6": "::",
 "server_port": 8388,
 "local_address": "127.0.0.1",
 "local_port": 1080,

 "password": "m",
 "method": "aes-128-ctr",
 "protocol": "auth_aes128_md5",
 "protocol_param": "",
 "obfs": "tls1.2_ticket_auth_compatible",
 "obfs_param": "",
 "speed_limit_per_con": 0,
 "speed_limit_per_user": 0,

 "additional_ports" : {}, // only works under multi-user mode
 "timeout": 120,
 "udp_timeout": 60,
 "dns_ipv6": false,
 "connect_verbose_info": 0,
 "redirect": "",
 "fast_open": true
}

启动/停止ShadowsocksR服务端

启动ShadowsocksR服务端

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

D:
# 进入D盘
cd shadowsocksr-manyuser\shadowsocks
# 进入ShadowsocksR子目录
python server.py -c D:\shadowsocksr-manyuser\user-config.json
# 运行ShadowsocksR服务端
注意:请更换 ShadowsocksR服务端目录为自己安装的目录。

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

C:\Users\Administrator>python server.py -c D:\shadowsocksr-manyuser\user-config.json
loaded collections.OrderedDict
IPv6 support
INFO: loading config from D:\shadowsocksr-manyuser\shadowsocks\../shadowsocks\../user-config.json
2017-02-09 18:34:29 INFO     util.py:85 loading libcrypto from D:\OpenSSL-Win32\bin\libcrypto.dll
2017-02-09 18:34:29 INFO     shell.py:80 ShadowsocksR 3.0.2 2017-01-08
2017-02-09 18:34:29 INFO     asyncdns.py:324 dns server: [('8.8.4.4', 53), ('8.8.8.8', 53)]
2017-02-09 18:34:29 INFO     server.py:106 server start with protocol[auth_aes128_md5] password [m] method [aes-128-ctr] obfs [tls1.2_ticket_auth_compatible] obfs_param []
2017-02-09 18:34:29 INFO     server.py:122 starting server at [::]:8388
2017-02-09 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)。

参考资料:Github Wiki:https://github.com/breakwa11/shadowsocks-rss/wiki/Server-Setup-on-Windows

转载请超链接注明:逗比根据地 » Windows系统 安装运行 ShadowsocksR服务端 简单教程
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!

赞 (38)
发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(101)个小伙伴在吐槽
  1. D:\shadowsocksr-manyuser\shadowsocks>python server.py -c D:\shadowsocksr-manyuse
    r\user-config.json
    IPv6 support
    Traceback (most recent call last):
      File "server.py", line 215, in 
        main()
      File "server.py", line 38, in main
        config = shell.get_config(False)
      File "D:\shadowsocksr-manyuser\shadowsocks\..\shadowsocks\shell.py", line 299,
     in get_config
        check_config(config, is_local)
      File "D:\shadowsocksr-manyuser\shadowsocks\..\shadowsocks\shell.py", line 129,
     in check_config
        encrypt.try_cipher(config['password'], config['method'])
      File "D:\shadowsocksr-manyuser\shadowsocks\..\shadowsocks\encrypt.py", line 46
    , in try_cipher
        Encryptor(key, method)
      File "D:\shadowsocksr-manyuser\shadowsocks\..\shadowsocks\encrypt.py", line 90
    , in __init__
        random_string(self._method_info[1]))
      File "D:\shadowsocksr-manyuser\shadowsocks\..\shadowsocks\encrypt.py", line 11
    9, in get_cipher
        return m[2](method, key, iv, op)
      File "D:\shadowsocksr-manyuser\shadowsocks\..\shadowsocks\crypto\openssl.py",
    line 89, in __init__
        load_openssl()
      File "D:\shadowsocksr-manyuser\shadowsocks\..\shadowsocks\crypto\openssl.py",
    line 41, in load_openssl
        raise Exception('libcrypto(OpenSSL) not found')
    Exception: libcrypto(OpenSSL) not found
    怎么办啊
    
    MoeWang2018-11-10 18:03 回复
    • openssl 没装或者环境变量配置有误。
      Toyo2018-11-10 18:24 回复
  2. 0.0请问这样的情况要怎么解决
    loaded collections.OrderedDict
    IPv6 support
    Exception in thread Thread-1:
    Traceback (most recent call last):
      File "C:\Users\yumem\AppData\Local\Programs\Python\Python37\lib\threading.py", line 917, in _bootstrap_inner
        self.run()
      File "server.py", line 39, in run
        self.obj.thread_db(self.obj)
      File "G:\shadowsocksr\db_transfer.py", line 226, in thread_db
        db_instance = obj()
      File "G:\shadowsocksr\db_transfer.py", line 291, in __init__
        self.load_cfg()
      File "G:\shadowsocksr\db_transfer.py", line 297, in load_cfg
        with open(config_path, 'rb+') as f:
    FileNotFoundError: [Errno 2] No such file or directory: 'usermysql.json'
    
    Akiyama Yume2018-09-07 14:38 回复
    • 本教程是单人服务端教程,你这个说明你使用的是数据库模式,你还需要复制一份 mysql.json -> usermysql.json。
      Toyo2018-09-07 17:23 回复
  3. 怎么开启UDP转发?我在WINDOWS的服务器上的入站和出站规则上都添加了UDP端口(2000-65000)。但是从我的客户端(SSTAP)连接还是出现未开启UDP转发,仅仅支持TCP转发的话有很多游戏是无法代理的,求高人出主意。
    求解决2018-07-28 19:39 回复
    • 事实上,SSR 服务端默认开启UDP转发,并且没有任何可用设置的地方。
      Toyo2018-07-29 14:14 回复
  4. 大佬,已经全部搭建好了,而且可以正常使用,但是必须把CMD窗口一直开着放在那儿么?如果关了后,服务会不会断掉,(主要是担心CMD窗口关了,但是服务依旧一直开着,文章中只说了停止的方法,并没有说重启和开启。。。。)
    Alan2018-07-28 17:54 回复
    • CMD窗口关了,SSR 服务端就停了。
      就像 Linux 系统下,如果你没有用后台方式启动 SSR 服务端,那么你断开SSH链接后,SSR 服务端也是会关闭的。
      Toyo2018-07-29 14:13 回复
  5. 服务器打开没报错,设置了电脑端口和路由器端口,并打开了DMZ的情况下 服务器同一网络连接没有问题,ping通,可以连接,可以上网!但使用4G或者其他网络就无法连接到服务器.ping不通,不知如何解决? "server": "0.0.0.0",这里需要改为外网IP吗?谢谢
    LEE2018-07-17 16:23 回复
    • 0.0.0.0 指的是监听本地所有 IPv4 地址。
      Toyo2018-07-17 21:58 回复
  6. 2018-06-21 21:53:19 ERROR    shell.py:50 libcrypto(OpenSSL) not found
    2018-06-21 21:53:19 ERROR    tcprelay.py:905 exception from x.x.x.x:58190
    
    一启动很正常,但是连接后传输数据就疯狂出这个,这是什么错误?
    后面的x.x.x.x是我客户端的IP
    Rayzggz2018-06-21 21:55 回复
    • shell.py:50 libcrypto(OpenSSL) not found
      # 好像是OpenSSL的问题,找不到。
      
      Toyo2018-06-22 10:47 回复
  7. 你好,我在本机上测试成功了,但是用别的机器连过来就不行了,ip是ipconfig后的ipv4那个ip。是不是和防火墙什么的有关系呢?需要怎么做呢?
    clacf2018-05-24 13:19 回复
  8. 请问这是什么情况呢?py和openssl的path都检查过还是这样 Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。 C:\Users\Administrator>cd /d F:\ssr\shadowsocksr-3.1.2 F:\ssr\shadowsocksr-3.1.2>python server.py -c F:\ssr\shadowsocksr-3.1.2\user-con fig.json loaded collections.OrderedDict IPv6 support Exception in thread Thread-1: Traceback (most recent call last): File "C:\Python27\lib\threading.py", line 801, in __bootstrap_inner self.run() File "server.py", line 39, in run self.obj.thread_db(self.obj) File "F:\ssr\shadowsocksr-3.1.2\db_transfer.py", line 226, in thread_db db_instance = obj() File "F:\ssr\shadowsocksr-3.1.2\db_transfer.py", line 291, in __init__ self.load_cfg() File "F:\ssr\shadowsocksr-3.1.2\db_transfer.py", line 297, in load_cfg with open(config_path, 'rb+') as f: IOError: [Errno 2] No such file or directory: 'usermysql.json'
    Niconeiko2018-05-13 11:47 回复
  9. 感谢教程 大概花费一个半小时 #openssl请尽量使用1.02,1.10普遍出现错误
    喜多多椰果王2018-05-02 12:13 回复
  10. 人在墙外,千辛万苦终于搭建好了~(为了给国内的基友看油管,)然后看了其他文章发现如果在vps上有流量管理,那么问题来了,windows上搭建的这个能不能管理速度和流量上限啊
    xin2018-04-13 23:53 回复
  11. 2018-01-02 22:02:48 INFO util.py:85 loading libcrypto from D:\OpenSSL-Win64\ bin\libcrypto.dll 2018-01-02 22:02:48 INFO shell.py:72 ShadowsocksR 3.4.0 2017-07-27 2018-01-02 22:02:48 INFO asyncdns.py:324 dns server: [('8.8.4.4', 53), ('8.8 .8.8', 53)] 2018-01-02 22:02:48 INFO server.py:106 server start with protocol[auth_aes12 8_md5] password [m] method [aes-128-ctr] obfs [tls1.2_ticket_auth_compatible] ob fs_param [] 2018-01-02 22:02:48 INFO server.py:122 starting server at [::]:8388 2018-01-02 22:02:48 INFO server.py:142 starting server at 10.36.216.36:8388 2018-01-02 22:03:14 WARNING common.py:238 unsupported addrtype 69, maybe wrong password or encryption method 2018-01-02 22:03:14 WARNING tcprelay.py:521 Protocol ERROR, TCP ogn data 8cecec 0fcaea7f1d350dcb1c84d994071114ccabcc59fcd49a6af49a481dfd4ee3c16644388d4e from 10 .4.12.83:57821 via port 8388 by UID 8388 2018-01-02 22:03:14 ERROR tcprelay.py:1097 can not parse header when handling connection from 10.4.12.83:57821 2018-01-02 22:03:15 WARNING common.py:238 unsupported addrtype 69, maybe wrong password or encryption method 2018-01-02 22:03:15 WARNING tcprelay.py:521 Protocol ERROR, TCP ogn data 895ccb 6f07b85a7e3a817c3d51dd4c31c2e7918dc3c15473ca8682782afc54ace76dd62fae4822 from 10 .4.12.83:57823 via port 8388 by UID 8388 连接后一直出错 客户端一直空连
    小学生2018-01-02 22:09 回复
  12. Toyo大神,OpenSSL的环境变量应该怎么设置,看你上面说明弄了很久都没弄明白,能教下么
    j2017-12-29 17:01 回复
    • 我的文章里已经写的很清楚了 #设置环境变量 ,完整例子和截图都有,没什么可补充的了。
      Toyo2017-12-30 17:33 回复
  13. D:\shadowsocksr-manyuser\shadowsocks>python server.py -c D:\shadowsocksr-manyuser\user-config.json IPv6 support 2017-12-17 20:25:51 INFO util.py:85 loading libcrypto from C:\WINDOWS\system32\libeay32.dll 2017-12-17 20:25:51 INFO shell.py:72 ShadowsocksR 3.4.0 2017-07-27 2017-12-17 20:25:51 INFO asyncdns.py:324 dns server: [('8.8.4.4', 53), ('8.8.8.8', 53)] 2017-12-17 20:25:51 INFO server.py:106 server start with protocol[auth_aes128_md5] password [b'80'] method [aes-128-ctr] obfs [tls1.2_ticket_auth_compatible] obfs_param [] 2017-12-17 20:25:51 INFO server.py:122 starting server at [b'::']:80 2017-12-17 20:25:51 INFO server.py:142 starting server at 127.0.0.1:80 这是怎么回事
    12017-12-17 20:30 回复
    • 什么怎么回事。
      Toyo2017-12-18 08:26 回复
  14. 根据你的教程制作的一键启动,x64位系统可用: https://pan.baidu.com/s/1slmemXR#5s9t
    -2017-11-16 18:19 回复
    • 密码呢
      XTT2017-11-27 19:06 回复
    • 密码呀大哥
      厉害2017-11-28 00:51 回复
  15. 2017-11-09 23:57:23 INFO server.py:122 starting server at [::]:8388 2017-11-09 23:57:23 INFO server.py:142 starting server at 0.0.0.0:8388 2017-11-09 23:57:31 WARNING common.py:238 unsupported addrtype 69, maybe wrong password or encryption method 2017-11-09 23:57:31 WARNING tcprelay.py:521 Protocol ERROR, TCP ogn data 474554 202f20485454502f312e310d0a4163636570743a20696d6167652f6a7065672c20696d6167652f67 69662c20696d6167652f706a7065672c206170706c69636174696f6e2f782d6d732d6170706c6963 6174696f6e2c206170706c69636174696f6e2f78616d6c2b786d6c2c206170706c69636174696f6e 2f782d6d732d786261702c202a2f2a0d0a4163636570742d4c616e67756167653a207a682d434e0d 0a4163636570742d456e636f64696e673a20677a69702c206465666c6174650d0a486f73743a2031 32372e302e302e313a383338380d0a436f6e6e656374696f6e3a204b6565702d416c6976650d0a55 7365722d4167656e743a204d6f7a696c6c612f342e302028636f6d70617469626c653b204d534945 20382e303b2057696e646f7773204e5420362e313b20574f5736343b2054726964656e742f342e30 3b20534c4343323b202e4e455420434c5220322e302e35303732373b202e4e455420434c5220332e 352e33303732393b202e4e455420434c5220332e302e33303732393b2020546865576f726c642036 290d0a0d0a from 127.0.0.1:49698 via port 8388 by UID 8388 2017-11-09 23:57:31 ERROR tcprelay.py:1097 can not parse header when handling connection from 127.0.0.1:49698 2017-11-09 23:57:31 WARNING common.py:238 unsupported addrtype 69, maybe wrong password or encryption method 2017-11-09 23:57:31 WARNING tcprelay.py:521 Protocol ERROR, TCP ogn data 474554 202f20485454502f312e310d0a4163636570743a20696d6167652f6a7065672c20696d6167652f67 69662c20696d6167652f706a7065672c206170706c69636174696f6e2f782d6d732d6170706c6963 6174696f6e2c206170706c69636174696f6e2f78616d6c2b786d6c2c206170706c69636174696f6e 2f782d6d732d786261702c202a2f2a0d0a4163636570742d4c616e67756167653a207a682d434e0d 0a4163636570742d456e636f64696e673a20677a69702c206465666c6174650d0a486f73743a2031 32372e302e302e313a383338380d0a436f6e6e656374696f6e3a204b6565702d416c6976650d0a55 7365722d4167656e743a204d6f7a696c6c612f342e302028636f6d70617469626c653b204d534945 20382e303b2057696e646f7773204e5420362e313b20574f5736343b2054726964656e742f342e30 3b20534c4343323b202e4e455420434c5220322e302e35303732373b202e4e455420434c5220332e 352e33303732393b202e4e455420434c5220332e302e33303732393b2020546865576f726c642036 290d0a0d0a from 127.0.0.1:49699 via port 8388 by UID 8388 2017-11-09 23:57:31 ERROR tcprelay.py:1097 can not parse header when handling connection from 127.0.0.1:49699 2017-11-09 23:57:31 WARNING common.py:238 unsupported addrtype 69, maybe wrong password or encryption method 2017-11-09 23:57:31 WARNING tcprelay.py:521 Protocol ERROR, TCP ogn data 474554 202f66617669636f6e2e69636f20485454502f312e310d0a4163636570743a202a2f2a0d0a416363 6570742d456e636f64696e673a20677a69702c206465666c6174650d0a486f73743a203132372e30 2e302e313a383338380d0a436f6e6e656374696f6e3a204b6565702d416c6976650d0a557365722d 4167656e743a204d6f7a696c6c612f342e302028636f6d70617469626c653b204d53494520382e30 3b2057696e646f7773204e5420362e313b20574f5736343b2054726964656e742f342e303b20534c 4343323b202e4e455420434c5220322e302e35303732373b202e4e455420434c5220332e352e3330 3732393b202e4e455420434c5220332e302e33303732393b2020546865576f726c642036290d0a0d 0a from 127.0.0.1:49700 via port 8388 by UID 8388 2017-11-09 23:57:31 ERROR tcprelay.py:1097 can not parse header when handling connection from 127.0.0.1:49700 按照教程出现这个错误 64位系统win2008
    ssr2017-11-10 00:01 回复
    • 这些问题并不是安装步骤错误的问题,毕竟就那几个步骤,而是使用的问题,具体怎么解决我也不清楚。
      2017-11-09 23:57:31 WARNING common.py:238 unsupported addrtype 69, maybe wrong password or encryption method
      不支持的地址类型,可能是密码或加密方式错误。
      2017-11-09 23:57:31 WARNING tcprelay.py:521 Protocol ERROR, TCP ogn data 474554XXXXX
      协议验证错误
      2017-11-09 23:57:31 ERROR tcprelay.py:1097 can not parse header when handling connection from 127.0.0.1:49698
      处理127.0.0.1:49698连接时无法解析头部
      
      Toyo2017-11-10 09:19 回复
      • 是配置问题吗
        ssr2017-11-10 10:37 回复
      • { "server": "0.0.0.0", "server_ipv6": "::", "server_port": 8388, "local_address": "127.0.0.1", "local_port": 1080, "password": "m", "method": "aes-256-cfb", "protocol": "auth_aes128_md5", "protocol_param": "", "obfs": "tls1.2_ticket_auth_compatible", "obfs_param": "", "speed_limit_per_con": 0, "speed_limit_per_user": 0, "additional_ports" : {}, // only works under multi-user mode "additional_ports_only" : false, // only works under multi-user mode "timeout": 120, "udp_timeout": 60, "dns_ipv6": false, "connect_verbose_info": 0, "redirect": "", "fast_open": false } 这是配置文件
        ssr2017-11-10 10:38 回复
        • 如果配置文件你没有修改是默认的,那么配置文件就没问题。
          Toyo2017-11-10 16:29 回复
  16. win os下面安装chacha20成功;除了需要下载dll动态链接库解压到C:\Windows\System32或C:\Windows\SysWOW64路径下 下载地址:http://download.libsodium.org/libsodium/releases/ 之外【文件需要改名,去掉文件名后面的"-xx"部分】,还需要下载git软件,并把它的bin目录添加到环境变量,和openssl一样。
    Alex2017-11-07 16:46 回复
    • 特地来补充一下,以上32位系统上成功,在64位环境下提示libsodium不是有效的win32程序,估计哪里匹配还是有问题。
      Alex2017-11-09 16:11 回复
      • 把msvc.zip\x64\Release\v120\dynamic目錄內libsodium.dll檔案,放在windows\system32,就可以解決。
        colin2017-11-29 11:07 回复
    • 请问下你的openssl的环境变量参数是怎么设置的?我一直没设置成功
      j2017-12-30 14:43 回复
  17. 我怎么弄都是在CMD里输入openssl卡住,命令都是不可运行程序 。大佬求助啊,我就是想科学上网而已,
    guli2017-11-03 22:54 回复
  18. 你好~大神我完全按教程。终于在阿里云一台香港ecs安装成功 但现在我在公司,按照user-config.json的信息都输入到SSR内 IP填的阿里云ECS给的外网IP(也是我远程桌面连接输入的IP) 无法魔法上网,请问是什么原因呢。
    xiaobai2017-10-31 11:24 回复
      • 用超级ping工具能ping通,ecs的防火墙也关闭着了,但自己和别人电脑都不能用。不知道什么情况~ :sad: 我开全局模式看到代理端口是1087,但配置信息没有任何1087字样。不知道是不是跟这个有关
        xiaobai2017-10-31 12:12 回复
        • 你指的代理端口应该是你 SSR客户端的本地端口,这是不影响的。“别人电脑”别人和你也是同一个网络吗?你SSR客户端 服务器链接统计窗口中,提示什么[错误/超时/空连]?
          Toyo2017-10-31 16:46 回复
          • 1.服务器记录里“超时”一直在跳(跳到99不动了),“连接”也在单数跳动。 2.别人跟我不同的网络,我的电信,它的长宽 3.在香港ecs内SSR服务器"server"刚开始没改,用的是默认的: "0.0.0.0", 后面猜是不是这里问题,就改为登入ECS服务器的IP,无果。还随便输入过一个IP。都不行。 端口“server_port”开始也是用默认8388.后面改成一个随机上万的数字测试过了也不行。跟"server"各种可能相互组合还是不行 其它选项除了密码都是用默认的。实在不知道哪里出问题了,本人之前没有基础的小白,还请指教,谢谢~
            xiaobai2017-10-31 17:22 回复
            • 客户端提示超时,这意味着 客户端链接服务端,服务端没有在超时时间内返回数据,多半没连接到服务端,可能是内部/外部防火墙问题。
              Toyo2017-10-31 17:33 回复
              • 看了“Shadowsocks 无法使用 排除方法”这个里面防火墙设置,貌似都是linux设置。windows应该没这么复杂吧~我ecs的电脑和我使用魔法上网的电脑防火墙都是关闭的
                xiaobai2017-10-31 18:03 回复
                • 总归问题是出在 SSR客户端链接SSR服务端的问题上,Windows安装SSR服务端,我也只是写教程的时候折腾了一下,具体防火墙方面不是很清楚。
                  Toyo2017-10-31 18:09 回复
  19. C:\shadowsocksr-manyuser\shadowsocksr-manyuser>python server.py -c C:\shadowsock
    sr-manyuser\shadowsocksr-manyuser\user-config.json
    IPv6 support
    2017-10-18 16:27:33 INFO     util.py:85 loading libcrypto from C:\OpenSSL-Win64\
    bin\libeay32.dll
    2017-10-18 16:27:33 INFO     asyncdns.py:324 dns server: [('8.8.4.4', 53), ('8.8
    .8.8', 53)]
    2017-10-18 16:27:34 INFO     shell.py:72 ShadowsocksR 3.4.0 2017-07-27
    2017-10-18 16:27:34 ERROR    db_transfer.py:266 Traceback (most recent call last
    ):
      File "C:\shadowsocksr-manyuser\shadowsocksr-manyuser\db_transfer.py", line 248
    , in thread_db
        rows = db_instance.pull_db_all_user()
      File "C:\shadowsocksr-manyuser\shadowsocksr-manyuser\db_transfer.py", line 373
    , in pull_db_all_user
        import cymysql
    ImportError: No module named cymysql
    
    Traceback (most recent call last):
      File "server.py", line 58, in main
        thread.join(10.0)
      File "C:\Python27\lib\threading.py", line 951, in join
        self.__block.wait(delay)
      File "C:\Python27\lib\threading.py", line 359, in wait
        _sleep(delay)
    KeyboardInterrupt
    
    什么原因
    [email protected]2017-10-18 16:28 回复
  20. ImportError: No module named cymysql 出现这个是什么原因呢,还需要安装这个数据库吗
    [email protected]2017-10-18 16:25 回复
    • 你这个是用的ShadowsocksR服务端数据库版多用户模式,所以还需要安装python 模块 cymysql来链接数据库,本教程只演示了 单用户模式。
      Toyo2017-10-18 17:04 回复
  21. 我反复看了你的教程确定变量什么都没问题,但是无法打开opensssl,windows32位系统。
    长安2017-10-16 15:57 回复
  22. 如果设置环境变量正确,但是依然提示 openssl不是内部命令 ,那么尝试重启电脑/服务器,部分出现这种问题的人重启后得到了解决(前提是环境变量配置无误)。 卡在这一步了,重启很多次都没用,搜过关键词试过我能看得懂的方法都没用,请问dalao们这一步该怎样解决,谢谢 :cry:
    jojo2017-10-08 11:03 回复
    • 一般来说,设置环境变量正常的话,他就不会出现这个问题,重启才行的只是极少数人,这种情况绝大部分问题还是出在环境变量设置上。
      Toyo2017-10-08 11:50 回复
      • 谢谢您,openssl的环境变量终于设置正确了,ssr服务端也安装成功,太感谢了,笔芯!之前还试了自己下载源码安装openssl,后来才发现其实不用那么麻烦,只要把D:\Python27\;D:\Python27\Scripts;D:\OpenSSL-Win32\bin\放到系统默认的环境变量值后面就有效了。
        jojo2017-10-12 13:04 回复
  23. 作者你好,完全复制你的教程,所使用的也是默认配置,在如你最后一张图所示的那样可以用了以后我就只换了我买的VPS的IP以后就没有办法用了。变成了在网页上的左下角显示等待隧道响应、查看服务器日志的时候就是“[2017-09-18 22:24:55] [Info] Disconnect webim.tim.qq.com:443”这样的各种网址后面:443的状态、在cmd里面就是“2017-09-18 12:33:41 ERROR tcprelay.py:1039 [Errno 10060] Unknown error 2017-09-18 12:33:41 ERROR tcprelay.py:1041 remote error, when connect to clie nts1.google.com:443 2017-09-18 12:33:54 INFO tcprelay.py:1358 port 8388 connections down to 0” 这样的状态。 我想问一下我用我自己买的IP的时候,“端口/密码/加密方式/协议”这四项应该是需要自己进行设置吗?是的话是可以随便进行设置吗?我是否需要去VPS销售商那里查询? 我是第一次接触这方面,实在是不太懂,麻烦了。
    HakureiReimu2017-09-18 22:34 回复
    • 端口/密码/加密方式/协议 都是在配置文件内(user-config.json)设置的,IDC卖给你的是VPS,相当于给你个虚拟电脑,虚拟电脑内装什么软件IDC不管,自然也不会给你做虚拟电脑内的软件使用资讯。 你去电脑城买了一台电脑,装了个软件,不会用,你就去电脑城找销售的人么,或许简单常用的软件他们会告诉你使用方法,但是复杂麻烦一些的他们可不会管你?
      Toyo2017-09-18 23:06 回复
  24. C:\shadowsocksr-manyuser\shadowsocks>python server.py -c C:\shadowsocksr-manyuse r\user-config.json IPv6 support 2017-09-07 16:45:31 INFO util.py:85 loading libcrypto from c:\windows\system 32\libeay32.dll 2017-09-07 16:45:31 INFO shell.py:72 ShadowsocksR 2.8.2 2017-09-07 16:45:31 INFO asyncdns.py:324 dns server: [('8.8.4.4', 53), ('8.8 .8.8', 53)] 2017-09-07 16:45:31 INFO server.py:106 server start with protocol[auth_aes12 8_md5] password [anzac] method [aes-128-ctr] obfs [tls1.2_ticket_auth_compatible ] obfs_param [] 2017-09-07 16:45:31 INFO server.py:122 starting server at [::]:8388 2017-09-07 16:45:31 ERROR tcprelay.py:1225 warning: fast open is not availabl e 2017-09-07 16:45:31 INFO server.py:142 starting server at 0.0.0.0:8388 2017-09-07 16:45:31 ERROR tcprelay.py:1225 warning: fast open is not availabl e 最后出现ERROR是什么问题???
    RhysLee2017-09-07 17:04 回复
    • 你是不是在配置文件中配置fast open选项为开启?
      Toyo2017-09-07 19:00 回复
      • 是的, "fast_open": true
        RhysLee2017-09-08 10:09 回复
        • 关掉看看。
          Toyo2017-09-08 14:01 回复
          • C:\shadowsocksr-manyuser\shadowsocks>python server.py -c C:\shadowsocksr-manyuse
            r\user-config.json
            IPv6 support
            2017-09-14 12:01:40 INFO     util.py:85 loading libcrypto from c:\windows\system
            32\libeay32.dll
            2017-09-14 12:01:40 INFO     shell.py:72 ShadowsocksR 2.8.2
            2017-09-14 12:01:40 INFO     asyncdns.py:324 dns server: [('8.8.4.4', 53), ('8.8
            .8.8', 53)]
            2017-09-14 12:01:40 INFO     server.py:106 server start with protocol[auth_aes12
            8_md5] password [x] method [aes-128-ctr] obfs [tls1.2_ticket_auth_compatible
            ] obfs_param []
            2017-09-14 12:01:40 INFO     server.py:122 starting server at [::]:8388
            2017-09-14 12:01:40 INFO     server.py:142 starting server at 0.0.0.0:8388
            
            沒error显示..但无法连接...已经吧8388 1080端口打开了..郁闷
            RhysLee2017-09-14 12:05 回复
            • 客户端服务器链接统计提示什么(错误/超时/空连)?
              Toyo2017-09-14 12:09 回复
              • 安卓手机客户端测试传送和接收都是0,测试连接状态load了一会就显示"无法使用网际网路"应该是超时了
                RhysLee2017-09-14 14:34 回复
                • PC客户端呢?
                  Toyo2017-09-14 14:47 回复
                  • 也一样 :smile:
                    RhysLee2017-09-14 16:28 回复
                    • “也一样”是什么意思?
                      Toyo2017-09-14 19:20
                  • 也是無法連接
                    RhysLee2017-09-15 10:16 回复
                    • 客户端服务器链接统计提示什么(错误/超时/空连)?
                      Toyo2017-09-15 11:53
                    • 我也是这种情况,请问最后解决了吗?
                      taneli2018-04-28 11:50
  25. C:\shadowsocksr-manyuser\shadowsocksr-manyuser\shadowsocks>python server.py -c u
    ser-config.json
    IPv6 support
    Traceback (most recent call last):
      File "server.py", line 215, in 
        main()
      File "server.py", line 38, in main
        config = shell.get_config(False)
      File "C:\shadowsocksr-manyuser\shadowsocksr-manyuser\shadowsocks\../shadowsock
    s\shell.py", line 299, in get_config
        check_config(config, is_local)
      File "C:\shadowsocksr-manyuser\shadowsocksr-manyuser\shadowsocks\../shadowsock
    s\shell.py", line 129, in check_config
        encrypt.try_cipher(config['password'], config['method'])
      File "C:\shadowsocksr-manyuser\shadowsocksr-manyuser\shadowsocks\../shadowsock
    s\encrypt.py", line 46, in try_cipher
        Encryptor(key, method)
      File "C:\shadowsocksr-manyuser\shadowsocksr-manyuser\shadowsocks\../shadowsock
    s\encrypt.py", line 90, in __init__
        random_string(self._method_info[1]))
      File "C:\shadowsocksr-manyuser\shadowsocksr-manyuser\shadowsocks\../shadowsock
    s\encrypt.py", line 119, in get_cipher
        return m[2](method, key, iv, op)
      File "C:\shadowsocksr-manyuser\shadowsocksr-manyuser\shadowsocks\../shadowsock
    s\crypto\openssl.py", line 89, in __init__
        load_openssl()
      File "C:\shadowsocksr-manyuser\shadowsocksr-manyuser\shadowsocks\../shadowsock
    s\crypto\openssl.py", line 41, in load_openssl
        raise Exception('libcrypto(OpenSSL) not found')
    
    请问大神这是怎么回事啊?
    雨中印记2017-08-08 10:00 回复
    • OpenSSL没有安装或者环境变量设置有误(或者没有设置)。
      Toyo2017-08-08 10:42 回复
  26. 啊......我openssl怎么也配置不好啊
    LUKEAINSIWORTH2017-07-21 12:52 回复
    • 哇。。。没人吗
      LUKEAINSIWORTH2017-07-23 23:45 回复
      • so,你只说你配置不好,然后我们就知道怎么解决了?
        Toyo2017-07-24 00:27 回复
        • 环境变量都配置好了 xxxxxxxx;C:\Python27;C:\Python27\Scripts;C:\OpenSSL-Win64\bin 然后OPENSSL_CONF也确认了有参数C:\OpenSSL-Win64\bin\openssl.cfg 不过还是报和他一样的错误~~
          Microsoft Windows [版本 6.1.7601]
          版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
          
          C:\Users\Administrator>cd C:\Users\Administrator\Desktop\shadowsocksr-manyuser\s
          hadowsocks
          
          C:\Users\Administrator\Desktop\shadowsocksr-manyuser\shadowsocks>python server.p
          y -c config.json
          IPv6 support
          Traceback (most recent call last):
            File "server.py", line 215, in 
              main()
            File "server.py", line 38, in main
              config = shell.get_config(False)
            File "C:\Users\Administrator\Desktop\shadowsocksr-manyuser\shadowsocks\../shad
          owsocks\shell.py", line 299, in get_config
              check_config(config, is_local)
            File "C:\Users\Administrator\Desktop\shadowsocksr-manyuser\shadowsocks\../shad
          owsocks\shell.py", line 129, in check_config
              encrypt.try_cipher(config['password'], config['method'])
            File "C:\Users\Administrator\Desktop\shadowsocksr-manyuser\shadowsocks\../shad
          owsocks\encrypt.py", line 46, in try_cipher
              Encryptor(key, method)
            File "C:\Users\Administrator\Desktop\shadowsocksr-manyuser\shadowsocks\../shad
          owsocks\encrypt.py", line 90, in __init__
              random_string(self._method_info[1]))
            File "C:\Users\Administrator\Desktop\shadowsocksr-manyuser\shadowsocks\../shad
          owsocks\encrypt.py", line 119, in get_cipher
              return m[2](method, key, iv, op)
            File "C:\Users\Administrator\Desktop\shadowsocksr-manyuser\shadowsocks\../shad
          owsocks\crypto\sodium.py", line 71, in __init__
              load_libsodium()
            File "C:\Users\Administrator\Desktop\shadowsocksr-manyuser\shadowsocks\../shad
          owsocks\crypto\sodium.py", line 42, in load_libsodium
              raise Exception('libsodium not found')
          Exception: libsodium not found
          
          zon2017-08-15 16:52 回复
          • 你的报错和前面评论里的不一样,他们是缺少OpenSSL或者OpenSSL没有正确配置环境变量,而你的是:
            raise Exception(‘libsodium not found’)
            Exception: libsodium not found
            
            你配置文件用了 chacha20 系列加密方式,这系列加密方式需要安装额外的依赖 libsodium ,而这东西我目前只清楚 Linux安装方法。
            你更换其他加密方式就不会提示这个了。
            Toyo2017-08-15 17:22 回复
  27. C:\shadowsocksr-manyuser\shadowsocks>python server.py -c user-config.json
    IPv6 not support
    Traceback (most recent call last):
      File "server.py", line 215, in 
        main()
      File "server.py", line 38, in main
        config = shell.get_config(False)
      File "C:\shadowsocksr-manyuser\shadowsocks\../shadowsocks\shell.py", line 299,
     in get_config
        check_config(config, is_local)
      File "C:\shadowsocksr-manyuser\shadowsocks\../shadowsocks\shell.py", line 129,
     in check_config
        encrypt.try_cipher(config['password'], config['method'])
      File "C:\shadowsocksr-manyuser\shadowsocks\../shadowsocks\encrypt.py", line 46
    , in try_cipher
        Encryptor(key, method)
      File "C:\shadowsocksr-manyuser\shadowsocks\../shadowsocks\encrypt.py", line 90
    , in __init__
        random_string(self._method_info[1]))
      File "C:\shadowsocksr-manyuser\shadowsocks\../shadowsocks\encrypt.py", line 11
    9, in get_cipher
        return m[2](method, key, iv, op)
      File "C:\shadowsocksr-manyuser\shadowsocks\../shadowsocks\crypto\openssl.py",
    line 89, in __init__
        load_openssl()
      File "C:\shadowsocksr-manyuser\shadowsocks\../shadowsocks\crypto\openssl.py",
    line 41, in load_openssl
        raise Exception('libcrypto(OpenSSL) not found')
    Exception: libcrypto(OpenSSL) not found
    
    C:\shadowsocksr-manyuser\shadowsocks>
    
    windows server2003 如上错误提示
    juspo2017-07-20 03:00 回复
    • OpenSSL没有安装或环境变量配置有误。
      Toyo2017-07-20 11:34 回复
      • 问题解决了,是C:\OpenSSL-Win32\bin目录下 libcrypto-1_1.dll libssl-1_1.dll两个dll文件也要改名libcrypto.dll libssl.dll,上面教程中只有上级目录改名了。。。。。
        juspo2017-07-20 14:57 回复
      • 是我搞错了,教程中是对的
        juspo2017-07-20 14:58 回复
        • 和你一样的抱错,我win2008 r2 64,bin已经去掉-1_1改成 libcrypto-x64.dll libssl-x64.dll ,配置应该正确了,是不是64位还有哪里要改下,让他支持 libcrypto-x64.dll libssl-x64.dll 而不是 libcrypto.dll libssl.dll
          win2008 r2 642017-08-11 11:32 回复
          • +1 我也是这里
            zon2017-08-15 16:56 回复
            • 把OpenSSL-Win64目录和OpenSSL-Win64\bin目录,两个目录下的dll文件都改成libcrypto.dll libssl.dll
              windowssss2017-08-28 17:35 回复
  28. C:\shadowsocksr-manyuser\shadowsocks>python server.py -c user-config.json
    loaded collections.OrderedDict
    IPv6 not support
    Traceback (most recent call last):
      File "server.py", line 215, in 
        main()
      File "server.py", line 38, in main
        config = shell.get_config(False)
      File "C:\shadowsocksr-manyuser\shadowsocks\../shadowsocks\shell.py", line 166,
     in get_config
        with open(config_path, 'rb') as f:
    IOError: [Errno 2] No such file or directory: 'user-config.json'
    
    求解 :razz:
    邓邓2017-06-22 19:15 回复
    • IOError: [Errno 2] No such file or directory: ‘user-config.json’,无法找到user-config.json配置文件。
      Toyo2017-06-23 08:16 回复
      • 有user-config.json这个文件了,但是还是报错
        邓邓2017-06-23 11:09 回复
        • 那使用绝对路径
          python server.py -c D:\xxxx\user-config.json
          
          Toyo2017-08-15 17:25 回复
  29. IOError: [Errno 2] No such file or directory: 'usermysql.json' 明明问我没有做数据库的配置,为什么提示需要数据库配置?
    米柚子2017-06-17 16:25 回复
    • 可能你进错目录了,~/shadowsocksr 是根目录,多用户用的,~/shadowsocksr/shadowsocks 是子目录,单用户用的,如果你在根目录启动SSR服务端,那么就需要配置数据库等信息。
      Toyo2017-06-17 21:02 回复
  30. 启动ShadowsocksR服务端时cmd提示openssl not found怎么解决我已经设置好环境变量了
    Shameful2017-05-18 09:37 回复
    • 那说明还是没有设置好,如果设置好了 就不会找不到openssl了。
      Toyo2017-05-18 11:45 回复
  31. loaded collections.OrderedDict
    IPv6 support
    ERROR: config not specified
    usage: ssserver [OPTION]...
    A fast tunnel proxy that helps you bypass firewalls.
    
    You can supply configurations via either config file or command line arguments.
    
    这是什么情况啊?
    哇哇2017-04-21 02:08 回复
    • 已经更新了教程中的 ShadowsocksR服务端启动命令。
      Toyo2017-04-21 11:30 回复
  32. C:\Users\Administrator>python D:\shadowsocksr-manyuser\shadowsocks\server.py
    loaded collections.OrderedDict
    IPv6 support
    ERROR: config not specified
    usage: ssserver [OPTION]...
    A fast tunnel proxy that helps you bypass firewalls.
    
    You can supply configurations via either config file or command line arguments.
    
    Proxy options:
      -c CONFIG              path to config file
      -s SERVER_ADDR         server address, default: 0.0.0.0
      -p SERVER_PORT         server port, default: 8388
      -k PASSWORD            password
      -m METHOD              encryption method, default: aes-256-cfb
      -o OBFS                obfsplugin, default: http_simple
      -t TIMEOUT             timeout in seconds, default: 300
      --fast-open            use TCP_FASTOPEN, requires Linux 3.7+
      --workers WORKERS      number of workers, available on Unix/Linux
      --forbidden-ip IPLIST  comma seperated IP list forbidden to connect
      --manager-address ADDR optional server manager UDP address, see wiki
    
    报错
    Spirit2017-03-16 00:25 回复
  33. shell.py:50 [errno 11001] getaddrinfo faild,这个啥原因啊。。也连不上,是共享ip的问题么?还是我vps的问题
    saber2017-03-07 09:02 回复
  34. 不如加上chacha20安装教程 下载dll动态链接库解压到C:\Windows\System32或C:\Windows\SysWOW64路径下 下载地址:http://download.libsodium.org/libsodium/releases/ 虽然加了chacha20可能会卡........
    kurokutomoko2017-03-06 18:09 回复
  35. 真够复杂的,还是linux好用
    西部老大2017-02-17 18:03 回复
  36. https://www.librehat.com/three-minutes-to-set-up-shadowsocks-server-on-windows/ 看看这个,不用安装什么Python、.Net的
    昵称abc2017-02-09 22:48 回复
    • 这个是原版Shadowsocks服务端,而我的是ShadowsocksR服务端教程。
      Toyo2017-02-10 00:00 回复