Torlink — Zero-Configuration Torrent Finder in Your Terminal
Torlink — Zero-Configuration Torrent Finder in Your Terminal
Finding a torrent today is a frustrating exercise. You visit a site, dodge fake download buttons, navigate popups that spawn two more tabs, and after all that, half the results are dead with zero seeders. Torlinks aims to fix this with a zero-configuration, terminal-based torrent finder that searches multiple curated sources at once and downloads whatever you pick straight to your computer.
Written in TypeScript and running on Node.js, torlink requires nothing more than npx torlnk to get started. No configuration files, no accounts, no daemons. It searches a hand-picked list of reputable sources (YTS, The Pirate Bay, 1337x, FitGirl, EZTV, Nyaa, SubsPlease), merges the results, and lets you download with a single keypress. Downloads run in the background while you keep searching, and finished files seed automatically to give back to the community.
Why Is Torlink Trending?
- 1,800+ GitHub stars in under a week — launched June 25, 2026, and growing rapidly
- Zero configuration — one command, no setup, no config files
- Curated sources — no fake download buttons, no spam, just verified trackers
- Background downloads — queue multiple torrents while continuing to search
- Automatic seeding — finished downloads seed by default, share back with the community
- Terminal-first experience — keyboard-driven UI with full mouse support for browse and downloads
- MIT license — fully open source, self-host your own instance
- TypeScript — built with modern tooling, easy to extend
Architecture Overview
Torlink's architecture is a clean pipeline from user input to finished download. At the top, the Terminal UI (built on the blessed library) provides a keyboard-driven interface with a search bar, results list, and download panes. When you type a search query, the Search Engine fans out across all configured sources in parallel — FitGirl for games, YTS/TPB/1337x for movies, EZTV/SolidTorrents for TV, Nyaa/SubsPlease for anime. Results stream back as they arrive, tagged with size and seeder count.
Each result is a magnet link or torrent file. The Torrent Client (using webtorrent under the hood) handles the actual peer-to-peer transfer — connecting to trackers, discovering peers via DHT, negotiating chunks, and assembling the file. A Download Manager tracks progress, speed, and estimated time remaining for each active transfer, displaying it in the Downloads pane.
When a download completes, the Seeding Controller keeps the transfer alive so other peers can leech from you. The Seeding tab lets you pause or stop seeding any item at any time. All state — active downloads, seeding items, recently completed files — is persisted locally so the session survives restarts.
Prerequisites
- Node.js 18+ (from nodejs.org)
- A terminal emulator with Unicode and color support (most modern terminals work)
- No root access required — runs in userspace
- No Docker, no daemons, no config files
Installation & Quickstart
Step 1 — Install Node.js
If you don't already have Node.js installed, download it from nodejs.org or use your package manager:
# Ubuntu/Debian
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
# macOS (Homebrew)
brew install node
# Verify
node --version # Should be v18+
Step 2 — Start Torlink
No installation needed. Run it directly with npx:
npx torlnk
That's it. Torlink opens straight to a search bar. Type what you're looking for and press Enter to search all sources simultaneously. Press ? anytime to see the full list of keyboard shortcuts.
Step 3 — Search and Download
- Press
/to focus the search bar - Type your query (e.g., "ubuntu 24.04") and press Enter
- Results stream in from every source, tagged with size, seeders, and leechers
- Use arrow keys to navigate the results
- Press
dto start downloading the selected item - Press
Tabto switch between Search, Downloads, and Seeding panes
Step 4 — Monitor Downloads
Active downloads appear in the Downloads pane at the top with:
- Progress bar — visual completion percentage
- Speed — real-time download rate (MB/s)
- Time remaining — estimated completion time
- Peers — number of connected seeders and leechers
When a download finishes, it drops into the Recently downloaded section below.
Step 5 — Manage Seeding
Open the Seeding tab to see what's being shared:
- Press
pto pause seeding an item - Press
sto stop seeding entirely - Finished files seed automatically by default — this keeps the network healthy
Step 6 — Browse the Curated Library
You can also browse without searching. Press Enter on an empty search bar to see the curated library organized by category (Games, Movies, TV, Anime). Navigate categories with left/right arrows and items with up/down.
How It Works
Source Architecture
Torlink takes a fan-out approach to searching. Instead of hitting one tracker at a time, it sends identical queries to all configured sources in parallel:
- Games → FitGirl (trusted repacker, verified checksums)
- Movies → YTS (high-quality encodes), The Pirate Bay (broadest catalog), 1337x (community-scored)
- TV → EZTV (automated TV packs), SolidTorrents (indexed metadata), TPB, 1337x
- Anime → Nyaa (primary anime tracker), SubsPlease (subbed releases)
Each source implements the same internal interface — a search(query) function that returns normalized results with title, size, seeders, leechers, and magnet URI. The search engine merges results as they arrive (no blocking on slow sources), deduplicates by info hash, and sorts by seeders.
If a source is down, the search carries on without it, and torlink shows which source is offline so you know the results may be incomplete.
Torrent Transfer
The torrent client uses the WebTorrent protocol — it speaks the BitTorrent protocol over TCP and UDP, connects to trackers via HTTP/UDP trackers, and discovers peers through DHT (Distributed Hash Table) and PEX (Peer Exchange). No central server ever sees your traffic.
Key transfer features:
- Streaming — video/audio files can play before the download finishes
- Resumable — interrupted downloads pick up where they left off
- Selective downloading — pick individual files from multi-file torrents
- Sequential access — files are available as they download, not just at the end
A typical search flow works like this: you type a query in the search bar → the search engine fans out to all 7 sources in parallel → results stream back tagged with size and seeders → you pick one and press d → the torrent client connects to trackers and the DHT → peers start exchanging chunks → files are written to your downloads folder. All of this happens without any central server or config file.
Key Features
Zero Configuration Philosophy
Torlink has no config file, no environment variables, no setup wizard. The only thing it needs is Node.js. Your downloads folder is auto-detected (macOS ~/Downloads, Linux ~/Downloads or $XDG_DOWNLOAD_DIR, Windows %USERPROFILE%\Downloads). If you want to change it, just move the files afterward — torlink remembers recently completed downloads by scanning the folder.
Background Downloads
Unlike a browser tab that you can't close, torlink keeps running in your terminal while it downloads. You can search for more items, browse the library, or just leave it running — downloads continue in the background. Terminal multiplexers like tmux or screen let you detach and reattach as needed.
Privacy-First Design
Your files stay on your disk. Nothing routes through a central server. Torlink only talks to the BitTorrent network directly — trackers and the DHT. No telemetry, no analytics, no usage reporting. The source code is MIT-licensed, so you can audit every byte.
Automatic Seeding
When a download finishes, torlink continues seeding by default. This is how the network stays healthy — every finished file is available for the next person. The Seeding tab gives you full control: pause, stop, or resume seeding any item with a single keypress.
Comparison: Torlink vs Traditional Torrent Clients
- Setup: Torlink is
npx torlnk— nothing to install or configure. Traditional clients (qBittorrent, Transmission) require package installation, daemon setup, and web UI configuration. - Search: Torlink searches multiple sources simultaneously from one interface. Traditional clients require you to visit websites, find torrent files, and import them manually.
- Resource usage: Torlink runs in a terminal with no GUI overhead (~50MB RAM). Traditional clients with web UIs typically use 150-300MB RAM.
- Headless: Torlink works over SSH or in tmux sessions. Traditional clients often need a web UI or VNC for remote access.
- Source coverage: Torlink covers 7 curated sources. Traditional clients rely on you manually finding torrents.
- Seeding policy: Torlink seeds by default (adjustable). Traditional clients typically don't seed by default.
- Platform support: Torlink runs anywhere Node.js does. Traditional clients have platform-specific builds.
Verification Checklist
- Torlink starts with
npx torlnkand shows the search interface - Searching returns results from multiple sources (check with a popular query)
dcommand starts downloading the selected torrent- Download progress appears in the Downloads pane
- Completed download appears in Recently downloaded
- Seeding tab shows active seeding items
- Keyboard shortcuts (
?for help) work correctly - Interrupted downloads resume when restarting torlink
Resources
- GitHub Repository: github.com/baairon/torlink
- NPM Package: npmjs.com/package/torlnk
- Contributing Guide: github.com/baairon/torlink/blob/main/CONTRIBUTING.md
- License: MIT — github.com/baairon/torlink/blob/main/LICENSE
- Node.js: nodejs.org