A BitTorrent client written fully in Rust using Ratatui.
Find releases for all platforms on the releases page
Magnet links and torrent files are fully supported with installation.
Note
Some terminals start with very low ulimits (256). superseedr can still operate, but consider increasing for maximum performance and stability: ulimit -n 65536.
Note
macOS's default terminal application does not support truecolor just yet (soon!), try using kitty or Ghostty.
This installation is intended for private trackers, as it disables peer-discovery features (DHT & PEX). These features will not be included in the final build of the private versions of superseedr. These builds are also available on the releases page.
You can also install from source using cargo.
# Standard Build
cargo install superseedr
# Private Tracker Build
cargo install superseedr --no-default-featuresOpen up a terminal and run:
superseedrNote
Add torrents by clicking on magnet links from the browser and or opening torrent files.
A download directory needs to be set first. Configure this inside the application with c.
While in the app, add torrents by pasting (ctrl+v or v) a magnet link or path to a .torrent file.
You can also add torrents or magnet links via another terminal command line while the TUI is running (make sure to set a download path first):
# Magnet links or torrent paths can be pasted when the TUI is running.
crtl+v "magnet:?xt=urn:btih:..."
crtl+v "/absolute/path/to/my.torrent"
# CLI - Run in another terminal
superseedr "magnet:?xt=urn:btih:..."
superseedr "/absolute/path/to/my.torrent"
superseedr stop-clientConfiguration files are located in the user's Application Support folder:
Press [m] in the tui to see log and config path
The client is in a late-alpha stage, with most core BitTorrent features implemented and functional. Testing and refining for V1.0 release.
- Real Time Performance Tuning: Periodic resource optimizations (file handles) to maximize speeds and disk stability.
- Peer Discovery: Full support for Trackers, DHT, PEX, and Magnet Links (including metadata download).
- Piece Selection: Utilizes a Rarest-First strategy for optimal swarm health, switching to Endgame Mode for the final pieces.
- Choking Algorithm: Employs a tit-for-tat based choking algorithm with optimistic unchoking for efficient upload slot management.
- Real-time Dashboard: A
ratatui-based terminal UI displaying overall status, individual torrent progress, peer lists, and network graphs. - High Performance TUI: FPS selector that allows 1-60fps.
- Network Graph: Historic time periods selector on network activity for network speed and disk failures.
- Persistent State: Saves the torrent list, progress, and lifetime stats to a configuration file.
- Speed Limits: Allows setting global upload and download speed limits.
- Testing: Ongoing testing across various platforms and terminals.
- Unit Testing: Expansion of unit test coverage.
- Bugs Startup and Shutdown Fixing of serveral edge cases when users quit during certain critical phases.
- Fix and refactor synchronous startup and validation
- Docker: Docker setup with VPN container networking passthrough.
- Codebase: Reduce dependencies by implementing some of these features in the codebase.
- Protocol Encryption (PE/MSE): Encrypts BitTorrent.
- Full IPv6 Support: Allow connecting to IPv6 peers and announcing to IPv6 trackers, including parsing compact peers6 responses.
- UPnP / NAT-PMP: Automatically configure port forwarding on compatible routers to improve connectability.
- Tracker Scraping: Implement the ability to query trackers for seeder/leecher counts without doing a full announce (useful for displaying stats).
- Network History: Persisting network history to disk.
- Selective File Downloading: Allow users to choose which specific files inside a multi-file torrent they want to download.
- Sequential Downloading: Download pieces in order, primarily useful for streaming media files while they're downloading.
- Torrent Prioritization / Queueing: Allow users to set priorities for torrents and configure limits on the number of active downloading or seeding torrents.
- Per-Torrent Settings: Allow setting individual speed limits, ratio goals, or connection limits for specific torrents.
- Torrent Log book: Historic log book of all torrents added and deleted. Allows users to search and redownload.
- Headless Mode / Web UI: Run the client as a background service without the TUI, controllable via a web browser interface or an API.
- RSS Feed Support: Automatically monitor RSS feeds and download new torrents matching user-defined filters.
- Advanced TUI Controls: Add more interactive features to the TUI, like in-app configuration editing, more detailed peer/file views, advanced sorting/filtering.
- TUI Files View Hierarchy: Add a popup that shows in an interactive hierarchy view and live progress for the files of the torrent.