Git Product home page Git Product logo

clover's Introduction

Clover

Build Status Coveralls license TypeScript

Yet another shadowsocks multiuser frontend.

Config

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 [email protected] 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 [email protected] 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

Currently, not all features of vmess is implemented.

  • VMESS_PORT_DYNAMIC
  • VMESS_NETWORK
    • tcp
    • kcp
    • ws
  • VMESS_TCP_HEADER
  • VMESS_TLS
    • off
    • in
    • out

Start

tsc
npm start

Connect With Proxy Servers

Shadowsocks

Use any server implementions support MU API v2.

v2ray

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.

Docker

  1. Modify docker-compose.yml, set the env vars to your value.
  2. Modify ss.py, replace <API_KEY> to env var MU_TOKEN.
  3. docker-compose up -d

License

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/>.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.