Yet another shadowsocks multiuser frontend.
Use environment variables, and dotenv files are also supported.
Key | Default | Description |
---|---|---|
DB_PATH | ./clover.db | |
LOG_LEVEL | debug | |
PORT | 3000 | |
PASSWORD_HASH_ROUNDS | 12 | |
SITE_TITLE | Clover | |
OPEN_REGISTER | false | true/false |
SENDGRID_KEY | KEY | get one at http://sendgrid.com/ |
SENDGRID_EMAIL | clover@example.com | email address used for sending announces and password recovery emails |
JWT_KEY | 527877cb | JSON Web Token key used by generation of referrence codes |
SITE_URL | http://127.0.0.1:3000 | |
ADMIN_EMAIL | user@example.com | administrator contact email |
PROXY_HOST | 127.0.0.1 | shared host of shadowsocks and v2ray |
SS_ENABLED | true | true/false |
DEFAULT_ENCRYPTION | chacha20-ietf-poly1305 | shadowsocks default encryption method |
PORT_START | 10000 | start of shadowsocks port range |
MU_TOKEN | d6d0fbdc9483c27e6b653457879d3fbd | token of shadowsocks MU API v2 |
VMESS_ENABLED | true | true/false |
VMESS_DEFAULT_ALTERID | 16 | |
VMESS_PORT | 443 | |
VMESS_PORT_DYNAMIC | leave it blank to disable the feature | |
VMESS_NETWORK | ws | tcp, kcp or ws |
VMESS_TCP_HEADER_TYPE | none | none/http |
VMESS_KCP_HEADER | none | none/srtp/utp/wechat-video |
VMESS_KCP_UP_CAP | 5 | |
VMESS_KCP_DOWN_CAP | 20 | |
VMESS_KCP_CONGESTION | false | true/false |
VMESS_WS_PATH | / | |
VMESS_WS_HOST | the same as PROXY_HOST | |
VMESS_WS_HEADERS | {} | JSON representing all the header keys, Host excluded |
VMESS_TLS | out | off for disable / in for using v2ray TLS / out for using TLS provided outside v2ray |
VMESS_TLS_SERVER | the same as PROXY_HOST | hostname for TLS |
VMESS_TLS_CERT_TRUST | true | true/false, false for insecure(not-trusted) certs |
VMESS_TLS_CERT | server.crt | path of TLS cert file, used only VMESS_TLS is in |
VMESS_TLS_KEY | server.key | path of TLS key file, used only VMESS_TLS is in |
SENTRY_URL | empty | log tracing of https://sentry.io |
Currently, VMESS_PORT_DYNAMIC is not implemented.
The user with email ADMIN_EMAIL will automatically become the admin.
tsc
npm start
Use any server implementions support MU API v2.
Use docker to deploy v2ray, and the container name should be v2ray
.
Clover will generate v2ray_server.json
as server config in root path of Clover.
Clover will connect to docker daemon automatically and restart the server on demand.
If you run Clover inside a container, you may create 2 volumes: /var/run/docker.sock:/var/run/docker.sock:ro
and ./v2ray_server.json:/app/v2ray_server.json
to make the connection.
- Modify docker-compose.yml, set the env vars to your value.
touch clover.db v2ray.json && docker-compose up -d
AGPL v3+
clover generic proxy frontend
Copyright (C) 2017-2018 coderfox
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.