
pyLoad
Lightweight Python download manager with web interface
pyLoad is a free, open-source download manager written in Python, designed to be extremely lightweight and easily extensible. It supports downloading from one-click hosters, container formats (DLC, CCF, RSDF), and video sites through its plugin system—all fully manageable via a modern web interface.
Python-Based
Runs in an isolated Python 3.9 virtual environment for stability
Web Interface
Modern PyPlex theme with full download management via browser
Plugin System
Extensible architecture supporting 100+ hosting sites
SSL Support
Auto-generated SSL certificates for secure connections
After installation, the default password is pyload. The username is automatically set to your QuickBox username. Change your password immediately via the web interface settings.
Installation
Install from the Dashboard
Open App Dashboard → Package Management (/dashboard?mode=packages), find pyLoad in the catalog (browse Download Clients or search), and click Install. The dashboard sets up the isolated Python virtual environment automatically, streams the install log live, and pyLoad appears in your Application Control panel when it finishes. Reinstall, Update, and Remove are available from the same panel.
What you see and can manage is gated by your account: admins manage any user’s apps; regular users manage their own. For the full package flow see App Management.
Install from the CLI (automation)
The CLI runs the same install and is suited to automation and scripting:
qb install pyload -u username| Command | Description |
|---|---|
qb install pyload -u username | Install pyLoad for the specified user |
qb reinstall pyload -u username | Reinstall while preserving configuration |
qb remove pyload -u username | Remove pyLoad and clean up files |
qb update pyload -u username | Update pyLoad to the latest version |
CLI Options
-u, --usernameRequiredTarget QuickBox username for install/remove/update operations
Directory Layout
Network & Access
pyLoad runs on an auto-assigned port (default 8001) and is accessible through the nginx reverse proxy:
https://yourserver.com/username/pyload/Default credentials:
- Username: Your QuickBox username
- Password:
pyload(change immediately after first login)
The default password is pyload for all installations. Change it immediately via Settings → User Manager in the web interface.
Services
pyLoad uses a templated systemd unit (pyload@.service) running as a forking daemon:
# Check status
systemctl status pyload@username
# View logs
journalctl -u pyload@username -f
# Restart service
systemctl restart pyload@usernameVPN routing
pyLoad can route all of its download traffic through a VPN tunnel using QuickBox Pro’s app-scoped routing, with either a WireGuard or an OpenVPN backend. When routing is enabled, every fetch pyLoad makes to a one-click hoster exits through the VPN peer instead of your server’s real IP.
Why route pyLoad: one-click hosters see and log the IP that requests each download, and they enforce their limits against it: wait timers between files, daily download caps, and outright blocks on datacenter IP ranges. Routing pyLoad through a VPN hides the server’s real IP behind the provider’s exit, and switching to a different VPN server gives you a fresh exit IP that resets those per-IP limits.
pyLoad is a per-user template service (pyload@<user>), so several users can each route their own instance independently, the same as Emby, Jellyfin, and qBittorrent. It appears in the App-Scoped Routing card once pyLoad is installed and its service is running; there is no pre-install staging.
How to enable VPN routing for pyLoad:
- Go to System > VPN Control (
/system/vpn) in the dashboard - Upload at least one WireGuard
.confor OpenVPN.ovpnfile if you have not done so already - Scroll to the App-Scoped Routing card on the VPN Control page
- Select pyLoad from the app list
- Choose the tunnel backend and a peer configuration from the dropdown
- Click Enable Routing
pyLoad restarts inside its VPN network namespace and its downloads exit through the VPN peer from that point forward. The web interface keeps working: pyLoad binds to loopback inside the namespace, and QuickBox routes the dashboard proxy to it automatically, so the https://yourserver.com/username/pyload/ URL and dashboard tile are unaffected.
pyLoad routes outbound-only - only its outbound download traffic is routed. Like the other routed clients, there are no incoming connections to forward, so there is nothing extra to configure for inbound access.
The default kill-switch stale threshold for pyLoad is 30 minutes, matching qBittorrent and the other downloaders. pyLoad runs long, chunked downloads, so a shorter window risks tearing down routing and aborting an in-progress download during a brief VPN handshake stall. You can adjust it between 60 seconds and 24 hours on the app row inside the App-Scoped Routing card.
For full details on routing configuration, kill switch settings, and live metrics, see the VPN Control dashboard page.
Best Practices
Do
- Change the default password immediately after installation.
- Use the PyPlex theme (default) for the best user experience.
- Configure account credentials for premium hosting sites in Settings.
- Use
qb update pyloadto keep pyLoad updated.
Don't
- Do not leave the default password unchanged.
- Do not manually edit systemd or nginx files—use
qbcommands. - Do not modify files in the virtual environment directly.
Additional Resources
Join the Community
Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.