利用shadowsocks-manager实现shadowsocks的多用户配置和流量统计与限制。基于python版的shadowsocks,科学上网:VPS上搭建shadowsocks。可视化操作界面,动态添加用户、端口,设置流量限制,多种统计流量方式,按小时、天、月等。支持用户注册与连接多台服务器共同管理用户与限制流量。
shadowsocks-manager是基于Node.js和SQLite的一个shadowsocks多用户管理与流量控制工具,当然数据库也可以使用MySQL。目前支持shadowsocks-python和shadowsocks-libev。本文以shadowsocks-python为例。
如果觉得搭建难度较大,可以结合视频一起来看,视频教程在文章底部。
更新:多个节点管理起来参考:利用shadowsocks-manger将多台vps上的ss连接起来
文章目录
安装Node.js
需要的Node版本为Node.js 8.*,建议采用nodesource进行安装。
系统为Ubuntu,安装方式:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - sudo apt-get install -y nodejs
安装shadowsocks-manager
直接用npm进行安装:
npm i -g shadowsocks-manager
更新:如果一直报错(WARN没有关系,要有ERR才是报错),则尝试执行:npm i -g shadowsocks-manager --unsafe-perm
。
使用shadowsocks-manager实现多用户管理与流量限制
1.开启shadowsocks
ssserver -m aes-256-cfb -p 12345 -k abcedf --manager-address 127.0.0.1:6001 -d start
注意此处的提示必须是started,而不是ERROR already started at pid ***,如果是后者,就先运行ssserver -d stop。
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'
3.新建配置文件webgui.yml,作为webgui这个插件的配置文件,内容如下(如有更新,以官方Wiki为准):
type: m manager: address: 45.77.58.123:4001 # 这里换成manager所在的服务器的ip password: '123456' # 这部分的端口和密码需要跟上一步 manager 参数里的保持一致,以连接 type s 部分监听的 tcp 端口 plugins: flowSaver: use: true user: use: true account: use: true macAccount: use: true group: use: true email: use: true type: 'smtp' username: 'username' password: 'password' host: 'smtp.your-email.com' # 这部分的邮箱和密码是用于发送注册验证邮件,重置密码邮件 webgui: use: true host: '0.0.0.0' port: '80' site: 'http://yourwebsite.com' # cdn: 'http://xxx.com' # 静态资源cdn地址,可省略 # icon: 'icon.png' # 自定义首页图标,默认路径在 ~/.ssmgr 可省略 # googleAnalytics: 'UA-xxxxxxxx-x' # Google Analytics ID,可省略 # gcmSenderId: '456102641793' # gcmSenderId 、gcmAPIKey 这两个是Chrome推送用的 # gcmAPIKey: 'AAAAGzzdqrE:XXXXXXXXXXXXXX' webgui_telegram: # telegram 机器人的配置,可省略 use: true token: '191374681:AAw6oaVPR4nnY7T4CtW78QX-Xy2Q5WD3wmZ' alipay: # 如果不使用支付宝,这段可以去掉 use: true appid: 2015012108272442 notifyUrl: 'http://yourwebsite.com/api/user/alipay/callback' merchantPrivateKey: 'xxxxxxxxxxxx' alipayPublicKey: 'xxxxxxxxxxx' gatewayUrl: 'https://openapi.alipay.com/gateway.do' paypal: # 如果不使用paypal,这段可以去掉 use: true mode: 'live' # sandbox or live client_id: 'At9xcGd1t5L6OrICKNnp2g9' client_secret: 'EP40s6pQAZmqp_G_nrU9kKY4XaZph' db: 'webgui.sqlite'
注:
1.其中http://yourwebsite.com是指你的域名(也可以用IP代替),如果是用域名,推荐使用Namesilo。
2.如果邮箱使用qq和163的邮箱一直发送失败(密码不是你的QQ密码,是一个独立的很长的密码,host是smtp.qq.com,163的自己搜看smtp服务器是什么),那么你可以试一下使用自己的域名邮箱:Zoho免费域名邮箱,正好可以让网站使用域名而不是IP。
4.启动shadowsocks-manager(我直接使用screen启动了,如果要调试,自行取消screen -dmS ssmgr/webgui)
screen -dmS ssmgr ssmgr -c ~/.ssmgr/ss.yml screen -dmS webgui ssmgr -c ~/.ssmgr/webgui.yml
启动时我遇到这个错误Error: Cannot find module ‘/usr/lib/node_modules/shadowsocks-manager/node_modules/sqlite3/lib/binding/node-v48-linux-x64/node_sqlite3.node’,Google之作者的回复是由于网络原因安装失败,建议我们重新安装试试:
npm uninstall -g shadowsocks-manager npm install -g shadowsocks-manager
但是我重新安装了几次都没有成功,最后的解决方法是是:
cd /usr/lib/node_modules/shadowsocks-manager/ npm install sqlite3 --save
更新:如果运行ssmgr提示“/usr/bin/env: ‘node\r’: No such file or directory”,那么是因为你在Mac上安装或者更新的shadowsocks-manger,导致换行符有点编码问题。解决方法是修改文件/usr/lib/node_modules/shadowsocks-manager/bin/ssmgr,修改方式,用vim编辑器在命令模式执行如下命令:
:se ff=unix :wq
在网页上配置shadowsocks-manager
按照第二部分配置好之后,打开http://yourwebsite.com就可以看到注册界面了,首次注册的账号即为管理员~
如上图所示,shadowsocks-manager可以实现shadowsocks新用户注册,用户管理,账号管理(端口配置&流量限制),甚至可以将多台服务器一起管理起来,实现多台服务器的shadowsocks流量限制与用户管理。
搭建shadowsocks-manager视频教程
录制了一个视频教程,可以关注公众号flyzy小站,回复多用户视频,即可获得
请问ssmgr可以用于ipv6的流量管理吗
不清楚这个,你可以看他github更新
博主,知道单端口多用户怎么统计流量吗?iptables只能根据端口来统计
不清楚
你好,请问管理平台里面的所用账户都是停用状态怎么解决啊
这个我也不了解
博主,你好,上午按照你的教程在Ubuntu上面搭建了,遇到个问题就是 --manager-address 127.0.0.1:6001 -d 这个参数加上就会报错,如何我给去掉了,去掉之后相当于用了默认0.0.0.0的吧,请问这个问题怎么解决啊,改为127.0.0.1,这样比较安全些,但是我这边就是不成功,
还有一个问题就是,上面这个我用不了127.0.0.1用的0.0.0.0,后续manage平台可以登录,也可以加账户,但是加入的账户就是无法连接上ss,请问怎么解决
站长,打扰一下,请问,可以提供一个现在可以安装ssmgr成功的教程连接吗?用了隔壁P君的也没有成功
现在好像要redis了,我也好久没用了
小白求问,只能进行到收到验证码这一步,然后就开始提示网络错误,不能注册和登录。
错误提示为:
/usr/lib/node_modules/shadowsocks-manager/
[2019-05-26T10:59:55.489] [INFO] system - System start[18214].
[2019-05-26T10:59:55.491] [INFO] system - Worker [18214] started
[2019-05-26T10:59:55.546] [INFO] system - Config file path: /root/.ssmgr/webgui.yml
[2019-05-26T10:59:56.592] [ERROR] webgui - express server error: Error: bind EADDRINUSE 0.0.0.0:80
[2019-05-26T10:59:56.609] [ERROR] system - worker [18214][10] died
/usr/lib/node_modules/shadowsocks-manager/
改过端口80后,还是会提示一样的错误
现在好像要redis依赖了,我的教程可能过时了
root@vultr:~/.ssmgr# screen -dmS ssmgr ssmgr -c ~/.ssmgr/ss.yml
root@vultr:~/.ssmgr# ssmgr -c ~/.ssmgr/webgui.yml
/usr/lib/node_modules/shadowsocks-manager/
[2019-05-24T06:38:16.178] [INFO] system - System start[22278].
/usr/lib/node_modules/shadowsocks-manager/
[2019-05-24T06:38:16.363] [INFO] system - System start[22285].
[2019-05-24T06:38:16.364] [INFO] system - Worker [22285] started
[2019-05-24T06:38:16.405] [INFO] system - Config file path: /root/.ssmgr/webgui.yml
大大,小白请教:按流程一步步做好了,可是最后网页打不开,应该怎么排查问题呀?
但是使用SSR可以正常上外网
这个是基于SS的吧,不清楚支持不支持SSR
站长大人,我的有运行日志会报以下两个错误:
[2019-05-15T15:21:38.815] [ERROR] webgui - express server error: Error: bind EADDRINUSE 0.0.0.0:7001
[2019-05-15T15:21:38.851] [ERROR] system - worker [14322][126] died
/usr/lib/node_modules/shadowsocks-manager/
请问是什么原因呀?
楼主请问运行ssmgr -c ~/.ssmgr/webgui.yml时会报 以下两个错误:
[ERROR] webgui - express server error: Error: bind EADDRINUSE 0.0.0.0:7001
[ERROR] system - worker [14265][122] died /usr/lib/node_modules/shadowsocks-manager/
应该怎么办呢?麻烦指点以下。
执行npm i -g shadowsocks-manager老是报错,显示-bash: brew: command not found。请问站长怎么解决?
大佬很强,问下manager-server搭好之后,我是用ip做域名,打开页面已经能看到网页的标签“shadowsocks-Manager”了,但是页面是空白,求教可能是哪里操作问题?
站长好,请问一下Centos系统要怎么搭建了?
一样的 就是装node的命令不一样
感觉跟看天书一样,看看装个SS就好了,多用户还是算了。
站长大大我在输入ssmgr -c ~/.ssmgr/webgui.yml后报错
[2019-03-19T02:01:56.686] [ERROR] system - Unhandled Rejection at: Promise {} reason: TypeError: Path must be a string. Received undefined
at assertPath (path.js:28:11)
at Object.basename (path.js:1377:5)
at Object. (/usr/lib/node_modules/shadowsocks-manager/init/checkConfig.js:45:18)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
at Module.require (module.js:597:17)
at require (internal/module.js:11:18)
这个怎么破。。
root@vultr:~# npm i -g shadowsocks-manager
npm WARN deprecated [email protected]: CircularJSON is in maintenance only, flatted is its successor.
/usr/bin/ssmgr -> /usr/lib/node_modules/shadowsocks-manager/bin/ssmgr
+ [email protected]
updated 1 package in 7.069s
root@vultr:~#
各位大佬 这是什么意思呢?算是安装成功吗?
前面过程都没出ERROR,直到运行ssmgr -c ~/.ssmgr/webgui.yml的时候,报错如下:
[ERROR] system - Unhandled Rejection at: Promise {} reason: TypeError: Cannot read property 'host' of undefined
at Object. (/usr/lib/node_modules/shadowsocks-manager/init/redis.js:4:16)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
at Module.require (module.js:597:17)
at require (internal/module.js:11:18)
at global.appRequire.filePath (/usr/lib/node_modules/shadowsocks-manager/init/utils.js:4:33)
at Object. (/usr/lib/node_modules/shadowsocks-manager/init/cron.js:5:15)
at Module._compile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
at Module.require (module.js:597:17)
求大神帮忙看一下,万分感谢!
主机:google cloud plantform
系统:Ubuntu 16.04
内存:1.7G
sudo apt-get install redis-server
博主您好,为了启用UDP转发,我安装的是shadowsock-libev版本的。然后现在用如下这个命令:
ssserver -m aes-256-cfb -p 12345 -k abcedf --manager-address 127.0.0.1:6001 -d start
无法启用 只有 ss-server,请问怎么跟ss-manager连接呢?
libev的我没研究过,你可以去看下它github的介绍
站长大大,我发现只要一启动ssmgr -c ~/.ssmgr/ss.yml之后(没有任何报错信息),ss就无法上网,而且log日志显示ss服务time out,已经折腾好几天了都没搞定
你ssmgr启动了,本来就需要把ss关闭的啊,然后在网站新加ss账号
意思是说原来的ss账号和密码都失效了,需要在ssmgr的网页上新增账号才能上网吗?(新增的账号密码是否就是启动ssserver后面的-p和-k参数的内容)
大神好你,感谢你的教程,我安装好了,但是我发现一个问题,我重启后要用kill 结束ssmgr进程,再运行ssserver -m aes-256-cfb -p 12345 -k abcedf --manager-address 127.0.0.1:6001 -d start,和screen -dmS ssmgr ssmgr -c ~/.ssmgr/ss.yml
screen -dmS webgui ssmgr -c ~/.ssmgr/webgui.yml
才可以上网,请问这样是正常的吗,另请问如何添加另一台服务器进来。
是否可以限制用户不能访问特定网站。
1.重启应该是kill掉ss的进程。
2.如何添加另一台服务器参考:利用shadowsocks-manger将多台vps上的ss连接起来
3.不能访问特定网站的话你可以在服务器的hosts里改下,例如把www.baidu.com转到1.1.1.1,那么肯定访问不了了啊。
[2018-10-26 15:27:35.370] [INFO] system - System start.
[2018-10-26 15:27:35.394] [INFO] system - ~/.ssmgr/default.yml not found, make file for it.
[2018-10-26 15:27:35.394] [ERROR] system - Caught exception:
[2018-10-26 15:27:35.395] [ERROR] system - { Error: ENOENT: no such file or directory, stat '/usr/lib/node_modules/shadowsocks-manager/config/default.yml'
博主,每次跑ssmgr都报这个错误是什么问题?
ssserver -m aes-256-cfb -p 12345 -k abcedf --manager-address 127.0.0.1:6001 -d start
请问这个命令的参数 -p 12345 和-k abcdef是起什么作用的?查过ssserver --help,-p是端口号,-k是密码。貌似用不着这两个参数啊?
就是启动ss的 确实用不到
现在想知道为什么我注册的账号不能连上vps 是哪里出问题了吗 防火墙开放那个端口有用吗? 还有具体怎么开放
email:
use: true
type: 'smtp'
username: 'd******@163.com'
password: '*******'
host: 'smtp.163.com'
# 这部分的邮箱和密码是用于发送注册验证邮件,重置密码邮件
webgui:
use: true
host: '0.0.0.0'
port: '80'
site: 'http://45.32.**.**'
大佬看看这个 邮箱设置正确么 为什么老是验证码错误
password是授权码,不是你的163的密码。
具体错误你可以看错误日志
有个问题,我启用了两条命令后是有几秒钟可以访问到管理平台,但是一会又断开了
运行 ssmgr -c ~/ssmgr/ss.yml 报错如下:
client error: { Error: bind EADDRINUSE 0.0.0.0:5658
at _handle.lookup (dgram.js:266:18)
at _combinedTickCallback (internal/process/next_tick.js:142:11)
at process._tickCallback (internal/process/next_tick.js:181:9)
errno: 'EADDRINUSE',
code: 'EADDRINUSE',
syscall: 'bind',
address: '0.0.0.0',
port: 5658 }
[2018-09-29 01:35:51.677] [ERROR] system - client error: Error [ERR_SOCKET_CANNOT_SEND]: Unable to send data
at Socket.onListenError (dgram.js:362:22)
at Object.onceWrapper (events.js:315:30)
at emitOne (events.js:121:20)
at Socket.emit (events.js:211:7)
at _handle.lookup (dgram.js:267:14)
at _combinedTickCallback (internal/process/next_tick.js:142:11)
at process._tickCallback (internal/process/next_tick.js:181:9)
[2018-09-29 01:35:51.679] [ERROR] system - socket error: { Error: listen EADDRINUSE 0.0.0.0:5658
at Server.setupListenHandle [as _listen2] (net.js:1360:14)
at listenInCluster (net.js:1401:12)
at doListen (net.js:1510:7)
at _combinedTickCallback (internal/process/next_tick.js:142:11)
at process._tickCallback (internal/process/next_tick.js:181:9)
errno: 'EADDRINUSE',
code: 'EADDRINUSE',
syscall: 'listen',
address: '0.0.0.0',
port: 5658 }
EADDRINUSE是你的这个端口被占用了
跟樓主同樣問題,第一次嘗試安裝時一切正常,第二次重新安裝時就報上述錯誤,所有設置一樣,用
lsof 指令查看端口被 node佔用了,但我restore 回第一次安裝時再次使用 lsof 也是顯示node佔用端口,但沒有報EADDRINUSE 錯誤,無論怎麼換端口都不行,只要使用ssmgr 打開 default.yml(s端)以後,另一個webgui.yml(m端)就會報錯.
期待回覆
没太看懂你的问题..端口占用就把那个端口占用的程序给kill掉
意思是,使用ssmgr 運行 type s的.yml 設置以後(裡面address寫的是0.0.0.0:6002),再運行ssmgr 的webgui.yml(type m)設置就會報錯(設置裡面address填寫的是我的服務器ip地址:6002).用lsof -i:6002 檢查時發現是nodejs佔用了端口.如果把第一個ssmgr停用了端口就出來了.
root@vultr:~# ssmgr ~/.ssmgr/webgui.yml
/usr/lib/node_modules/shadowsocks-manager/
[2019-04-24T05:24:09.387] [INFO] system - System start[2362].
/usr/lib/node_modules/shadowsocks-manager/
[2019-04-24T05:24:09.602] [INFO] system - System start[2369].
[2019-04-24T05:24:09.605] [INFO] system - Worker [2369] started
[2019-04-24T05:24:09.658] [INFO] system - Config file path: /root/.ssmgr/default.yml
[2019-04-24T05:24:09.975] [ERROR] system - client error: { Error: bind EADDRINUSE 0.0.0.0:6002
at onHandle (dgram.js:216:20)
at rr (internal/cluster/child.js:126:12)
at Worker.send (internal/cluster/child.js:93:7)
at process.onInternalMessage (internal/cluster/utils.js:45:8)
at process.emit (events.js:194:15)
at emit (internal/child_process.js:820:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
errno: 'EADDRINUSE',
code: 'EADDRINUSE',
syscall: 'bind',
address: '0.0.0.0',
port: 6002 }
[2019-04-24T05:24:09.980] [ERROR] system - client error: Error [ERR_SOCKET_CANNOT_SEND]: Unable to send data
at Socket.onListenError (dgram.js:328:22)
at Object.onceWrapper (events.js:277:13)
at Socket.emit (events.js:194:15)
at onHandle (dgram.js:217:16)
at rr (internal/cluster/child.js:126:12)
at Worker.send (internal/cluster/child.js:93:7)
at process.onInternalMessage (internal/cluster/utils.js:45:8)
at process.emit (events.js:194:15)
at emit (internal/child_process.js:820:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
[2019-04-24T05:24:09.984] [ERROR] system - socket error: { Error: bind EADDRINUSE 0.0.0.0:6002
at listenOnMasterHandle (net.js:1337:16)
at rr (internal/cluster/child.js:126:12)
at Worker.send (internal/cluster/child.js:93:7)
at process.onInternalMessage (internal/cluster/utils.js:45:8)
at process.emit (events.js:194:15)
at emit (internal/child_process.js:820:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
errno: 'EADDRINUSE',
code: 'EADDRINUSE',
syscall: 'bind',
address: '0.0.0.0',
port: 6002 }
root@vultr:~# lsof -i:6002
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 2318 root 22u IPv4 18775 0t0 UDP *:x11-2
node 2318 root 23u IPv4 18776 0t0 TCP *:x11-2 (LISTEN)
node 2325 root 34u IPv4 18775 0t0 UDP *:x11-2
Knex: run
$ npm install sqlite3 --save
Error: Cannot find module '/usr/lib/node_modules/shadowsocks-manager/node_modules/sqlite3/lib/binding/node-v57-linux-x64/node_sqlite3.node'
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._load (module.js:474:25)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object. (/usr/lib/node_modules/shadowsocks-manager/node_modules/sqlite3/lib/sqlite3.js:4:15)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Client_SQLite3._driver (/usr/lib/node_modules/shadowsocks-manager/node_modules/knex/lib/dialects/sqlite3/index.js:75:12)
at Client_SQLite3.initializeDriver (/usr/lib/node_modules/shadowsocks-manager/node_modules/knex/lib/client.js:219:26)
at Client_SQLite3.Client (/usr/lib/node_modules/shadowsocks-manager/node_modules/knex/lib/client.js:113:10)
at new Client_SQLite3 (/usr/lib/node_modules/shadowsocks-manager/node_modules/knex/lib/dialects/sqlite3/index.js:58:20)
你好 这个怎么解决啊 谢谢 你的回复
安装sqlite3
博主,这个报错怎么解决啊?执行npm i -g shadowsocks-manager时快到最后出现的
npm ERR! Linux 4.10.2-041002-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "i" "-g" "shadowsocks-manager"
npm ERR! node v4.2.6
npm ERR! npm v3.5.2
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! [email protected] install: `node-pre-gyp install --fallback-to-build`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-pre-gyp install --fallback-to-build'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the sqlite3 package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-pre-gyp install --fallback-to-build
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs sqlite3
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls sqlite3
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /root/npm-debug.log
npm ERR! code 1
[2018-08-29 13:11:40.307] [INFO] system - System start.
root@ip-172-31-38-196:/home/ubuntu#
你好,博主,我的启动成功了。为什么浏览器输入ip进不去网站,无法访问此网站,拒绝了我们的连接请求。帮忙解决一下,谢谢!
是要用screen后台启动的,不然你ctrl+c取消了就是断了服务,自然访问不了。你可以看下日志信息,有没有错误
同问,遇到了相同的问题。也的的确确是用screen启动的(btw google cloud)
核对了文件格式后,我也是遇到了这个错误(运行:ssmgr -c ~/.ssmgr/ss.yml)
/usr/lib/node_modules/shadowsocks-manager/lib/
[2018-08-27 22:35:06.533] [INFO] system - System start.
[2018-08-27 22:35:06.713] [ERROR] system - { YAMLException: duplicated mapping key at line 11, column -95:
shadowsocks:
^
at generateError (/usr/lib/node_modules/shadowsocks-manager/node_modules/js-yaml/lib/js-yaml/loader.js:165:10)
at throwError (/usr/lib/node_modules/shadowsocks-manager/node_modules/js-yaml/lib/js-yaml/loader.js:171:9)
at storeMappingPair (/usr/lib/node_modules/shadowsocks-manager/node_modules/js-yaml/lib/js-yaml/loader.js:308:7)
at readBlockMapping (/usr/lib/node_modules/shadowsocks-manager/node_modules/js-yaml/lib/js-yaml/loader.js:1071:9)
at composeNode (/usr/lib/node_modules/shadowsocks-manager/node_modules/js-yaml/lib/js-yaml/loader.js:1332:12)
at readDocument (/usr/lib/node_modules/shadowsocks-manager/node_modules/js-yaml/lib/js-yaml/loader.js:1492:3)
at loadDocuments (/usr/lib/node_modules/shadowsocks-manager/node_modules/js-yaml/lib/js-yaml/loader.js:1548:5)
at load (/usr/lib/node_modules/shadowsocks-manager/node_modules/js-yaml/lib/js-yaml/loader.js:1569:19)
at Object.safeLoad (/usr/lib/node_modules/shadowsocks-manager/node_modules/js-yaml/lib/js-yaml/loader.js:1591:10)
at Object. (/usr/lib/node_modules/shadowsocks-manager/lib/services/config.js:33:19)
name: 'YAMLException',
reason: 'duplicated mapping key',
mark:
Mark {
name: null,
buffer: 'type: s\n \nshadowsocks:\n address: 127.0.0.1:6001\n # 这里的地址和端口需要跟上一步的 --manager-address 参数保持一致,连接上述 udp 端口\nmanager:\n address: 0.0.0.0:4001\n # 这个 address 参数会让程序监听一个 tcp 端口,用于接收 webgui 发送过来的控制命令\n password: \'123456\'\ndb: \'ss.sqlite\'\nshadowsocks:\n address: 127.0.0.1:6001\n # 这里的地址和端口需要跟上一步的 --manager-address 参数保持一致,连接上述 udp 端口\nmanager:\n address: 0.0.0.0:4001\n # 这个 address 参数会让程序监听一个 tcp 端口,用于接收 webgui 发送过来的控制命令\n password: \'123456\'\ndb: \'ss.sqlite\'\n\u0000',
position: 231,
line: 10,
column: -96 },
message: 'duplicated mapping key at line 11, column -95:\n shadowsocks:\n ^' }
[2018-08-27 22:35:06.722] [ERROR] system - Caught exception:
[2018-08-27 22:35:06.722] [ERROR] system - TypeError: Path must be a string. Received undefined
duplicated mapping key,配置文件里某个项配置了两次重复了?
没有啊,用的如下的配置:
type: m
manager:
address: 45.78.64.217:4001
password: '123456'
# 这部分的端口和密码需要跟上一步 manager 参数里的保持一致,以连接 type s 部分监听的 tcp 端口
plugins:
flowSaver:
use: true
user:
use: true
account:
use: true
macAccount:
use: true
group:
use: true
email:
use: true
type: 'smtp'
username: 'xxx'
password: 'xxx'
host: 'smtp.qq.com'
# 这部分的邮箱和密码是用于发送注册验证邮件,重置密码邮件
webgui:
use: true
host: '0.0.0.0'
port: '80'
site: 'http://45.78.64.217'
# cdn: 'http://xxx.com' # 静态资源cdn地址,可省略
# icon: 'icon.png' # 自定义首页图标,默认路径在 ~/.ssmgr 可省略
# skin: 'default' # 首页皮肤,可省略
# googleAnalytics: 'UA-xxxxxxxx-x' # Google Analytics ID,可省略
gcmSenderId: '456102641793'
gcmAPIKey: 'AAAAGzzdqrE:XXXXXXXXXXXXXX'
webgui_telegram: // telegram 机器人的配置,可省略
use: true
token: '191374681:AAw6oaVPR4nnY7T4CtW78QX-Xy2Q5WD3wmZ'
alipay:
# 如果不使用支付宝,这段可以去掉
use: true
appid: 2015012108272442
notifyUrl: 'http://yourwebsite.com/api/user/alipay/callback'
merchantPrivateKey: 'xxxxxxxxxxxx'
alipayPublicKey: 'xxxxxxxxxxx'
gatewayUrl: 'https://openapi.alipay.com/gateway.do'
paypal:
# 如果不使用paypal,这段可以去掉
use: true
mode: 'live' # sandbox or live
client_id: 'At9xcGd1t5L6OrICKNnp2g9'
client_secret: 'EP40s6pQAZmqp_G_nrU9kKY4XaZph'
db: 'webgui.sqlite'
panel运行之后怎么停止?比如修改webgui.yml文件之后,为了让修改生效,需要重启
ps -aux
找到那个进程,然后kill掉[root@vultr /]# ssmgr -C ~/.ssmgr/ss.yml
: No such file or directory
使用这个ssmgr -C ~/.ssmgr/ss.yml 命令 ,说没有这个文件或者文件夹
不清楚-c和-C是不是一样,那你进入
cd ~/.ssmgr
,看看有没有这个文件有的的,我都设置了创建的这些文件的。
博主你好,顺利地搭建好了,但是有个要命的问题,我是假设在GCP上,然而GCP所有邮件的端口全部被封了,所以导致没办法发邮件,无法注册第一个管理员账户,所以我尝试直接到数据库中添加一个账户,但是似乎密码不是明文存储,应该是有个加密的过程,因为不知道用了什么加密方法所以实在是没办法手动增加一个管理员账户,另一方面又没办法发邮件直接在前端注册,所以现在很僵,不知道博主有没有什么办法可以手动增加一个管理员账户?因为是自用倒也不用考虑别人注册时候的发送验证码的问题,谢谢!
这个我不了解,我也不清楚它是用的什么加密方式,你可以去官方tg群里问一下
站长大大麻烦问一下
在最后一步启动服务时,提示
root@vultr:~# ssmgr -c ~/.ssmgr/ss.yml
/usr/bin/env: ‘node\r’: No such file or directory
但是ls提示文件是存在的
root@vultr:~/.ssmgr# ls
ss.yml webgui.yml
请问这是怎么回事
谢谢站长大大
你这个应该是node的问题,不是配置文件不存在。你是用nodesource装的node吗。看看这个能不能解决你的问题:https://blog.csdn.net/I_peter/article/details/70860364
用了这个方法也不行诶。。这个方法返回的是:ln: failed to create symbolic link '/usr/bin/nodejs': File exists
不知道该怎么办才好。。
我跟层主的情况一模一样 现在这个问题解决了么?
我也是,折腾了一下午,该怎么弄?
我试了一下,没有问题啊。你们node是用nodesource装的吗?
是啊,好奇怪
解决了,这个node得分开安装
请问分开装是什么意思 安装方式我是照博主的视频依次复制那两行代码的
大佬能详细说明一下吗?我现在的问题也和层主一样
博主 我和你一样用了nodesource 安装 node 但是我最后执行ssmgr -v 命令时 显示
root@vultr:~# ssmgr -v
/usr/bin/env: ‘node\r’: No such file or directory
我的SSM好像还没能装上 使用了你的卸载重装也不行 请问还有其他的SSM安装方法么?
大神你好 前面都搞定了 输入ip直接显示无法访问网站
我也遇到了
我也是,看起来好像没什么问题但是就是不能用
站长大大,这样操作之后,已经可以工作了,但是感觉非常不稳定,有时候用ip那个页面就没了,然后就要后台重新用这两个代码启动服务后才有,这是什么问题呢?
screen -dmS ssmgr ssmgr -c ~/.ssmgr/ss.yml
screen -dmS webgui ssmgr -c ~/.ssmgr/webgui.yml
很奇怪,用管理系统创建的小号只能上谷歌,其他的不行
第一步就不行了 [root@vultr ~]# curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
## Installing the NodeSource Node.js 6.x LTS Boron repo...
## Populating apt-get cache...
+ apt-get update
bash: apt-get: command not found
Error executing command, exiting
[root@vultr ~]#
你这个系统是centos
博主,在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)
我域名用来做博客了,ip地址放了一个简单的网页,然后数ip地址就显示那个网页,不是ss-manager。是不是要删除ip地址的网页呢?
可以结合nginx做反向代理
把ssmgr的webgui端口改成非80/443即可
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)
请教一下老哥
在注册那里,发送验证码错误,换了几个邮箱了。
[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
Mail command failed: 553 Mail from must equal authorized user
,搜下这个错误?老哥,刚弄完一键搭建shadowsocks,可以直接安装这个吗
可以的 搭建ss是这个的基础
root@vultr:~/.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命令后报上面的错误!求指教
这个错误我不清楚 没遇到过
我也遇到了这个问题 我也遇到这个问题了
文件格式的问题 认真看下文件内容··
文件格式是说yml不对吗?
运行 npm i -g shadowsocks-manager 指令后出现错误
npm ERR! code E404
npm ERR! 404 Not Found: natives@^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
不知道是什么原因,希望博主解答下。
Google一下,你就知道。应该是npm没装好
输入命令npm -v 显示版本号是6.1.0
应该是装好了吧
ss.yml启动,但是在启动webgui.yml的时候报如下错误,请教博主这是什么问题
root@vultr:~/.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 12345@我的ip:4001 fail.
我的网址已经能打开了,添加账号成功,但是用客户端shadowsocks登不上呢。。请教一下有可能是什么问题呢,客户端的ip端口没错,和我自己添加的账号一致
这个有延时的,一般要等一会生效,如果还是不行,你就看下日志是什么,或者不用screen启动,看控制台输出
确实是延迟,现在可以打开了,非常感谢!
[BEGIN] 2018/5/19 17:23:07
root@vultr:~# vi ~/.ssmgr/ss.yml #
root@vultr:~# address: 45.77.85.47:4001
address:: command not found
root@vultr:~# password: '123456'
password:: command not found
root@vultr:~# 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
root@vultr:~# vi ~/.ssmgr/ss.yml #
root@vultr:~# vi ~/.ssmgr/webgui.yml #
root@vultr:~# screen -dmS ssmgr ssmgr -c ~/.ssmgr/ss.yml
root@vultr:~# screen -dmS webgui ssmgr -c ~/.ssmgr/webgui.yml
root@vultr:~# 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,
求大神帮帮忙
每个命令最后怎么有个#?
我录了一个视频的,你可以参考视频
按视频装完以后报ssmgr: command not found。然后重装ssmgr。卡在ERR! registry error parsing json这里就不动了
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
killed说明内存不够 一般得要1G
网页填写email时发送验证码出错服务器报[undefined] POST 403 2437ms /api/home/code
博主有什么高见
之前问题已经通过修改QQ邮箱账号好了,现在的问题是注册用户扫描二维码无法联网
这个会有延时的,你等一会看看
已经等了半天了
那就不要用screen启动看日志 看有没有错误
root@xiaoming:~# ssmgr -c ~/.ssmgr/ss.yml
/usr/lib/node_modules/shadowsocks-manager/lib/
[2018-05-15 00:14:16.826] [INFO] system - System start.
^C
root@xiaoming:~# ssmgr -c ~/.ssmgr/webgui.yml
/usr/lib/node_modules/shadowsocks-manager/lib/
[2018-05-15 00:14:27.985] [INFO] system - System start.
我npm i -g shadowsocks-manager永远只有警告没有报错,但装出来但node_modules 里面只有nan sqlite3,ssmgr命令not found,怎么样才能成功安装呢
没有killed就行了。你看它运行后的提示
应该是我npm装的有问题,现在已经搭好了,不过用户界面的二维码显示好像有问题,管理员管理账号显示的二维码是正常的,用户进去的二维码ip部分扫出来是undefined,有解决办法吗
二维码的问题看懂系统怎么设置的了,自己蠢了,不过用户分组好像有问题
[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
卡在了“新建配置文件ss.yml,例如我放在~/.ssmgr路径下”之后,怎么也跳不出来。我是纯小白一个,完全照葫芦画葫芦。
就是新建一个文件,里面是这些内容。我在以前的回复里回复过,你看下
博主请教gyteng / shadowsocks-manager-tiny的配置方法https://github.com/gyteng/shadowsocks-manager-tiny.git谢谢
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
博主,中间出来个这个是啥意思啊[SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode]
请问博主这个命令输入完了之后要怎么配置个人信息呢,为啥自己的服务器地址打不开?
打不开地址说明你配置有问题,可以不用screen方式开启,看看错误信息是什么
取消screen后提示[2018-05-10 08:13:41.727] server listen on 0.0.0.0:4001
然后也打不开我的服务器地址的网页
先启动ss.yml看看有没有错,没有的话用screen启动ss.yml,再启动webgui.yml看看有没有错误
博主 你好 之前提出的问题 我都已经解决好了 但目前出现的问题 我添加了多台服务器 账号自行注册后 用分配的端口和密码进行连接 没有ping 也无法打开国外网站, 有一次试了很久后可以连接 ,但我把vps重启 后 又不能连接 这怎么解决 希望博主能帮助解决下
它这个加了账号有延时的 稍微等一下就好了。
重启服务器后,你重新开了ssmgr和ss服务了吗?
博主 你好 我发现我运行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 }
博主你好 在网页中服务器端口为红色 正常吗
EADDRINUSE是端口被占用的意思啊 我之前不是在评论里回复过吗?
这种问题,Google是你的好朋友。
博主 你好 ,根据你的操作 在webgui文件中我都设置ip端口80会报错,设置端口100解决问题,根据前面所述 80是HTTP的默认端口,我已经购买域名,我十分希望解决这个80报错问题,以便我直接用域名解析到ip,谢谢博主帮忙解决
是不是你的80端口被其他软件占用了,例如Apache、Nginx
进入网站 没有办法添加其他服务器
我一直不太理解 在这之前 需要用这个vps建立ss吗? 然后在安装如上述的教程?
我用xshell运行最后
screen -dmS ssmgr ssmgr -c ~/.ssmgr/ss.yml
screen -dmS webgui ssmgr -c ~/.ssmgr/webgui.yml
可以打开网站
断开xshell 就打不开了
这是为什么呢
博主您好,请教一下在配置ss的时候显示:option --manager-address not recognized该怎么办? 好像识别不了--manager-address 127.0.0.1:6001
你是python版的ss吗
昨晚最后稀里糊涂的弄好了,最后有几个问题想请教一下,一是公告页面一直转圈加载无法显示,可以添加新公告但是显示不了选择不了,二是如何实现站内邮件或者外部邮件自动给每个用户发邮件呢?想实现给注册用户发送ss客户端该怎么实现呢?还请指点一下,谢谢博主!
这个你可以修改你注册发送的邮件内容的 你在注册的邮件里放个下载链接好了
嗯嗯好的,没想到这个方式,非常感谢!公告一直加载不能显示和选择有什么办法吗?
还有就是这个教程适用于ssr吗?
不行 这个不支持ssr
screen -dmS ssmgr ssmgr -c ~/.ssmgr/ss.yml
screen -dmS webgui ssmgr -c ~/.ssmgr/webgui.yml
两条命令都没有任何返回信息,并且访问不到http://yourwebsite.com,会自动跳转到一个不知道什么网站去。(VPN已经处于可用状态了)
确实没有显示啊,screen就是不显示信息的,相当于另开了一个窗口
安装shadowsocks-manager出现如下:
root@ubuntu:~# 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
WARN没有关系的
root@ubuntu:~# 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报错,怎么处理?
没有ss.yml这个文件?
root@ubuntu:~# cd ~/.ssmgr
root@ubuntu:~/.ssmgr# ls
ss.yml webgui.yml
root@ubuntu:~/.ssmgr#
看了下是有的,vi打开也有内容
这种问题 google一搜不是一大堆一样的吗...
[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,域名不行该怎么解决?
域名可以ping了也可以打开了,大佬看下前面的错误日志
ECONNREFUSED 是端口被占用的错误
我不知道应该怎么处理。谢谢,找了网上的方法好像没用
ps -aux
查看所有进程,把所有有ssmgr的进程都kill掉没有找到这样的进程,请问SQLite数据库是不是要去安装还是什么的?教程里没有提到
你在安装shadowsocksmanager的时候会装SQLite的
“按照第二部分配置好之后,打开http://yourwebsite.com就可以看到注册界面了,首次注册的账号即为管理员~”,大佬这里是用什么打开的?前面的最后一步两个都读出system start了,还有之前的80端口报错改成了100过了没问题吧?
1.浏览器打开
2.80改成100就要加上:100,因为http的默认端口是80
域名解析后出现记录,回域名官网填上了这两个f1g1ns1.dnspod.net,f1g1ns2.dnspod.net,这里操作有错吗?之后怎么确认进度?还有域名就是自己选的xxx.com吗,前面要不要加www
你好,为什么SS开启后,过一段时间又会自己关闭,如何设置一直开启?
啥意思?ss怎么会自动关闭
对啊,过一段时间就不能打开网页了,然后得重新 使用screen 命令就好了,另外,分配新用户后,新用户的帐号无法上外网,怎么破?
大佬,请问这个可以用在搬瓦工vps网站上直接搭ss的上吗?还是必须在Ubuntu里安shadowsocks?
可以用centos的 但是我的教程是基于ubuntu的 centos的命令可能不一样
如果搬瓦工系统系统重装为ubuntu后是否可以通过putty来按教程操作 ?
可以的
putty配置ss时启动ss出现option -d not recognized
你的ss版本过低 卸载了重新安装
SSH服务器拒绝了密码,重装了好多次系统还有修改密码都没用,可不可以qq远程一下,我qq1278003006
。。。你是不是翻译页面了?用户名root,密码就是直接复制就行了啊
求教一下卸载重装ss或者更新ss的指令是什么哦?非常感谢!
卸载ss:
pip uninstall shadowaocks
博主,我在安装那个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
系统kill了
Killed ...] | extract:later: verb gentlyRm don't care about contents; nuking /usr/lib/node_modules/.stagin
kill是因为你机子内存不够 一般1G够用 512经常被KILL
那我是不是需要换服务器啊?
请问博主,是不是日本的服务器比较稳定
日本和洛杉矶都不错
好的,谢谢
WARN没关系的,只要没有被killed就行
啊,为什么搭建好几次都出错了啊
不要用screen方式启动,看错误日志
博主你好,我按照你的教程操作, 过程也没出现错误问题 ,但是打开http://IP:8080网页的时候,无法打开。运行完“screen -dmS ssmgr ssmgr -c ~/.ssmgr/ss.yml screen -dmS webgui ssmgr -c ~/.ssmgr/webgui.yml”命令还需要其他操作吗?
把screen -dmS ssmgr/webgui 取消了运行看看日志信息
博主 我运行了 “ssmgr -c ~/.ssmgr/ss.yml” 和“ssmgr -c ~/.ssmgr/webgui.yml” 提示:ssmgr: command not found。求指教。
你应该是ssmgr没有安装成功,是不是安装的时候被kill掉了?512兆内存的经常被kill的
请问ssmgr没有安装成功的问题怎么解决啊 没有发现重新装ssmgr的步骤
你是指装的过程中被Killed掉了吗?直接再安装就可以了
碰到太多问题心烦直接重装服务器了 重新配置后前面都挺成功 但又出现了这个问题
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也没有回应
关闭了所有进程 配置文件里全部改成不是4001 都会报这个错?
对 都是报4001
重启服务器后再试试
没用 就不停跳这两个错误
[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)
发送不了验证码
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)
这是什么问题?
不清楚 看日志信息是你少什么文件
如何干净卸载呢 npm uninstall -g shadowsocks-manager后 ssmgr --help已经是-bash: /usr/local/bin/ssmgr: No such file or directory了 但打开服务器地址依旧能打开ssmgr页面
ps -aux
,然后用kill pid
把那个进程杀了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了啊
RADDRINUSE就是端口已经被占用的错误,你看下别的进程有没有占用80
能问下最后支付宝支付哪里到底怎么做的么?怎么实现支付的
要去支付宝申请的,直接打到你的支付宝账号。参考:https://github.com/shadowsocks/shadowsocks-manager/wiki/WebGUI
支付宝要商家注册不行了,PayPal也不知道该怎么弄。。。
试着启动了下,发下在webgui那里出问题了,能帮看下么
root@vultr:~# 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.
看信息似乎是服务器地址写的不对了那个用了4001端口的
这部分我解决了,可是开了ss.yml和webgui.yml后,访问结果是拒绝了访问请求。。。不知道是怎么回事。。。
哈,不弄这个了,花了我很多时间,还是用你之前写的那个ss-bash吧,等我以后会写简单的服务器在说吧
教程很好,可惜自己不懂系统,能详细一点(比如怎么编文件,存文件..etc)就更好的
求图解教程 这样看不懂
怎么新建配置文件啊
以我的为例:
新建~/.ssmgr文件夹:
mkdir ~/.ssmgr
新建配置文件并保存(以ss.yml为例):
vi ~/.ssmgr/ss.yml
这里看不懂 ,如果我想给多个人用我就只用那个一件搭建的二维码是不是就够了,还有我延迟怎么一直在160ms,但是电脑上看油管又能带4k
根据不同的流量限制与多用户配置需求,参考:shadowsocks配置多用户多密码。
延时不等于网速。vultr开了bbr,网速还是可以的,延时没办法,毕竟服务器在美国。
No command 'type:' found, did you mean:
Command 'typer' from package 'erlang-typer' (universe)
type:: command not found
按照博客上写的到了第三步,粘贴后出现这一段话,感觉不太妙,然后第四段怎么都看不懂
那个是配置文件啊 不是直接写在命令行里的 要新建一个文件写在文件里
博主哒哒,这一套走到最后都成功了打开网址却没有注册界面,请帮我分析一下。辛苦了,赞助一杯茶钱
第一个疑问:最后这一步 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
对了,网站是https://young2018.weebly.com/ 用的weebly现成的没关系吧
只要DNS解析到你的ip就可以
1. 用screen运行,都没有提示的,所以你如果要看有没有错误,把
screen -dmS ssmgr
去掉(就如我括号里的说明一样),如果这样没有红字提示的话,说明ssmgr正常。2. 这是开启shadowsocks的命令行用法,-p接端口,-k接密码,用命令行开启的话,你的本地shadowsocks.json就不起作用了。注意用这个开启,保证之前服务器端的ss服务没有开启,即运行完是started,而不是already started at pid ***
上面的问题都解决了 ,但是注册的时候获取验证码"验证码发送错误"
SMTP不是你登录邮箱的账号密码,是独立生成的一个验证码,去你的邮箱服务商那里申请开通SMTP服务。
我试过163(有时候发送失败),QQ(相对比较稳定,发送QQ&gmail邮箱都是秒到)。
如果还是错误,你将最后
screen -dmS webgui ssmgr -c ~/.ssmgr/webgui.yml
改成ssmgr -c ~/.ssmgr/webgui.yml
看看错误是啥。这个地方我是这样填的:
use: true
type: 'smtp'
username: '我的[email protected]'
password: 'qq邮箱的登录密码'
host: 'smtp.qq.com'
执行结果:
root@vultr:~# 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邮箱设置那里有个温馨提示:登录第三方客户端时,密码框请输入“授权码”进行验证.是这个授权码的问题吗?
等了3分钟,有错误了
root@vultr:~# 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端口
我觉得问题应该是,qq邮箱开启smtp后在第三方登录时需要授权码,这个好恶心,不知道怎么破,我先换gmail试试
走到下面这一步卡住了,这段命令识别不了,应该怎么操作啊 ?
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'
什么意思?就是新建一个配置文件ss.yml啊这一步
博主大神,我指令还没学好,新建指令这样写可以吗? vi/~/.ssmgr/ss.yml
mkdir ~/.ssmgr # 新建文件夹
vi ~/.ssmgr/ss.yml # 新建配置文件,vi后面有个空格
太到位了,蟹蟹博主了,我去试试先。
http://yourwebsite.com 是啥意思
就是填你的站点url
怎么解析呢,把域名解析到这个vps上?
嗯,在域名服务商那里添加DNS解析到这个IP就行了
老哥稳,发的东西都有用,如果能教下搭建私有云就更好了
哈哈,那个我以后有时间可以研究研究,现在没有需求