Home

Awesome

yassp-server

yassp-server was a part of an internal closed source project called Yet Another ShadowSocks Panel (YaSSP). Like ss-panel, YaSSP was a full-functional Shadowsocks panel with user management, accounting, sales, et al. However, this project has been dead.

  +---------+            +---------------+-------------+
  |         |    HTTP    |               |             |
  |  YaSSP  | <--------> | yassp-server <-> SS servers |
  |         |            |  (this repo)  |             |
  +---------+            +---------------+-------------+
single control              may have multiple instances
    server

yassp-server is a daemon progrom running on server where SS servers run. It synchronizes user configurations and traffics with YaSSP, and is responsible for run/stop/restart SS servers.

Since the original project has been dead, this repo is unlikely to be maintained.

Features

API

Based on JSON & HTTP. Variables are configured on config.cfg.

Profiles

A JSON list of SS configs. For example,

[{"port": 8001, "method": "aes-256-gcm", "password": "password"},
 {"port": 8002, "method": "chacha20-ietf-poly1305", "password": "test123"}]

All arguments are passed to ssmanager and then to SS server eventually, see docs of SS for available args.

Pull configs

yassp-server will pull SS configs from {yassp url}.

* Both last_modified and etag headers are supported.

Push configs

If enabled, a simple HTTP server will run on {push bind address}:{push bind port}.

To push configs, send a POST to /instances?token={push token}, with Profiles as body. 204 No Content will returned.

Traffic stats

Traffic stats will be PUSHed to {yassp url}/traffics/. Body is a JSON dict of {port number: traffic in bytes since last upload}, Auth header is the same as pull configs'.