Serrebi Projects

Serrebi Radio Mastodon project catalog

All apps

SerrebiTorrent

An accessible torrent client for myself.

Downloads

Latest release: v1.11.5, published 16 August 2026. Every file from that release is here.

Questions, bugs, or release news? Join the SerrebiProjects Telegram group, the fastest place to get help.

Readme

A vibe-coded, keyboard-first, screen-reader-friendly torrent manager for Windows. Manage torrents locally with built-in libtorrent, or drive a remote client — qBittorrent, Transmission, or rTorrent — from the same interface.

Features

  • Connects to local libtorrent, or a remote qBittorrent, Transmission, or rTorrent (SCGI/XML-RPC) client, all from one interface.
  • Live download/upload speeds, progress, ratio, tracker host, and status messages for each torrent.
  • Searches torrent indexers and adds what you pick, without leaving the app.
  • Creates torrents.
  • Responsive UI: remote operations run in the background so the app never freezes.
  • Quick filters (All, Downloading, Complete, Active) plus a tracker tree in the sidebar.
  • Full keyboard workflow and tray support, built and tested with NVDA.
  • Built-in updater that verifies SHA-256 and Authenticode before applying an update, with automatic backup and rollback.

Download and install

Grab the latest build from the Releases page. Latest: v1.10.0.

Windows portable

  1. Download the latest ZIP.
  2. Extract the entire SerrebiTorrent folder somewhere (example: C:\Portable\SerrebiTorrent\).
  3. Run SerrebiTorrent.exe — don’t move the EXE out of its folder.

The ZIP contains SerrebiTorrent’s private Python runtime, libtorrent, OpenSSL, web interface, and update helper. A regular Windows 11 64-bit computer does not need Python, pip, Visual C++ build tools, or a separate torrent client.

Portable data (profiles, preferences, resume data, logs) lives next to the app in SerrebiTorrent_Data\. Updating in place keeps this data untouched.

Linux x86-64

  1. Download the Linux .tar.gz package.
  2. Extract it and run SerrebiTorrent/SerrebiTorrent.

The Linux package includes its own Python runtime and libtorrent. A system Python installation is not required.

macOS

Download and extract the macOS ZIP produced for the release. macOS packages are built on a native GitHub-hosted macOS runner and include their required Python runtime and libtorrent binding.

First-time setup

  • 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, or rTorrent and enter credentials if needed.

Searching for torrents

Tools -> Search for Torrents… (Ctrl+F) searches Knaben, The Pirate Bay, EZTV, Nyaa, Torrents-CSV, LimeTorrents and BitSearch at once, filling the list as each answers. Sort by seeders, best match, size, newest or name; Enter adds the selected rows to the connected client, and Ctrl+C copies their magnet links.

Search sites… switches individual indexers off, and indexers added in a later release are searched by default. My indexers… adds your own Torznab or Newznab endpoint — a whole Prowlarr or Jackett instance counts as one. That is how private trackers are searched: those tools already hold the login and the passkey, so SerrebiTorrent never stores a tracker password. A private tracker’s authenticated .torrent is fetched with your own credentials at the moment you add it, rather than being turned into a magnet that its swarm would refuse.

SerrebiTorrent ships with no indexers of its own configured — only the public ones above. If blindDL is installed on the same computer and has indexers set up, the search picks them up the first time it opens, since both use the same feed format. It only ever adds: an indexer you have edited here is never overwritten.

Settings

  • 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 -> …).

Run from source (developers)

  1. Install Python 3.14.
  2. git clone https://github.com/serrebidev/SerrebiTorrent
  3. python -m pip install -r requirements.txt
  4. Ensure the Python 3.14 Windows libtorrent extension and its DLLs are installed or available on PATH — it isn’t published on PyPI.
  5. Launch it: python main.py

Building

build_exe.bat drives releases from the Windows release machine. It creates a clean build environment, installs the newest locally maintained CPython 3.14 libtorrent wheel, packages and verifies Windows locally, and asks root@serrebiradio.com to build and verify Linux. Tagged macOS packages are built natively by GitHub Actions.

Prereqs:

  • Python 3.14
  • A validated libtorrent wheel from the Libtorrent Weekly Update task
  • Git + GitHub CLI (gh auth login completed)
  • Code signing cert installed
  • SignTool available (default path used, or set SIGNTOOL_PATH)

Commands:

  • build_exe.bat build — builds, signs, and zips locally.
  • build_exe.bat release — auto-bumps, builds Windows locally and Linux over SSH, signs, archives, tags, pushes, creates the GitHub release, and uploads the update manifest.
  • build_exe.bat dry-run — shows what it would do without modifying anything.
  • powershell -File tools\build_linux_remote.ps1 -Version X.Y.Z — builds only the Linux package on the configured SSH host.

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.

Windows output lands in dist\SerrebiTorrent\; distribute the whole folder, not just the EXE. The package contains its own Python runtime, libtorrent, and the native libraries those features actually load, so users do not install Python or a Visual C++ runtime separately.

Auto-updater

The app checks GitHub Releases for updates. Enable or disable the startup check in Local Session Settings, or run Tools -> Check for Updates at any time.

Update flow:

  1. Downloads the release ZIP using the update manifest asset (SerrebiTorrent-update.json).
  2. Verifies the ZIP’s SHA-256 against the manifest.
  3. Verifies the Authenticode signature on the new SerrebiTorrent.exe.
  4. Runs a hidden helper script that waits for the app to exit, backs up the current install to <install_dir>_backup_<timestamp>, swaps in the new files, and restarts the app.

Backup cleanup runs automatically:

  • Default — keeps 1 backup (newest); cleanup starts after a 5-minute grace period.
  • Immediate — set SERREBITORRENT_KEEP_BACKUPS=0 to delete the backup right after a successful update.
  • Multiple — set SERREBITORRENT_KEEP_BACKUPS=N to keep N most recent backups.

Other environment variables:

  • SERREBITORRENT_TRUSTED_SIGNING_THUMBPRINTS — comma-separated list of trusted certificate thumbprints.

If an update fails, the backup is restored automatically. Check the updater log in %TEMP%\SerrebiTorrent_update_*.log if something goes wrong. The update process runs completely hidden — no console windows appear, and user data in SerrebiTorrent_Data is preserved throughout.

Accessibility and shortcuts

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
  • Ctrl+N — Create a torrent
  • Ctrl+F — Search for torrents
  • Tab — Toggle focus between the sidebar and torrent list; double-clicking the tray icon restores the window.

Logs live under SerrebiTorrent_Data\logs, next to the EXE/script in portable mode (or in per-user app data in installed mode).

Contributing

Pull requests are welcome. If SerrebiTorrent has been useful to you, open a PR with a fix or feature and I’ll review it.

Community and support

Report bugs and request features in Issues. For questions, feedback, and release news, join the SerrebiProjects Telegram group.