will fce60b8ad3
CI / Test (push) Has been cancelled
CI / Build (amd64, linux) (push) Has been cancelled
CI / Build (arm64, linux) (push) Has been cancelled
CI / Build & Push Docker Image (push) Has been cancelled
CI / Release (push) Has been cancelled
fix: force-close user connections on removal, fix UDP upload/download counters, use self-hosted releases
- service.go: call CloseUserConnections() before RemoveUsers() so banned/reset
  users are disconnected immediately instead of waiting for natural timeout
  (upstream issue #32, PR pending 4+ months)

- conntracker.go: swap UnwrapPacketReader/Writer upload/download counters for
  UDP PacketConn path — Reader=upload, Writer=download to match TCP path
  (upstream issue #55)

- xbctl/main.go: change downloadBase to JP01 Gitea so xbctl upgrade pulls
  self-hosted patched releases instead of upstream
2026-06-18 15:14:09 +09:00
2026-03-30 17:01:28 +08:00
2026-04-17 06:00:14 +08:00

xboard-node

Node backend for Xboard. Supports sing-box / xray-core dual kernels.

Disclaimer: This project is for educational and learning purposes only.

Features

  • Protocols: V2Ray family, Trojan, Shadowsocks, Hysteria2, TUIC, AnyTLS
  • Sync: WebSocket push + REST polling dual channel
  • User controls: speed limit, device limit, alive-IP tracking, hot update
  • Deploy modes: node mode, machine mode, standalone mode
  • Multi-instance: single process binding multiple panels / nodes

Install

Docker

docker run -d --restart=always --network=host \
  -e apiHost=https://panel.com -e apiKey=TOKEN -e nodeID=1 \
  ghcr.io/cedar2025/xboard-node:latest

Docker Compose

git clone -b compose --depth 1 https://github.com/cedar2025/xboard-node.git
cd xboard-node
vim config/config.yml   # set panel.url / token / node_id
docker compose up -d

Installer (Linux systemd)

# Node mode
curl -fsSL https://raw.githubusercontent.com/cedar2025/xboard-node/dev/install.sh | \
  sudo bash -s -- --mode node --panel https://panel.example.com --token TOKEN --node-id 1

# Machine mode
curl -fsSL https://raw.githubusercontent.com/cedar2025/xboard-node/dev/install.sh | \
  sudo bash -s -- --mode machine --panel https://panel.example.com --token TOKEN --machine-id 1

## xbctl

Run `xbctl` after installation for help. Common commands:

```bash
xbctl list                          # list all instances
xbctl status                        # running status
xbctl bind add-node --panel URL --token TOKEN --node-id 1
xbctl bind add-machine --panel URL --token TOKEN --machine-id 1
xbctl bind remove-node --panel URL --node-id 1
xbctl service restart

Configuration

Legacy single-panel config is fully compatible. Appending bindings auto-migrates to instances format. See config.yml.example.

Extensions

License

MPL-2.0.

S
Description
Fork of cedar2025/Xboard-Node — self-maintained with community patches
Readme 710 KiB
v1.13-patched Latest
2026-06-18 15:14:33 +09:00
Languages
Go 95.6%
Shell 3.8%
Makefile 0.3%
Dockerfile 0.3%