在终端中使用 BitTorrent 客户端
Superseedr is a modern Rust BitTorrent client featuring a high-performance terminal UI, real-time swarm observability, secure VPN-aware Docker setups, and zero manual network configuration. It is fast, privacy-oriented, and built for both desktop users and homelab/server workflows.
Live Interactive Demo — Experience the full superseedr terminal UI in the browser! This demo runs entirely client-side and does not perform real torrent, network, or disk operations.
| Experience | Networking | Engineering |
|---|---|---|
| 60 FPS TUI + Themes | ||
| Fluid, animated interface with heatmaps and 40 live-switchable built-in themes. | Docker + VPN | |
| Gluetun integration with dynamic port reloading. | BitTorrent v2 | |
| Hybrid swarms & Merkle tree verification. | ||
| RSS Feeds | ||
| In-app feed tracking, filtering, and ingest. | Cluster Mode | |
| OS-agnostic shared torrent catalog with automatic failover. | Self-Tuning | |
| Adaptive limits control for max speed and I/O Stability. | ||
| Magnet Links | ||
| Native OS-level handler support. | Private Mode | |
| Optional builds disabling DHT/PEX. | Integrity Prober | |
| Continuous lightweight background integrity checks with fast recovery reprobes. |
Download platform-specific installers from the releases page (includes browser magnet link support):
.exe per-user installer (no admin) or .msi installer.pkg installer .deb packagecargo install superseedrbrew install superseedryay -S superseedr (via AUR)Open a terminal
superseedr
| Key | Action |
|---|---|
m |
Open full manual / help |
Q |
Quit |
↑ ↓ ← → |
Navigate |
c |
Configure Settings |
[!TIP]
Add torrents by clicking magnet links in your browser or opening .torrent files. Copying and pasting (ctrl + v) magnet links or paths to torrent files will also work.
Connection or Disk issues?
ulimit -n 65536Slow downloads?
More help: See the FAQ or open an issue
Superseedr offers a fully secured Docker setup using Gluetun. All BitTorrent traffic is routed through a VPN tunnel with dynamic port forwarding and zero manual network configuration.
If you want privacy and simplicity, Docker is the recommended way to run Superseedr.
Follow steps below to create .env and .gluetun.env files to configure OpenVPN or WireGuard.
# Docker (No VPN):
# Uses internal container storage. Data persists until the container is removed.
docker run -it jagatranvo/superseedr:latest
# Docker Compose (Gluetun with your VPN):
# Requires .env and .gluetun.env configuration (see below).
docker compose up -d && docker compose attach superseedr
Click to expand Docker Setup
Get the Docker configuration files: You only need the Docker-related files to run the pre-built image, not the full source code.
Option A: Clone the repository (Simple) This gets you everything, including the source code.
git clone https://github.com/Jagalite/superseedr.git
cd superseedr
Option B: Download only the necessary files (Minimal) This is ideal if you just want to run the Docker image.
mkdir superseedr
cd superseedr
# Download the compose file and example config files
curl -sL \
-O https://raw.githubusercontent.com/Jagalite/superseedr/main/docker-compose.yml \
-O https://raw.githubusercontent.com/Jagalite/superseedr/main/.env.example \
-O https://raw.githubusercontent.com/Jagalite/superseedr/main/.gluetun.env.example
# Note the example files might be hidden run the commands below to make a copy.
cp .env.example .env
cp .gluetun.env.example .gluetun.env
Recommended: Create your environment files:
App Paths & Build Choice: Edit your .env file from the example. This file controls your data paths and which build to use.
cp .env.example .env
Edit .env to set your absolute host paths (e.g., HOST_SUPERSEEDR_ROOT_PATH=/my/path/seedbox). This is important: it maps the container's shared seedbox root (/seedbox) to a real folder on your computer. Keep superseedr-config/ inside that root for the simplest shared-config setup.
VPN Config: Edit your .gluetun.env file from the example.
cp .gluetun.env.example .gluetun.env
Edit .gluetun.env with your VPN provider, credentials, and server region.
Gluetun provides:
Many VPN providers frequently assign new inbound ports. Most BitTorrent clients must be restarted when this port changes, breaking connectability and slowing downloads. Superseedr can detect Gluetun’s updated port and reload the listener live, without a restart, preserving swarm performance.
.gluetun.env file.docker-compose.yml file:docker compose up -d && docker compose attach superseedr
To detach from the TUI without stopping the container, use the Docker key sequence:
Ctrl+Pfollowed byCtrl+Q. Optional: press[z]first to enter power-saving mode.
This runs the client directly without Gluetun. It is useful for advanced users who want to manage networking themselves.
docker run --rm -it \
-e SUPERSEEDR_DEFAULT_DOWNLOAD_FOLDER=/seedbox \
-e SUPERSEEDR_SHARED_CONFIG_DIR=/seedbox \
-e SUPERSEEDR_SHARED_HOST_ID=seedbox-docker \
-p 6881:6881/tcp \
-p 6881:6881/udp \
-v /your/seedbox:/seedbox \
-v ./docker-data/share:/root/.local/share/jagalite.superseedr \
jagatranvo/superseedr:latest
Replace /your/seedbox with the shared seedbox root on your host. Keep superseedr-config/ inside that folder so the container sees it at /seedbox/superseedr-config.
Superseedr is built around a local CLI and a file-based automation model, so you can script, queue, and inspect work without exposing a network control stack. The same command flow works when a client is online, when it is offline, and in shared mode when you are operating against a remote leader through a mounted shared root.
Check out the Superseedr Plugins Repository for plugins (beta testing).
Click to expand automation details
Superseedr uses a file-based watch-folder architecture so local automation, scripts, containers, and other processes can control ingestion without needing a separate daemon protocol.
Each node can watch a local watch_folder. In standalone mode, that watch
folder feeds the local client directly. In shared mode, followers watch their
own local folders and relay supported files into the shared inbox so the leader
can process them and update the shared catalog.
Processed watch files are archived after handling so the queue stays deterministic and auditable.
| File Type | Action |
|---|---|
.torrent |
Adds a torrent from a torrent file. In shared mode, follower-side ingest may stage the torrent for leader processing. |
.magnet |
Adds a torrent from a magnet link stored as text. |
.path |
Adds a torrent from a referenced torrent-file path. In shared mode, cross-host handling uses portable shared-root-aware staging. |
.control |
Applies queued control requests such as pause, resume, remove, purge, and priority changes. |
shutdown.cmd |
Requests graceful shutdown of the running client or shared leader. |
See docs/shared-config.md for shared inbox and
leader/follower watch-folder behavior.
The CLI uses the same file-oriented control model. Depending on mode, commands either:
That makes the CLI easy to script from shells, containers, task runners, and other local automation.
See docs/cli.md for the full CLI guide.
…
See docs/cli.md for full CLI command behavior, and
docs/shared-config.md for shared leader/follower
routing.
To choose a new available peer-listening port on every start, set
client_port = "RANDOM" in settings.toml. You can also launch with
SUPERSEEDR_CLIENT_PORT=RANDOM or the shorter PORT=RANDOM. A numeric
SUPERSEEDR_CLIENT_PORT takes precedence and selects a fixed port.
For external dashboards, health checks, and lightweight automation, Superseedr periodically dumps runtime state to JSON.
You can control how often this file is updated using the output_status_interval setting.
Environment Variable: Set this variable in your Docker config to change the update frequency (in seconds).
# Update the status file every 5 seconds
SUPERSEEDR_OUTPUT_STATUS_INTERVAL=5
Superseedr can track RSS feeds in-app, evaluate feed items against your configured matching rules, and automatically ingest matching releases without needing an external automation stack.
暂无开放 Issues,或尚未同步最近议题。