Sign inSign up

brantcoat/subhatch

By brantcoat

•Updated about 1 month ago

Image
1

304

brantcoat/subhatch repository overview

⁠Subhatch

A lightweight, self-hosted subscription manager for proxy nodes. Web UI to manage, subscribe, and export.

Supported protocols: VLESS · VMess · Trojan · Shadowsocks · Hysteria2 · TUIC · AnyTLS · Naive

⁠Quick Start

docker pull brantcoat/subhatch:latest
mkdir -p /path/to/data

docker run -d \
  -p 3000:3000 \
  -v /path/to/data:/data \
  -e ADMIN_PASSWORD=your_strong_password \
  -e SUB_TOKEN=your_secret_token \
  --name subhatch \
  --restart unless-stopped \
  brantcoat/subhatch:latest

Open http://localhost:3000 → login → paste your node URIs → done.

⁠Docker Compose
services:
  subhatch:
    image: brantcoat/subhatch:latest
    ports:
      - "3000:3000"
    volumes:
      - ./data:/data
    environment:
      - ADMIN_PASSWORD=your_strong_password
      - SUB_TOKEN=your_random_token
    restart: unless-stopped

⁠Features

  • Web UI — node CRUD, bulk paste (newline/base64), light/dark mode, mobile responsive
  • Token-gated subscriptions — secret token protects /sub, scoped tokens per node set
  • Multi-node input — paste one or many URIs, base64 subscription strings
  • Node QR & copy — individual QR code and copy button per row
  • Upstream import — subscribe from external URLs, merge into export
  • Config export — sing-box JSON (desktop, HPC, OpenWrt-momo)
  • Node upload API — POST /api/upload with auto-generated token
  • Audit log — color-coded operation history with IP
  • Hidden info mode — hide sensitive text for screenshots
  • Zero dependencies — plain ES Modules, no npm install needed

⁠Environment Variables

VariableRequiredDescription
ADMIN_PASSWORD✅ YesPassword for Web UI login
SUB_TOKENNoSecret token for /sub access (recommended)
VLESS_NODESNoStatic nodes, pipe | or newline separated
PORTNoDefault 3000
DATA_FILENoPath to JSON store, default /data/data.json

⁠Screenshot

screenshot

Tag summary

Content type

Image

Digest

sha256:df80f2096…

Size

41.1 MB

Last updated

about 1 month ago

docker pull brantcoat/subhatch