shadowsocks-manager实现ss多用户管理与流量限制

利用shadowsocks-manager实现shadowsocks的多用户配置和流量统计与限制。基于python版的shadowsocks,科学上网:VPS上搭建shadowsocks。可视化操作界面,动态添加用户、端口,设置流量限制,多种统计流量方式,按小时、天、月等。支持用户注册与连接多台服务器共同管理用户与限制流量。

shadowsocks-manager是基于Node.js和SQLite的一个shadowsocks多用户管理与流量控制工具,当然数据库也可以使用MySQL。目前支持shadowsocks-python和shadowsocks-libev。本文以shadowsocks-python为例。

如果觉得搭建难度较大,可以结合视频一起来看,视频教程在文章底部。

 

安装Node.js

需要的Node版本为Node.js 6.*,建议采用nodesource进行安装。

系统为Ubuntu,安装方式:

 

安装shadowsocks-manager

直接用npm进行安装:

 

使用shadowsocks-manager实现多用户管理与流量限制

1.开启shadowsocks

注意此处的提示必须是started,而不是ERROR already started at pid ***,如果是后者,就先运行ssserver -d stop。

2.新建配置文件ss.yml,例如我放在~/.ssmgr路径下,内容如下:

3.新建配置文件webgui.yml,作为webgui这个插件的配置文件,内容如下(如有更新,以官方Wiki为准):

注:其中http://yourwebsite.com是指你的域名(也可以用IP代替),如果是用域名,推荐使用Namesilo

4.启动shadowsocks-manager(我直接使用screen启动了,如果要调试,自行取消screen -dmS ssmgr/webgui

启动时我遇到这个错误Error: Cannot find module ‘/usr/lib/node_modules/shadowsocks-manager/node_modules/sqlite3/lib/binding/node-v48-linux-x64/node_sqlite3.node’,Google之作者的回复是由于网络原因安装失败,建议我们重新安装试试:

但是我重新安装了几次都没有成功,最后的解决方法是是:

 

在网页上配置shadowsocks-manager

按照第二部分配置好之后,打开http://yourwebsite.com就可以看到注册界面了,首次注册的账号即为管理员~

shadowsocks-manager-web

如上图所示,shadowsocks-manager可以实现shadowsocks新用户注册,用户管理,账号管理(端口配置&流量限制),甚至可以将多台服务器一起管理起来,实现多台服务器的shadowsocks流量限制与用户管理。

 

搭建shadowsocks-manager视频教程

录制了一个视频教程,可以关注公众号flyzy小站,回复多用户视频,即可获得

flyzy小站

 

Telegram频道已经开通,关注flyzythink,随手分享正能量,了解VPS优惠与补货
Telegram群组已经开通,加入flyzy小站,FREE TO TALK
QQ群开通:780593286 flyzy小站
点赞
  1. king说道:

    博主,在ssmgr -c ~/.ssmgr/ss.yml这句出错了,不知道如何处理呢。。
    /usr/local/nodejs/node-v6.10.3-linux-x64/lib/node_modules/shadowsocks-manager/lib/
    /usr/local/nodejs/node-v6.10.3-linux-x64/lib/node_modules/shadowsocks-manager/bin/ssmgr:7
    process.chdir(lib);
    ^

    Error: ENOENT: no such file or directory, uv_chdir
    at Error (native)
    at Object. (/usr/local/nodejs/node-v6.10.3-linux-x64/lib/node_modules/shadowsocks-manager/bin/ssmgr:7:9)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:390:7)
    at startup (bootstrap_node.js:150:9)

  2. king说道:

    我域名用来做博客了,ip地址放了一个简单的网页,然后数ip地址就显示那个网页,不是ss-manager。是不是要删除ip地址的网页呢?

    1. flyzy小站说道:

      可以结合nginx做反向代理

  3. LLL说道:

    TypeError: Cannot read property 'address' of undefined
    at Object. (/usr/lib/node_modules/shadowsocks-manager/lib/services/manager.js:12:28)
    at Module._compile (module.js:577:32)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)
    at Module.require (module.js:504:17)
    at require (internal/module.js:20:19)
    at global.appRequire.filePath (/usr/lib/node_modules/shadowsocks-manager/lib/init/utils.js:6:10)
    at manager (/usr/lib/node_modules/shadowsocks-manager/lib/init/loadServices.js:11:3)
    at Object. (/usr/lib/node_modules/shadowsocks-manager/lib/init/loadServices.js:16:3)
    at Module._compile (module.js:577:32)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)

    请教一下老哥

  4. tepjew说道:

    在注册那里,发送验证码错误,换了几个邮箱了。
    [2018-06-14 10:02:13.880] [ERROR] email - Send code fail: Error: Mail command failed: 553 Mail from must equal authorized user
    [2018-06-14 10:02:13.882] [ERROR] webgui - { Error: Mail command failed: 553 Mail from must equal authorized user
    at SMTPConnection._formatError (/usr/lib/node_modules/shadowsocks-manager/node_modules/nodemailer/lib/smtp-connection/index.js:606:19)
    at SMTPConnection._actionMAIL (/usr/lib/node_modules/shadowsocks-manager/node_modules/nodemailer/lib/smtp-connection/index.js:1365:34)
    at SMTPConnection._responseActions.push.str (/usr/lib/node_modules/shadowsocks-manager/node_modules/nodemailer/lib/smtp-connection/index.js:855:18)
    at SMTPConnection._processResponse (/usr/lib/node_modules/shadowsocks-manager/node_modules/nodemailer/lib/smtp-connection/index.js:762:20)
    at SMTPConnection._onData (/usr/lib/node_modules/shadowsocks-manager/node_modules/nodemailer/lib/smtp-connection/index.js:558:14)
    at TLSSocket._socket.on.chunk (/usr/lib/node_modules/shadowsocks-manager/node_modules/nodemailer/lib/smtp-connection/index.js:510:47)
    at emitOne (events.js:96:13)
    at TLSSocket.emit (events.js:188:7)
    at readableAddChunk (_stream_readable.js:176:18)
    at TLSSocket.Readable.push (_stream_readable.js:134:10)
    at TLSWrap.onread (net.js:559:20)
    code: 'EENVELOPE',
    response: '553 Mail from must equal authorized user',
    responseCode: 553,
    command: 'MAIL FROM' }
    [2018-06-14 10:02:13.895] [ERROR] express - [undefined] POST 403 3422ms /api/home/code

    1. flyzy小站说道:

      Mail command failed: 553 Mail from must equal authorized user,搜下这个错误?

  5. zzzzzqzz说道:

    老哥,刚弄完一键搭建shadowsocks,可以直接安装这个吗

    1. flyzy小站说道:

      可以的 搭建ss是这个的基础

  6. Lumiry说道:

    [email protected]:~/.ssmgr# ssmgr -c ~/.ssmgr/webgui.yml
    /usr/lib/node_modules/shadowsocks-manager/lib/
    [2018-06-01 03:16:33.224] [INFO] system - System start.
    [2018-06-01 03:16:33.425] [ERROR] system - Caught exception:
    [2018-06-01 03:16:33.425] [ERROR] system - TypeError: Path must be a string. Received undefined
    at assertPath (path.js:7:11)
    at Object.basename (path.js:1361:5)
    at Object. (/usr/lib/node_modules/shadowsocks-manager/lib/init/checkConfig.js:46:18)
    at Module._compile (module.js:577:32)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)
    at Module.require (module.js:504:17)
    at require (internal/module.js:20:19)
    博主 我执行 ssmgr -c ~/.ssmgr/webgui.yml命令后报上面的错误!求指教

    1. flyzy小站说道:

      这个错误我不清楚 没遇到过

      1. rany说道:

        我也遇到了这个问题 :smile: 我也遇到这个问题了 :idea:

  7. 毅之力说道:

    运行 npm i -g shadowsocks-manager 指令后出现错误

    npm ERR! code E404
    npm ERR! 404 Not Found: [email protected]^1.1.0

    npm ERR! A complete log of this run can be found in:
    npm ERR! /root/.npm/_logs/2018-05-26T02_24_55_995Z-debug.log

    不知道是什么原因,希望博主解答下。

    1. flyzy小站说道:

      Google一下,你就知道。应该是npm没装好

      1. 毅之力说道:

        输入命令npm -v 显示版本号是6.1.0
        应该是装好了吧

  8. xli说道:

    ss.yml启动,但是在启动webgui.yml的时候报如下错误,请教博主这是什么问题
    [email protected]:~/.ssmgr# ssmgr -c ~/.ssmgr/webgui.yml
    /usr/lib/node_modules/shadowsocks-manager/lib/
    [2018-05-24 17:17:42.325] [INFO] system - System start.
    [2018-05-24 17:17:43.505] [ERROR] flowSaver - connect to server [email protected]我的ip:4001 fail.

  9. 小白说道:

    我的网址已经能打开了,添加账号成功,但是用客户端shadowsocks登不上呢。。请教一下有可能是什么问题呢,客户端的ip端口没错,和我自己添加的账号一致

    1. flyzy小站说道:

      这个有延时的,一般要等一会生效,如果还是不行,你就看下日志是什么,或者不用screen启动,看控制台输出

      1. 小白说道:

        确实是延迟,现在可以打开了,非常感谢!

  10. Elf北斗说道:

    [BEGIN] 2018/5/19 17:23:07
    [email protected]:~# vi ~/.ssmgr/ss.yml #
    [email protected]:~# address: 45.77.85.47:4001
    address:: command not found
    [email protected]:~# password: '123456'
    password:: command not found
    [email protected]:~# db: 'ss.sqlite'
    No command 'db:' found, did you mean:
    Command 'dba' from package 'wise' (universe)
    Command 'dbd' from package 'netatalk' (universe)
    db:: command not found
    [email protected]:~# vi ~/.ssmgr/ss.yml #
    [email protected]:~# vi ~/.ssmgr/webgui.yml #
    [email protected]:~# screen -dmS ssmgr ssmgr -c ~/.ssmgr/ss.yml
    [email protected]:~# screen -dmS webgui ssmgr -c ~/.ssmgr/webgui.yml
    [email protected]:~# reboot
    Connection closing...Socket close.
    Connection closed by foreign host.
    Disconnected from remote host(美国) at 17:02:39.
    Type `help' to learn how to use Xshell prompt.
    [c:\~]$
    日志是这样的是不是我的服务器地址或者是密码不对呀?
    弄了两天一直没成功,
    也不知道应该搜索什么T T,
    求大神帮帮忙 :biggrin:

    1. flyzy小站说道:

      每个命令最后怎么有个#?
      我录了一个视频的,你可以参考视频

      1. Elf北斗说道:

        按视频装完以后报ssmgr: command not found。然后重装ssmgr。卡在ERR! registry error parsing json这里就不动了

  11. paopaoyu说道:

    npm WARN deprecated [email protected]: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js
    npm WARN deprecated [email protected]: This module relies on Node.js's internals and will break at some point. Do not use it, and update to [email protected]
    Killed ...] - extract:sha.js: sill gunzTarPerm extractEntry isNumber.js

    楼主 我shadowsocks-manager一直安装失败 看了半天也没弄懂这什么意思 没有学过Node'js :cry: :cry: :cry: :cry: :cry: :cry: :cry: :cry:

    1. flyzy小站说道:

      killed说明内存不够 一般得要1G

  12. 行走的校草说道:

    网页填写email时发送验证码出错服务器报[undefined] POST 403 2437ms /api/home/code
    博主有什么高见

    1. 行走的校草说道:

      之前问题已经通过修改QQ邮箱账号好了,现在的问题是注册用户扫描二维码无法联网

      1. flyzy小站说道:

        这个会有延时的,你等一会看看

          1. flyzy小站说道:

            那就不要用screen启动看日志 看有没有错误

          2. 行走的校草说道:

            [email protected]:~# ssmgr -c ~/.ssmgr/ss.yml
            /usr/lib/node_modules/shadowsocks-manager/lib/
            [2018-05-15 00:14:16.826] [INFO] system - System start.
            ^C
            [email protected]:~# ssmgr -c ~/.ssmgr/webgui.yml
            /usr/lib/node_modules/shadowsocks-manager/lib/
            [2018-05-15 00:14:27.985] [INFO] system - System start.

  13. 突击核说道:

    我npm i -g shadowsocks-manager永远只有警告没有报错,但装出来但node_modules 里面只有nan sqlite3,ssmgr命令not found,怎么样才能成功安装呢

    1. flyzy小站说道:

      没有killed就行了。你看它运行后的提示

      1. 突击核说道:

        应该是我npm装的有问题,现在已经搭好了,不过用户界面的二维码显示好像有问题,管理员管理账号显示的二维码是正常的,用户进去的二维码ip部分扫出来是undefined,有解决办法吗

        1. 突击核说道:

          二维码的问题看懂系统怎么设置的了,自己蠢了,不过用户分组好像有问题
          [2018-05-04 08:54:13.580] [ERROR] express - [undefined] GET 403 6ms /api/admin/notice
          { Error: select "group"."id" as "id", "group"."showNotice" as "showNotice" from "user" inner join "group" on "user"."group" = "group"."id" where "user"."id" = 6 - SQLITE_ERROR: no such table: group
          at Error (native) errno: 1, code: 'SQLITE_ERROR' }
          绑定Telegram也是
          [2018-05-04 08:56:57.861] [ERROR] express - [undefined] GET 403 986ms /api/admin/telegram/code
          TypeError: Cannot read property 'username' of undefined
          at Object. (/usr/local/lib/node_modules/shadowsocks-manager/lib/plugins/webgui_telegram/user.js:120:33)
          at next (native)
          at step (/usr/local/lib/node_modules/shadowsocks-manager/lib/plugins/webgui_telegram/user.js:3:191)
          at /usr/local/lib/node_modules/shadowsocks-manager/lib/plugins/webgui_telegram/user.js:3:361

  14. lee说道:

    卡在了“新建配置文件ss.yml,例如我放在~/.ssmgr路径下”之后,怎么也跳不出来。我是纯小白一个,完全照葫芦画葫芦。

    1. flyzy小站说道:

      就是新建一个文件,里面是这些内容。我在以前的回复里回复过,你看下

  15. ss说道:

    博主请教gyteng / shadowsocks-manager-tiny的配置方法https://github.com/gyteng/shadowsocks-manager-tiny.git谢谢

    1. flyzy小站说道:

      ssserver -m aes-256-cfb -p 1001 -k aqwes1asdfas --manager-address 127.0.0.1:6001 -d start && cd shadowsocks-manager-tiny && screen -dmS ssmgr node index.js 127.0.0.1:6001 0.0.0.0:4001 password

      1. ss说道:

        博主,中间出来个这个是啥意思啊[SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode]

      2. ss说道:

        请问博主这个命令输入完了之后要怎么配置个人信息呢,为啥自己的服务器地址打不开?

        1. flyzy小站说道:

          打不开地址说明你配置有问题,可以不用screen方式开启,看看错误信息是什么

          1. ss说道:

            取消screen后提示[2018-05-10 08:13:41.727] server listen on 0.0.0.0:4001
            然后也打不开我的服务器地址的网页

          2. flyzy小站说道:

            先启动ss.yml看看有没有错,没有的话用screen启动ss.yml,再启动webgui.yml看看有没有错误

  16. 小白白说道:

    博主 你好 之前提出的问题 我都已经解决好了 但目前出现的问题 我添加了多台服务器 账号自行注册后 用分配的端口和密码进行连接 没有ping 也无法打开国外网站, 有一次试了很久后可以连接 ,但我把vps重启 后 又不能连接 这怎么解决 希望博主能帮助解决下

    1. flyzy小站说道:

      它这个加了账号有延时的 稍微等一下就好了。
      重启服务器后,你重新开了ssmgr和ss服务了吗?

      1. 小小白说道:

        博主 你好 我发现我运行ssmgr -c ~/.ssmgr/ss.yml 会报错 是不是这个错误导致我不能ping通
        [2018-05-01 04:12:24.941] [ERROR] system - client error: { Error: bind EADDRINUSE 0.0.0.0:4001
        at Object.exports._errnoException (util.js:1020:11)
        at exports._exceptionWithHostPort (util.js:1043:20)
        at _handle.lookup (dgram.js:219:18)
        at _combinedTickCallback (internal/process/next_tick.js:83:11)
        at process._tickCallback (internal/process/next_tick.js:104:9)
        code: 'EADDRINUSE',
        errno: 'EADDRINUSE',
        syscall: 'bind',
        address: '0.0.0.0',
        port: 4001 }
        [2018-05-01 04:12:24.952] [ERROR] system - socket error: { Error: listen EADDRINUSE 45.77.37.80:4001
        at Object.exports._errnoException (util.js:1020:11)
        at exports._exceptionWithHostPort (util.js:1043:20)
        at Server._listen2 (net.js:1271:14)
        at listen (net.js:1307:10)
        at net.js:1417:9
        at _combinedTickCallback (internal/process/next_tick.js:83:11)
        at process._tickCallback (internal/process/next_tick.js:104:9)
        code: 'EADDRINUSE',
        errno: 'EADDRINUSE',
        syscall: 'listen',
        address: '45.77.37.80',
        port: 4001 }

        1. 小白白说道:

          博主你好 在网页中服务器端口为红色 正常吗

        2. flyzy小站说道:

          EADDRINUSE是端口被占用的意思啊 我之前不是在评论里回复过吗?
          这种问题,Google是你的好朋友

  17. 小白白说道:

    博主 你好 ,根据你的操作 在webgui文件中我都设置ip端口80会报错,设置端口100解决问题,根据前面所述 80是HTTP的默认端口,我已经购买域名,我十分希望解决这个80报错问题,以便我直接用域名解析到ip,谢谢博主帮忙解决

    1. flyzy小站说道:

      是不是你的80端口被其他软件占用了,例如Apache、Nginx

      1. 小白白说道:

        进入网站 没有办法添加其他服务器

      2. 小白白说道:

        我一直不太理解 在这之前 需要用这个vps建立ss吗? 然后在安装如上述的教程?

      3. 小白白说道:

        我用xshell运行最后
        screen -dmS ssmgr ssmgr -c ~/.ssmgr/ss.yml

        screen -dmS webgui ssmgr -c ~/.ssmgr/webgui.yml

        可以打开网站
        断开xshell 就打不开了
        这是为什么呢

  18. Edward说道:

    博主您好,请教一下在配置ss的时候显示:option --manager-address not recognized该怎么办? 好像识别不了--manager-address 127.0.0.1:6001

    1. flyzy小站说道:

      你是python版的ss吗

      1. Edward说道:

        昨晚最后稀里糊涂的弄好了,最后有几个问题想请教一下,一是公告页面一直转圈加载无法显示,可以添加新公告但是显示不了选择不了,二是如何实现站内邮件或者外部邮件自动给每个用户发邮件呢?想实现给注册用户发送ss客户端该怎么实现呢?还请指点一下,谢谢博主!

        1. flyzy小站说道:

          这个你可以修改你注册发送的邮件内容的 你在注册的邮件里放个下载链接好了

          1. Edward说道:

            嗯嗯好的,没想到这个方式,非常感谢!公告一直加载不能显示和选择有什么办法吗?

      2. Edward说道:

        还有就是这个教程适用于ssr吗?

        1. flyzy小站说道:

          不行 这个不支持ssr

  19. junyang说道:

    screen -dmS ssmgr ssmgr -c ~/.ssmgr/ss.yml
    screen -dmS webgui ssmgr -c ~/.ssmgr/webgui.yml
    两条命令都没有任何返回信息,并且访问不到http://yourwebsite.com,会自动跳转到一个不知道什么网站去。(VPN已经处于可用状态了)

    1. flyzy小站说道:

      确实没有显示啊,screen就是不显示信息的,相当于另开了一个窗口

  20. junyang说道:

    安装shadowsocks-manager出现如下:
    [email protected]:~# npm install -g shadowsocks-manager
    npm WARN deprecated [email protected]: If using 2.x branch, please upgrade to at least 2.1.6 to avoid a serious bug with socket data flow and an import issue introduced in 2.1.0
    npm WARN deprecated [email protected]: gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5
    npm WARN deprecated [email protected]: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js
    npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
    npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
    npm WARN deprecated [email protected]: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js
    npm WARN deprecated [email protected]: This module relies on Node.js's internals and will break at some point. Do not use it, and update to [email protected]
    /usr/bin/ssmgr -> /usr/lib/node_modules/shadowsocks-manager/bin/ssmgr

    > [email protected] install /usr/lib/node_modules/shadowsocks-manager/node_modules/sqlite3
    > node-pre-gyp install --fallback-to-build

  21. 风住尘香说道:

    [email protected]:~# ssmgr -c ~/.ssmgr/ss.yml
    /usr/lib/node_modules/shadowsocks-manager/lib/
    /usr/lib/node_modules/shadowsocks-manager/bin/ssmgr:7
    process.chdir(lib);
    ^

    Error: ENOENT: no such file or directory, uv_chdir
    at Error (native)
    at Object. (/usr/lib/node_modules/shadowsocks-manager/bin/ssmgr:7:9)
    at Module._compile (module.js:577:32)
    at Object.Module._extensions..js (module.js:586:10)
    at Module.load (module.js:494:32)
    at tryModuleLoad (module.js:453:12)
    at Function.Module._load (module.js:445:3)
    at Module.runMain (module.js:611:10)
    at run (bootstrap_node.js:387:7)
    at startup (bootstrap_node.js:153:9)
    我重装了前面的各种软件后重新搞,到这里开启ss.yml报错,怎么处理?

    1. flyzy小站说道:

      没有ss.yml这个文件?

      1. 风住尘香说道:

        [email protected]:~# cd ~/.ssmgr
        [email protected]:~/.ssmgr# ls
        ss.yml webgui.yml
        [email protected]:~/.ssmgr#
        看了下是有的,vi打开也有内容

        1. flyzy小站说道:

          这种问题 google一搜不是一大堆一样的吗...

  22. 风住尘香说道:

    [2018-04-24 05:26:40.544] [ERROR] system - { Error: connect ECONNREFUSED 176.122.190.121:4001
    at Object.exports._errnoException (util.js:1020:11)
    at exports._exceptionWithHostPort (util.js:1043:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1105:14)
    code: 'ECONNREFUSED',
    errno: 'ECONNREFUSED',
    syscall: 'connect',
    address: '176.122.190.121',
    port: 4001 }
    [2018-04-24 05:26:40.545] [ERROR] account - Error: connect to ssmgr[s] fail [176.122.190.121:4001]
    at Socket.client.on.err (/usr/lib/node_modules/shadowsocks-manager/lib/services/manager.js:103:14)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at emitErrorNT (net.js:1296:8)
    at _combinedTickCallback (internal/process/next_tick.js:80:11)
    at process._tickCallback (internal/process/next_tick.js:104:9)
    [2018-04-24 05:26:55.016] [ERROR] email - Send code fail: Error: Connection timeout
    [2018-04-24 05:26:55.017] [ERROR] webgui - { Error: Connection timeout
    at SMTPConnection._formatError (/usr/lib/node_modules/shadowsocks-manager/node_modules/nodemailer/lib/smtp-connection/index.js:606:19)
    at SMTPConnection._onError (/usr/lib/node_modules/shadowsocks-manager/node_modules/nodemailer/lib/smtp-connection/index.js:579:20)
    at Timeout._connectionTimeout.setTimeout (/usr/lib/node_modules/shadowsocks-manager/node_modules/nodemailer/lib/smtp-connection/index.js:261:18)
    at ontimeout (timers.js:386:11)
    at tryOnTimeout (timers.js:250:5)
    at Timer.listOnTimeout (timers.js:214:5) code: 'ETIMEDOUT', command: 'CONN' }
    验证码一直在转圈。大佬看看,还有域名ip能ping,域名不行该怎么解决?

    1. 风住尘香说道:

      域名可以ping了也可以打开了,大佬看下前面的错误日志 :idea:

    2. flyzy小站说道:

      ECONNREFUSED 是端口被占用的错误

      1. 风住尘香说道:

        我不知道应该怎么处理。谢谢,找了网上的方法好像没用

        1. flyzy小站说道:

          ps -aux查看所有进程,把所有有ssmgr的进程都kill掉

          1. 风住尘香说道:

            没有找到这样的进程,请问SQLite数据库是不是要去安装还是什么的?教程里没有提到

          2. flyzy小站说道:

            你在安装shadowsocksmanager的时候会装SQLite的

  23. 风住尘香说道:

    “按照第二部分配置好之后,打开http://yourwebsite.com就可以看到注册界面了,首次注册的账号即为管理员~”,大佬这里是用什么打开的?前面的最后一步两个都读出system start了,还有之前的80端口报错改成了100过了没问题吧?

    1. flyzy小站说道:

      1.浏览器打开
      2.80改成100就要加上:100,因为http的默认端口是80

      1. 风住尘香说道:

        域名解析后出现记录,回域名官网填上了这两个f1g1ns1.dnspod.net,f1g1ns2.dnspod.net,这里操作有错吗?之后怎么确认进度?还有域名就是自己选的xxx.com吗,前面要不要加www

  24. 吉子说道:

    你好,为什么SS开启后,过一段时间又会自己关闭,如何设置一直开启?

    1. flyzy小站说道:

      啥意思?ss怎么会自动关闭

      1. 吉子说道:

        对啊,过一段时间就不能打开网页了,然后得重新 使用screen 命令就好了,另外,分配新用户后,新用户的帐号无法上外网,怎么破?

  25. 风住尘香说道:

    大佬,请问这个可以用在搬瓦工vps网站上直接搭ss的上吗?还是必须在Ubuntu里安shadowsocks?

    1. flyzy小站说道:

      可以用centos的 但是我的教程是基于ubuntu的 centos的命令可能不一样

      1. 风住尘香说道:

        如果搬瓦工系统系统重装为ubuntu后是否可以通过putty来按教程操作 :idea:

          1. 风住尘香说道:

            putty配置ss时启动ss出现option -d not recognized :idea:

          2. flyzy小站说道:

            你的ss版本过低 卸载了重新安装

          3. 风住尘香说道:

            SSH服务器拒绝了密码,重装了好多次系统还有修改密码都没用,可不可以qq远程一下,我qq1278003006

          4. flyzy小站说道:

            。。。你是不是翻译页面了?用户名root,密码就是直接复制就行了啊

          5. Edward说道:

            求教一下卸载重装ss或者更新ss的指令是什么哦?非常感谢!

          6. flyzy小站说道:

            卸载ss:pip uninstall shadowaocks

  26. Jcp说道:

    博主,我在安装那个shadowsocks-manager时 出现
    npm WARN deprecated [email protected]: If using 2.x branch, please upgrade to at least 2.1.6 to avoid a serious bug with socket data flow and an import issue introduced in 2.1.0
    npm WARN deprecated [email protected]: gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5
    npm WARN deprecated [email protected]: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js
    npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
    npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
    npm WARN deprecated [email protected]: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js
    npm WARN deprecated [email protected]: This module relies on Node.js's internals and will break at some point. Do not use it, and update to [email protected]

    是不是要更新 upgrade

    1. Jcp说道:

      系统kill了
      Killed ...] | extract:later: verb gentlyRm don't care about contents; nuking /usr/lib/node_modules/.stagin

      1. flyzy小站说道:

        kill是因为你机子内存不够 一般1G够用 512经常被KILL

        1. Jcp说道:

          那我是不是需要换服务器啊?
          请问博主,是不是日本的服务器比较稳定

          1. flyzy小站说道:

            日本和洛杉矶都不错

          2. Jcp说道:

            好的,谢谢

    2. flyzy小站说道:

      WARN没关系的,只要没有被killed就行

  27. Tommy说道:

    啊,为什么搭建好几次都出错了啊

    1. flyzy小站说道:

      不要用screen方式启动,看错误日志

  28. 一诺千金说道:

    博主你好,我按照你的教程操作, 过程也没出现错误问题 ,但是打开http://IP:8080网页的时候,无法打开。运行完“screen -dmS ssmgr ssmgr -c ~/.ssmgr/ss.yml screen -dmS webgui ssmgr -c ~/.ssmgr/webgui.yml”命令还需要其他操作吗?

    1. flyzy小站说道:

      把screen -dmS ssmgr/webgui 取消了运行看看日志信息

      1. 一诺千金说道:

        博主 我运行了 “ssmgr -c ~/.ssmgr/ss.yml” 和“ssmgr -c ~/.ssmgr/webgui.yml” 提示:ssmgr: command not found。求指教。 :razz:

        1. flyzy小站说道:

          你应该是ssmgr没有安装成功,是不是安装的时候被kill掉了?512兆内存的经常被kill的

          1. 盒子说道:

            请问ssmgr没有安装成功的问题怎么解决啊 没有发现重新装ssmgr的步骤

          2. flyzy小站说道:

            你是指装的过程中被Killed掉了吗?直接再安装就可以了

  29. shas说道:

    碰到太多问题心烦直接重装服务器了 重新配置后前面都挺成功 但又出现了这个问题
    ssmgr -c ~/.ssmgr/webgui.yml
    /usr/lib/node_modules/shadowsocks-manager/lib/
    [2018-03-25 11:23:43.404] [INFO] system - System start.
    Error: connect ECONNREFUSED 104.156.239.8:4001
    at Object.exports._errnoException (util.js:1020:11)
    at exports._exceptionWithHostPort (util.js:1043:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1105:14)
    code: 'ECONNREFUSED',
    errno: 'ECONNREFUSED',
    syscall: 'connect',
    address: '104.156.239.8',
    port: 4001 }

    换了其他端口也是报4001端口的错误 netstat -lnp|grep 4001也没有回应

    1. flyzy小站说道:

      关闭了所有进程 配置文件里全部改成不是4001 都会报这个错?

      1. shas说道:

        对 都是报4001

        1. flyzy小站说道:

          重启服务器后再试试

          1. shas说道:

            没用 就不停跳这两个错误
            [2018-03-25 15:39:55.297] [ERROR] system - { Error: connect ECONNREFUSED 104.156.239.8:4001
            at Object.exports._errnoException (util.js:1020:11)
            at exports._exceptionWithHostPort (util.js:1043:20)
            at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1105:14)
            code: 'ECONNREFUSED',
            errno: 'ECONNREFUSED',
            syscall: 'connect',
            address: '104.156.239.8',
            port: 4001 }
            [2018-03-25 15:39:55.319] [ERROR] account - Error: connect to ssmgr[s] fail [104.156.239.8:4001]
            at Socket.client.on.err (/usr/lib/node_modules/shadowsocks-manager/lib/services/manager.js:103:14)
            at emitOne (events.js:96:13)
            at Socket.emit (events.js:188:7)
            at emitErrorNT (net.js:1296:8)
            at _combinedTickCallback (internal/process/next_tick.js:80:11)
            at process._tickCallback (internal/process/next_tick.js:104:9)

  30. shas说道:

    发送不了验证码
    ssmgr -c ~/.ssmgr/webgui.yml
    /usr/local/nodejs/node-v6.9.1-linux-x64/lib/node_modules/shadowsocks-manager/lib/
    /usr/local/nodejs/node-v6.9.1-linux-x64/lib/node_modules/shadowsocks-manager/bin/ssmgr:7
    process.chdir(lib);
    ^

    Error: ENOENT: no such file or directory, uv_chdir
    at Error (native)
    at Object. (/usr/local/nodejs/node-v6.9.1-linux-x64/lib/node_modules/shadowsocks-manager/bin/ssmgr:7:9)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:394:7)
    at startup (bootstrap_node.js:149:9)
    这是什么问题?

    1. flyzy小站说道:

      不清楚 看日志信息是你少什么文件

      1. shas说道:

        如何干净卸载呢 npm uninstall -g shadowsocks-manager后 ssmgr --help已经是-bash: /usr/local/bin/ssmgr: No such file or directory了 但打开服务器地址依旧能打开ssmgr页面

        1. flyzy小站说道:

          ps -aux,然后用kill pid把那个进程杀了

          1. shas说道:

            ssmgr -c ~/.ssmgr/webgui.yml
            /usr/local/nodejs/node-v6.9.1-linux-x64/lib/node_modules/shadowsocks-manager/lib/
            [2018-03-25 14:14:32.300] [INFO] system - System start.
            [2018-03-25 14:14:34.211] [ERROR] webgui - express server error: Error: listen EADDRINUSE 0.0.0.0:80
            这次又是什么问题 80端口被占用了? Apache端口已经改成90了啊

          2. flyzy小站说道:

            RADDRINUSE就是端口已经被占用的错误,你看下别的进程有没有占用80

  31. 火火火说道:

    能问下最后支付宝支付哪里到底怎么做的么?怎么实现支付的 :idea:

    1. flyzy小站说道:

      要去支付宝申请的,直接打到你的支付宝账号。参考:https://github.com/shadowsocks/shadowsocks-manager/wiki/WebGUI

      1. 火火火说道:

        支付宝要商家注册不行了,PayPal也不知道该怎么弄。。。
        试着启动了下,发下在webgui那里出问题了,能帮看下么
        [email protected]:~# ssmgr -c ~/webgui.yml
        /usr/lib/node_modules/shadowsocks-manager/lib/
        [2018-03-17 04:14:02.692] [INFO] system - System start.
        [2018-03-17 04:14:04.734] [ERROR] system - { Error: connect ECONNREFUSED 45.76.195.110:4001
        at Object.exports._errnoException (util.js:1020:11)
        at exports._exceptionWithHostPort (util.js:1043:20)
        at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1105:14)
        code: 'ECONNREFUSED',
        errno: 'ECONNREFUSED',
        syscall: 'connect',
        address: '45.76.195.110',
        port: 4001 }
        [2018-03-17 04:14:04.744] [ERROR] flowSaver - connect to server [email protected]:4001 fail.

        1. flyzy小站说道:

          看信息似乎是服务器地址写的不对了那个用了4001端口的

          1. 火火火说道:

            这部分我解决了,可是开了ss.yml和webgui.yml后,访问结果是拒绝了访问请求。。。不知道是怎么回事。。。

          2. 火火火说道:

            哈,不弄这个了,花了我很多时间,还是用你之前写的那个ss-bash吧,等我以后会写简单的服务器在说吧

  32. tt说道:

    教程很好,可惜自己不懂系统,能详细一点(比如怎么编文件,存文件..etc)就更好的

  33. 娜迦亡说道:

    求图解教程 这样看不懂

  34. shang说道:

    怎么新建配置文件啊

    1. flyzy2005说道:

      以我的为例:
      新建~/.ssmgr文件夹:mkdir ~/.ssmgr
      新建配置文件并保存(以ss.yml为例):vi ~/.ssmgr/ss.yml

  35. 娜迦亡说道:

    这里看不懂 :exclaim: ,如果我想给多个人用我就只用那个一件搭建的二维码是不是就够了,还有我延迟怎么一直在160ms,但是电脑上看油管又能带4k

    1. flyzy2005说道:

      根据不同的流量限制与多用户配置需求,参考:shadowsocks配置多用户多密码
      延时不等于网速。vultr开了bbr,网速还是可以的,延时没办法,毕竟服务器在美国。

      1. 娜迦亡说道:

        No command 'type:' found, did you mean:
        Command 'typer' from package 'erlang-typer' (universe)
        type:: command not found
        按照博客上写的到了第三步,粘贴后出现这一段话,感觉不太妙,然后第四段怎么都看不懂

        1. flyzy2005说道:

          那个是配置文件啊 不是直接写在命令行里的 要新建一个文件写在文件里

  36. young说道:

    博主哒哒,这一套走到最后都成功了打开网址却没有注册界面,请帮我分析一下。辛苦了,赞助一杯茶钱 :biggrin:
    第一个疑问:最后这一步 4.启动shadowsocks-manager(我直接使用screen启动了,如果要调试,自行取消screen -dmS ssmgr/webgui)
    screen -dmS ssmgr ssmgr -c ~/.ssmgr/ss.yml
    screen -dmS webgui ssmgr -c ~/.ssmgr/webgui.yml
    这两句执行完很干净,没提示也没报错,应该是成功了吧?
    第二个疑问:
    使用shadowsocks-manager实现多用户管理与流量限制
    1.开启shadowsocks
    ssserver -m aes-256-cfb -p 12345 -k abcedf --manager-address 127.0.0.1:6001 -d start
    这一步是必须的吗,启动ss之前不是后台运行了吗?P 12345 k abcedf 是端口密码吗?我的shadowsocks.json没有配置这个端口 配置的server端口:20000 本地是127.0.0.1:1080

    1. young说道:

      对了,网站是https://young2018.weebly.com/ 用的weebly现成的没关系吧

      1. flyzy2005说道:

        只要DNS解析到你的ip就可以

    2. flyzy2005说道:

      1. 用screen运行,都没有提示的,所以你如果要看有没有错误,把screen -dmS ssmgr去掉(就如我括号里的说明一样),如果这样没有红字提示的话,说明ssmgr正常。
      2. 这是开启shadowsocks的命令行用法,-p接端口,-k接密码,用命令行开启的话,你的本地shadowsocks.json就不起作用了。注意用这个开启,保证之前服务器端的ss服务没有开启,即运行完是started,而不是already started at pid ***

      1. young说道:

        上面的问题都解决了 :eek: ,但是注册的时候获取验证码"验证码发送错误"

        1. flyzy2005说道:

          SMTP不是你登录邮箱的账号密码,是独立生成的一个验证码,去你的邮箱服务商那里申请开通SMTP服务。
          我试过163(有时候发送失败),QQ(相对比较稳定,发送QQ&gmail邮箱都是秒到)。
          如果还是错误,你将最后screen -dmS webgui ssmgr -c ~/.ssmgr/webgui.yml改成ssmgr -c ~/.ssmgr/webgui.yml看看错误是啥。

          1. young说道:

            这个地方我是这样填的:
            use: true
            type: 'smtp'
            username: '我的[email protected]'
            password: 'qq邮箱的登录密码'
            host: 'smtp.qq.com'
            执行结果:
            [email protected]:~# ssmgr -c ~/.ssmgr/webgui.yml
            /usr/lib/node_modules/shadowsocks-manager/lib/
            [2018-03-01 03:50:25.182] [INFO] system - System start.
            这个没错的吧.
            pop3和imap都开启了,但是qq邮箱设置那里有个温馨提示:登录第三方客户端时,密码框请输入“授权码”进行验证.是这个授权码的问题吗?

          2. young说道:

            等了3分钟,有错误了
            [email protected]:~# ssmgr -c ~/.ssmgr/webgui.yml
            /usr/lib/node_modules/shadowsocks-manager/lib/
            [2018-03-01 03:50:25.182] [INFO] system - System start.
            [2018-03-01 03:53:00.060] [ERROR] system - { code: 1 }
            [2018-03-01 03:53:00.072] [ERROR] flowSaver - Error: ssmgr[s] return an error code [我的vps的ip:4001]
            at receiveData.then.message (/usr/lib/node_modules/shadowsocks-manager/lib/services/manager.js:90:18)
            at process._tickCallback (internal/process/next_tick.js:109:7)
            好奇怪,ss.yml和webgui.yml manager我都是配置的8001端口

          3. young说道:

            我觉得问题应该是,qq邮箱开启smtp后在第三方登录时需要授权码,这个好恶心,不知道怎么破,我先换gmail试试

  37. yang说道:

    走到下面这一步卡住了,这段命令识别不了,应该怎么操作啊 :idea: :idea:
    2.新建配置文件ss.yml,例如我放在~/.ssmgr路径下,内容如下:
    type: s
    shadowsocks:
    address: 127.0.0.1:6001
    # 这里的地址和端口需要跟上一步的 --manager-address 参数保持一致,连接上述 udp 端口
    manager:
    address: 0.0.0.0:4001
    # 这个 address 参数会让程序监听一个 tcp 端口,用于接收 webgui 发送过来的控制命令
    password: '123456'
    db: 'ss.sqlite'

    1. flyzy2005说道:

      什么意思?就是新建一个配置文件ss.yml啊这一步

      1. yang说道:

        博主大神,我指令还没学好,新建指令这样写可以吗? vi/~/.ssmgr/ss.yml

        1. flyzy2005说道:

          mkdir ~/.ssmgr # 新建文件夹
          vi ~/.ssmgr/ss.yml # 新建配置文件,vi后面有个空格

          1. yang说道:

            太到位了,蟹蟹博主了,我去试试先。

    1. flyzy2005说道:

      就是填你的站点url

      1. :exclaim: 怎么解析呢,把域名解析到这个vps上?

        1. flyzy2005说道:

          嗯,在域名服务商那里添加DNS解析到这个IP就行了

  38. NDJ说道:

    :evil: 老哥稳,发的东西都有用,如果能教下搭建私有云就更好了 :evil:

    1. flyzy2005说道:

      哈哈,那个我以后有时间可以研究研究,现在没有需求

发表评论

电子邮件地址不会被公开。 必填项已用*标注