ztorrent is a desktop BitTorrent client modeled on Transmission — a Tauri v2 app behind the shared cyberpunk HUD, over the embeddable ztorrent-core engine. Add torrents from a file, a magnet link or a watched folder; filter and sort a live torrent table; drive per-file selection, seeding rules, queue position and speed limits from the details pane; and reach every one of those actions from the ⌘K palette or the native menu bar. Transmission coverage is 96.5% of an enumerated feature set, tracked row by row in the port report.
Transmission’s model
Session keys under their own wire names, the three-mode seeding limits, download and seed queues with stalled detection, and the turtle scheduler — including the overnight window that trips most reimplementations.
One engine
Everything is a command on ztorrent-core, so the app, an embedding host and a C ABI host behave identically — and a Transmission remote can drive the same engine over the RPC surface.
Shared HUD
zgui-core widgets throughout: the ⌘K palette, sortable and resizable tables, the fzf filter with matched-character highlighting, the embedded terminal, the file browser and the stryke hooks editor.
Local, and quiet
No account, no telemetry, no cloud sync. The session lives in a JSON file you can read, beside the settings file that carries Transmission’s own key names.
In the window
A toolbar (add file · add magnet · start · stop · remove · turtle · filter), a status-filter sidebar with live counts and labels, the torrent table (name · size · progress · status · rates · ratio · ETA · peers · queue), a details pane (Info · Files · Peers · Trackers · Pieces · Options), and a status bar carrying the aggregate rates with sparklines, the session ratio and the turtle indicator. Message-log, statistics, RSS (feeds and auto-download rules) and Schedule (the 7×24 turtle grid) panels sit behind the palette; the sidebar also carries categories and saved views; and a torrent or magnet dropped on the window is added. The settings panel is the shell’s single ⚙ panel, filled with Transmission’s preference groups: Downloads (content layout and disk preallocation), Speed, Queue and seeding, Network, Remote control (with optional HTTPS), Email notification (with a test-message button), Power, Blocklist, the auto-assign Groups editor, and Interface.
Build
pnpm install # in app/ — pulls the pinned zgui-core + the Tauri CLI pnpm dev # tauri dev pnpm build # tauri build pnpm test # engine + webui suites
Where it goes next
See the engineering report for the app’s structure and the shared modules it mounts, the port report for feature-by-feature Transmission coverage, and the MenkeTechnologiesMeta umbrella for the wider desktop stack.