
Flood
Modern web UI for monitoring and managing your torrent clients
Flood is a sleek, modern web interface for monitoring and managing various torrent clients. Built as a Node.js service, Flood communicates with your favorite torrent client and serves a beautiful, responsive web UI for administration—perfect for users who want a unified dashboard across multiple download clients.
🎨 Modern Interface
Beautiful, responsive web UI that works seamlessly across all devices
🔗 Multi-Client Support
Works with Deluge, qBittorrent, rTorrent, and Transmission
📊 Real-Time Monitoring
Live torrent status, speeds, and progress tracking
🔐 Secure Access
nginx reverse proxy with user-scoped paths
Torrent Client Required
Flood is a monitoring interface, not a torrent client itself. You must have at least one torrent client installed — Deluge, qBittorrent, rTorrent, TransmissionTorrent client required — for Flood to connect to.
Installation
Prerequisites
- QuickBox Pro v3 installed and up to date
- Target QuickBox user already exists (qb user create)
- At least one supported torrent client installed and running (Deluge, qBittorrent,rTorrent + shimAutomatically applied on rtorrent installs of version 0.16.5+, or Transmission)
- Dashboard/nginx working over HTTPS for the server (QuickBox default)
What you get
- Per-user Flood binary and config at
/usr/local/bin/username/floodand/home/username/.config/Flood - Reverse-proxied access at
https://yourserver.com/username/flood/ - Managed systemd service
flood@usernamewith security hardening and journalctl logs - Uses your installed torrent client via the QuickBox-provided ports/sockets
qb install flood -u usernameCLI Options
-u, --usernameRequiredTarget QuickBox username for install/remove/update operations
Directory Layout
Per-User Binary Isolation
QuickBox Pro uses a per-user binary architecture for Flood, providing true isolation between users:
/usr/local/bin/username/floodEach user gets their own independent Flood binary in /usr/local/bin/username/. This means:
- Independent Updates: Updating one user’s Flood doesn’t affect other users
- Version Flexibility: Different users can run different Flood versions if needed
- Enhanced Security: Binaries are owned by the respective user, preventing unauthorized modifications
- Service Isolation: systemd services are configured to run user-specific binaries with security sandboxing
Multi-User Benefits
This architecture is especially valuable on shared servers where administrators need to test updates with one user before rolling them out system-wide, or when different users have different stability requirements.
Network & Access
Flood runs on an auto-assigned port (default starting at 3001) and is accessible through the nginx reverse proxy:
https://yourserver.com/username/flood/The first time you access Flood, you’ll be prompted to configure your torrent client connection.
Services
Flood uses a templated systemd unit (flood@.service) for per-user isolation with enhanced security:
# Check status
systemctl status flood@username
# View logs
journalctl -u flood@username -f
# Restart service
systemctl restart flood@usernameSecurity Hardening
Each Flood service runs with systemd security features enabled:
NoNewPrivileges: Prevents privilege escalationPrivateTmp: Isolated/tmpdirectory per serviceLimitNOFILE=65536: Increased file descriptor limit for torrent operations- User-specific binary: Each service runs its own binary from
/usr/local/bin/username/flood
Service Isolation
Each user runs their own Flood binary with process isolation through systemd. The per-user binary architecture means updates to one user’s instance won’t affect others.
Integrations
Supported Torrent Clients
Flood can connect to and manage these torrent clients.
Torrent Clients
Configuration
On first access, Flood will prompt you to configure your torrent client connection. Use the QuickBox-specific connection details below for each client.
rTorrent
rTorrent SCGI shim (Flood + ruTorrent)
What the shim does
- Binds the public socket
/var/run/username/.rtorrent.sockand forwards to rTorrent’s real socket/var/run/username/.rtorrent-real.sock. - Forces Flood to fall back to XML-RPC by blocking JSON probes, which keeps torrent uploads working (watch dirs) across rTorrent/libtorrent versions.
- Keeps ruTorrent and other clients on the same stable socket path.
Recommended versions
Use rTorrent 0.16.5rTorrent 0.16.5 recommended (libtorrent 0.16.5) with the shim enabled. On current rTorrent/libtorrent builds (0.16.1+), the shim is enabled automatically. Flood should connect to /var/run/username/.rtorrent.sock, while ruTorrent is configured via .rtorrent.rc, /etc/nginx/software/username.scgi.conf, and /srv/rutorrent/conf/users/username/config.php. During installation and updates, all required configurations are automatically adjusted to route through the shim and connect to the underlying socket at /var/run/username/.rtorrent-real.sock.
Shim essentials
- rTorrent real socket:
/var/run/username/.rtorrent-real.sock(this is what is set on the.rtorrent.rcfile and ruTorrent/nginx) - Shim socket (use this in Flood):
/var/run/username/.rtorrent.sock - Service:
rtorrent-scgi-shim@username - Also adds the following entries to
/home/username/.rtorrent.rc(Removed during uninstall):
## Load & start methods (used by watch directories)
method.insert = "load.start_throw", "simple", "load.raw_start="
method.insert = "load.throw", "simple", "load.raw="
## End load & start methodsValidate & recover
systemctl status rtorrent-scgi-shim@username
ls -l /var/run/username/.rtorrent.sock /var/run/username/.rtorrent-real.sock- If the shim socket is missing:
systemctl restart rtorrent-scgi-shim@username - If the real socket is missing:
systemctl restart rtorrent@username - Always point Flood and ruTorrent at
/var/run/username/.rtorrent.sock
More details
For additional context on the shim and socket layout, see the rTorrent docs → Shim details.
qBittorrent
http://127.0.0.1:PORTFinding Your Port
The port used by Flood to connect to qBittorrent’s Web UI. This is the port displayed on the QuickBox dashboard in the Port column of the Service Control panel. You can also check your qBittorrent Web UI port in /home/username/.config/qBittorrent/qBittorrent.conf under WebUI\Port.
Deluge
127.0.0.1Transmission
http://127.0.0.1:PORT/transmission/rpcFinding Your Port
Check your Transmission RPC port in /home/username/.config/transmission-daemon/settings.json under rpc-port.
Multiple Clients
You can configure Flood to connect to multiple torrent clients if you have several installed. Add each client through the Flood settings panel.
Best Practices
Do
- Install your preferred torrent client before installing Flood.
- Use
qb update floodto keep Flood updated. - Monitor service health with
systemctl status flood@username.
Don't
- Do not manually edit systemd or nginx files—use
qbcommands. - Do not expose Flood directly to the internet without nginx in front.
Additional Resources
Join the Community
Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.