shadowsocks-manager-kesuki v0.10.2
shadowsocks-manager
A shadowsocks manager tool for multi user and traffic control.
Base on Node.js and SQLite.
For more details, you can see the wiki page.
If you want to use the old version, please switch to this branch.
WebGUI Demo:
Dependencies
Node.js 6.*
Install
From source:
git clone https://github.com/shadowsocks/shadowsocks-manager.git
cd shadowsocks-manager
npm iuse node server.js to run this program.
From npm:
npm i -g shadowsocks-manageruse ssmgr to run this program.
From docker:
docker run --name ssmgr -idt -v ~/.ssmgr:/root/.ssmgr --net=host gyteng/ssmgr [ssmgr params...]Build docker image:
here is the Dockerfile
FROM ubuntu:16.04
MAINTAINER gyteng <igyteng@gmail.com>
RUN apt-get update && \
apt-get install net-tools curl git sudo software-properties-common -y && \
add-apt-repository ppa:max-c-lv/shadowsocks-libev -y && \
curl -sL https://deb.nodesource.com/setup_6.x | bash - && \
apt-get install -y nodejs shadowsocks-libev && \
npm i -g shadowsocks-manager
ENTRYPOINT ["/usr/bin/ssmgr"]Usage
- 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:
config file:
type: s shadowsocks: address: 127.0.0.1:6001 manager: address: 0.0.0.0:4001 password: '123456' db: 'ss.sqlite'If you want to use MySQL, the
dbmust like this:db: host: '1.1.1.1' user: 'root' password: 'abcdefg' database: 'ssmgr'And you have to close
only_full_group_bywhen the version of MySQL is greater than 5.7command:
ssmgr -c /your/config/file/path.ymlIf 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 inshadowsocks -> addressof step 2's config file 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 manage 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 |
+---------------+Plugins
Parameter
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, sample: ~/.ssmgr/db.sqlite
-t, --type [type] type, s for server side, m for manager side
-s, --shadowsocks [address] ss-manager address, sample: 127.0.0.1:6001
-m, --manager [address] manager address, sample: 0.0.0.0:6002
-p, --password [password] manager password, both server side and manager side must be equals
-r, --run [type] run shadowsocks from child_process, sample: libev / libev:aes-256-cfb / python / python:aes-256-cfb
--debug show debug messageFirst, ssmgr will read the config file in --config, and other parameters(-detsmp) will replace the config file values.
Translate
If your want to help to translate it to other languages, please edit files here and give me a pull request.
Telegram
Join the group if you have some problem: https://t.me/ssmgr
VPS recommendation
Donate
If you find this project helpful, please consider making a donation:
Alipay
WeChat Pay