SerrebiTorrent is a Windows desktop torrent manager designed for keyboard-first use and screen readers. It can manage torrents on this PC (local libtorrent) or control a remote client (qBittorrent, Transmission, rTorrent).
Latest: v1.5.33 - Fixed CMD window flash during updates
- Connect to local libtorrent, rTorrent (SCGI/XML-RPC), qBittorrent, or Transmission from one interface.
- Live download/upload speeds, progress, ratio, tracker host, and status messages for each torrent.
- Create torrents.
- Responsive UI: remote operations run in the background to avoid freezing.
- Quick filters (All, Downloading, Complete, Active) plus a tracker tree in the sidebar.
- Keyboard workflow + tray support that plays nicely with NVDA and other screen readers.
- Download the latest ZIP from https://github.com/serrebi/SerrebiTorrent/releases
- Extract the entire
SerrebiTorrentfolder somewhere (example:C:\Portable\SerrebiTorrent\). - Run
SerrebiTorrent.exe(do not move the EXE out of its folder).
Portable data (profiles, preferences, resume data, logs) lives next to the app in SerrebiTorrent_Data\.
- Open Connection Manager:
Ctrl+Shift+C(or tray icon → Switch Profile → Connection Manager...) - Add a profile and connect:
- Local: manages torrents via libtorrent on this PC (default profile on first run).
- Remote: point at qBittorrent / Transmission / rTorrent and enter credentials if needed.
- Local session + app settings: Tools → Local Session Settings… (Ctrl+,) (or tray icon → Settings → Local Session Settings…)
- Remote client settings (enabled only when connected): Tools → qBittorrent/Transmission/rTorrent Remote Settings… (or tray icon → Settings → …)
The app checks GitHub Releases for updates. You can enable/disable the startup check in Local Session Settings, or run Tools → Check for Updates.
Update flow:
- Downloads the release ZIP from GitHub using the update manifest asset (
SerrebiTorrent-update.json). - Verifies the ZIP SHA-256 from the manifest.
- Verifies Authenticode signature on the new
SerrebiTorrent.exe. - Uses a helper script to swap folders safely, keep a backup, and restart the app.
If an update fails, check the updater log in %TEMP%\SerrebiTorrent_update_*.log.
Prereqs:
- Python 3.14 + dependencies from
requirements.txt - Git + GitHub CLI (
gh auth logincompleted) - Code signing cert installed
- SignTool available (default path used, or set
SIGNTOOL_PATH)
Commands:
build_exe.bat buildbuilds, signs, and zips locally.build_exe.bat releaseauto-bumps version, builds, signs, zips, tags, pushes, creates the GitHub release, and uploads the update manifest.build_exe.bat dry-runshows what it would do without modifying anything.
Versioning uses the latest vMAJOR.MINOR.PATCH tag as the base. If none exists, it starts at v1.0.0. Commits with BREAKING CHANGE or !: bump major; commits starting with feat (or containing feature) bump minor; otherwise it bumps patch.
Commands:
git clone https://github.com/serrebi/SerrebiTorrentpython -m pip install -r requirements.txtbuild_exe.bat build
Build output lands in dist\SerrebiTorrent\. For distribution, zip the entire SerrebiTorrent folder (not just the EXE).
Everything stays reachable by keyboard:
- Ctrl+Shift+C: Connection Manager
- Ctrl+O / Ctrl+U: Add torrent file / Add URL or magnet
- Ctrl+S / Ctrl+P: Start / Stop selected torrents
- Delete / Shift+Delete: Remove / Remove with data
- Ctrl+A: Select all
- Tab: Toggle focus between the sidebar and torrent list; double-clicking the tray icon restores the window.
- Ctrl+N: Create a torrent
Need to troubleshoot? Logs live under SerrebiTorrent_Data\logs next to the EXE/script in portable mode (or per-user app data in installed mode). Open AGENTS.md if you need technical or build details.
SerrebiTorrent includes automatic update functionality:
- App checks GitHub releases for newer versions (manual via Tools menu or automatic on startup if enabled)
- Downloads update ZIP and verifies SHA-256 checksum and Authenticode signature
- Launches hidden helper script that:
- Waits for app to exit
- Backs up current installation to
<install_dir>_backup_<timestamp> - Applies update by moving new files to install directory
- Restarts the app
- Backup cleanup runs automatically:
- Default: Keeps 1 backup (newest) and deletes it after 5-minute grace period
- Immediate: Set
SERREBITORRENT_KEEP_BACKUPS=0to delete backup immediately after successful update - Multiple: Set
SERREBITORRENT_KEEP_BACKUPS=Nto keep N most recent backups
- Backup Retention: Set environment variable
SERREBITORRENT_KEEP_BACKUPSto control how many backup folders to keep (default: 1) - Signing Trust: Set
SERREBITORRENT_TRUSTED_SIGNING_THUMBPRINTSto comma-separated list of trusted certificate thumbprints
- The update process runs completely hidden (no CMD windows appear)
- User data in
SerrebiTorrent_Datais preserved during updates - If an update fails, the backup is automatically restored
- Backups are cleaned up automatically after a grace period to allow manual rollback if needed
- Build a release with
build_exe.bat releaseand extract the ZIP to a folder likeC:\Temp\SerrebiTorrent-old. - Create a newer release (make a small commit, then run
build_exe.bat releaseagain). - Launch the older app, run Tools -> Check for Updates, accept the prompt, and confirm:
- The app closes and restarts on the new version
- No CMD/console windows appear during the update
- After 5 minutes, backup folders are automatically cleaned up (or immediately if
SERREBITORRENT_KEEP_BACKUPS=0) - The status bar reports update status or errors clearly