CLI proxy manager built on sing-box. It reads a single config.yaml, generates a sing-box config, and runs the core for you.
- Node.js 18+
- pnpm
sing-boxavailable in PATH
npm i -g subproxy-clipnpm install- Create
config.yamlin the project root. - Generate config once:
subproxy-cli gen- Run in background mode:
subproxy-cli runsubscriptions:
- "https://example.com/sub"
inbound:
httpPort: 20800
socksPort: 20801
excludeKeywords:
- "香港"
- "HK"
- "Hong Kong"
nodes:
- type: vmess
server: "v.example.com"
server_port: 443
uuid: "00000000-0000-0000-0000-000000000000"
alter_id: 0
security: "auto"
tls:
enabled: true
server_name: "v.example.com"
transport:
type: "ws"
path: "/ray"
test:
url: "https://www.google.com/generate_204"genGenerate sing-box config oncerunRun in background with periodic updateslistList available nodes
User-level service management for Linux (systemd) and macOS (launchd).
Install service definition:
subproxy-cli service installStart service:
subproxy-cli service startEnable auto-start on login:
subproxy-cli service enableCheck status:
subproxy-cli service status- Generated config:
.subproxy-cli/sing-box.json - Runtime cache:
.subproxy-cli/