>_ DevTrendsen

Language

Home

Languages

Sections

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embedded Security
TypeScript

Search and Download Torrents Straight from Your Terminal — No Ads, No Setup

torlink, curated torrents straight from your terminal

Searching for torrents on the web has long become an ordeal. You go to a site looking for a file you need, and everywhere you look there are strings of fake download buttons, pop-ups, and redirects to shady casinos. You find what seems like a decent link, add it to your client, and there are zero seeders and a dead torrent.

The torlink project solves this problem radically: it moves the entire process into the terminal. No web interfaces with banners, no digging through config files. You type one command, find what you need, and download right away.

The utility combines a search engine across verified databases with a full-featured BitTorrent client with a text user interface (TUI).

Launch happens through the standard Node.js package manager:

npx torlnk

After running the command, a window with a search bar opens in the terminal. No prior setup or login required.

The interface accepts various input formats:

  • Plain text query by name
  • Direct magnet link
  • Hexadecimal torrent infohash
  • A .torrent file that you can simply drag and drop right into the terminal window

If you press Enter on an empty line, a curated selection of fresh torrents from the built-in database opens. Control is entirely keyboard-driven, and pressing the question mark key ? at any time displays a list of available shortcuts.

torlink's browse view: the sidebar, the search bar, and merged results from every source

Where the torrents come from

Rather than scraping dozens of random trackers, the author of torlink compiled a list of verified sources for different content types:

  • Games: FitGirl
  • Movies: YTS, The Pirate Bay, 1337x, BitTorrented
  • TV: EZTV, The Pirate Bay, 1337x, BitTorrented
  • Anime: Nyaa, SubsPlease

The selection logic is straightforward. Games can contain executable files, so only one repacker with a long and clean track record is included for them. Other categories distribute regular video files and subtitles.

When you enter a search query, the utility queries all relevant platforms in parallel. Results appear on the fly as servers respond. The list immediately shows file size and number of seeders, making it easy to pick the option that will download the fastest. If a tracker is temporarily unavailable, the search doesn't hang — the program simply marks the source as offline and displays results from the others.

To start downloading to the default folder, just select a line with the arrow keys and press d. If you need to save the file elsewhere, Shift+D opens the directory picker.

torlink's Downloads pane: live progress on top, recently downloaded below

How downloading works

The Downloads tab is split into two sections. Active processes are shown at the top with speed, progress bar, and estimated time remaining. Once a file finishes downloading, it moves to the Recent Downloads section below.

The client downloads data in the background while you continue searching for something else. Sessions are preserved: if you restart the terminal, interrupted downloads will pick up progress and continue from where they left off.

After a download completes, torlink automatically remains seeding. In the p2p ecosystem, this is standard etiquette, since the protocol relies on users sharing files with each other. If you need to limit or stop seeding traffic, you can press p in the Seeding tab to pause any torrent.

Background mode and server usage

While the project's main draw is its convenient TUI, the utility can also run in headless mode without a graphical interface. This is useful for home servers, NAS devices, or seedboxes.

Here are the main commands for automation:

# Скачивание любых торрент-файлов, попадающих в указанную папку
torlnk watch /path/to/watchdir

# Прием magnet-ссылок через HTTP-запросы
torlnk serve

# Раздача скачанных файлов по HTTP в локальной сети
torlnk files

# Сохранение TUI-сессии при отключении по SSH
torlnk attach

Any of these modes can be run as a background service with the --daemon flag. For example, torlnk watch ~/torrents --daemon turns any server directory into an automatic downloader.

Source code and development

The project is written in TypeScript. The architecture is lightweight, without heavy external frameworks. The application runs locally, doesn't route traffic through third-party proxies, and communicates exclusively with BitTorrent network peers.

For local development, the standard stack is sufficient:

git clone https://github.com/baairon/torlink.git
cd torlink
npm install
npm run dev

To build the production bundle, use the npm run build command.

Who will find it useful

The utility is perfect for those who spend a lot of time in the console and value minimalism. Instead of pairing a browser with an ad blocker and a separate heavy GUI client, you get one lightweight tool that's ready to use right after running npx torlnk.

If you occasionally need to quickly grab a distribution, image, or media file without clicking through pop-ups, the project is definitely worth bookmarking.

Related projects