A traffic forwarding and proxy management panel.
升级到2.1.0及以上版本时,后台中的节点更新功能无法使用,需要手动先卸载再更新
建议升级前,记下节点的卸载命令,面板成功升级后再重新安装
Requires Docker. Supports amd64 and arm64 architectures.
curl -fsSL https://raw.githubusercontent.com/0xNetuser/flux-panel/main/panel_install.sh -o panel_install.sh && chmod +x panel_install.sh && ./panel_install.shThe script provides an interactive menu:
| Option | Description |
|---|---|
| 1. Install | Installs Docker, generates random credentials, downloads config, starts services |
| 2. Update | Pulls latest images, runs database migrations, restarts services |
| 3. Uninstall | Removes containers, volumes, and config files |
| 4. Backup | Exports MySQL database backup to current directory |
1. Download config
mkdir -p flux-panel && cd flux-panel
curl -fsSL https://github.com/0xNetuser/flux-panel/releases/latest/download/docker-compose.yml -o docker-compose.yml2. Create .env file
DB_NAME=flux_db
DB_USER=flux_user
DB_PASSWORD=<random-password>
# JWT secret (must be set, otherwise sessions expire on restart)
JWT_SECRET=<random-password>
# Panel port (default 6366)
PANEL_PORT=6366
# Optional: IPv6 support
# ENABLE_IPV6=true
# Optional: CORS allowed origins (comma-separated, allows all if not set)
# ALLOWED_ORIGINS=https://panel.example.comUse
openssl rand -base64 32to generate random passwords.
3. Start
docker compose up -d4. Get admin password
A random admin password is generated on first launch:
docker logs go-backend 2>&1 | grep "password"| Field | Value |
|---|---|
| URL | http://<server-ip>:6366 |
| Username | admin_user |
| Password | Check startup logs |
To enable IPv6 support, set ENABLE_IPV6=true in .env and ensure Docker has IPv6 enabled:
# Edit /etc/docker/daemon.json
{
"ipv6": true,
"fixed-cidr-v6": "fd00::/80"
}
# Restart Docker
systemctl restart dockerRecommended: Add a node in the panel's "Node Management" page, click "Install", and copy the generated command to the node server.
# Use the command generated by the panel
docker run -d --network=host --restart=unless-stopped --name flux-node \
-e PANEL_ADDR=http://<panel-ip>:<panel-port> \
-e SECRET=<node-secret> \
0xnetuser/node:latestThe install script is generated by the panel with all parameters pre-configured. Copy and run on the node server.
| Variable | Required | Default | Description |
|---|---|---|---|
DB_NAME |
Yes | - | MySQL database name |
DB_USER |
Yes | - | MySQL username |
DB_PASSWORD |
Yes | - | MySQL password |
JWT_SECRET |
Yes | - | JWT signing key |
PANEL_PORT |
No | 6366 |
Panel access port |
ENABLE_IPV6 |
No | false |
Enable Docker network IPv6 |
ALLOWED_ORIGINS |
No | * |
CORS allowed origins (comma-separated) |
| Variable | Required | Description |
|---|---|---|
PANEL_ADDR |
Yes | Panel address, e.g. http://1.2.3.4:6366 |
SECRET |
Yes | Node communication secret, auto-generated when adding a node |
This project is for personal learning and research purposes only.
All risks arising from the use of this project are borne solely by the user, including but not limited to:
- Service disruption caused by misconfiguration or incorrect usage
- Network attacks, bans, or abuse resulting from the use of this project
- Data leaks, resource consumption, or losses due to server compromise
- Any legal liability arising from violation of local laws and regulations
This project is an open-source traffic forwarding tool intended exclusively for lawful and compliant use. Users must ensure their usage complies with the laws and regulations of their country or region.
The author assumes no responsibility for any legal liability, financial loss, or other consequences arising from the use of this project.
It is prohibited to use this project for any illegal or unauthorized activities.
If you do not agree to the above terms, please stop using this project immediately.