A shadowsocks manager tool for multi user and traffic control.
Base on Node.js and SQLite.
This version is not a stable version now. If you want to use the old version, please switch to this branch.
Node.js 6.*
git clone https://github.com/shadowsocks/shadowsocks-manager.git
cd shadowsocks-manager
npm i
use node server.js to run this program.
npm i -g shadowsocks-manager
use ssmgr to run this program.
- Start shadowsocks with manager API, it supports
shadowsocks-pythonandshadowsocks-libev. For example, you can run this command:
ss-manager -m aes-256-cfb -u --manager-address 127.0.0.1:6001 - run ssmgr with type s:
ssmgr -t s -s 127.0.0.1:6001 -m 0.0.0.0:6002 - If you have several servers, you have to run step 1 and step 2 in every server.
The listening address in--manager-addressof step 1 and in-sof step 2 must be same. For security reseon, we recommend you to use127.0.0.1instead of0.0.0.0. - Now you can use the plugins to manager them. You can read the details in plugins readme page.
+-------------+ +-------------+ +------+
| Shadowsocks | | Shadowsocks | ... | |
| manager API | | manager API | | |
+-------------+ +-------------+ +------+
| | |
| | |
+-------------+ +-------------+ +------+
| ssmgr | | ssmgr | ... | |
| with type s | | with type s | | |
+-------------+ +-------------+ +------+
| | |
+------------+----+-------- ... ---+
|
|
+---------------+
| ssmgr plugins |
| with type m |
+---------------+
[================100%] cli
[================100%] telegram
[================100%] flowSaver
[================100%] email
[==10%---------------] user
[================100%] freeAccount
[0%------------------] account
[1%------------------] webgui
ssmgr --help will show startup parameters info.
Usage: ssmgr [options]
Options:
-h, --help output usage information
-V, --version output the version number
-c, --config [file] config file, default: ~/.ssmgr/default.yml
-d, --db [file] sqlite3 file, default: ~/.ssmgr/db.sqlite
-e, --empty clean database
-t, --type [type] manager type, s for server side, m for manager side, default: s
-s, --shadowsocks [address] ss-manager address, default: 127.0.0.1:6001
-m, --manager [address] manager address, default: 127.0.0.1:6002
-p, --password [password] manager password, both server side and manager side must be equals
-r, --run [type] run shadowsocks from child_process, the type is libev or python
--debug show debug message
If you find this project helpful, please consider making a donation:
- Alipay

