Brings the fork up to date with upstream baairon/torlink v1.4.0 — headless server modes and a new source — plus a Favourites library and the project's first linting + CI setup.
Highlights
🖥️ Headless modes (run without the TUI — servers & seedboxes)
torlink now runs entirely without the interactive UI, so it fits on a box you SSH into:
torlnk watch <dir>— watch-folder: drop a.torrent, or a.magnet/.txtholding a magnet or info hash, into the folder and it downloads, then seeds. Handled files move to.processed/.failed. Add--to <dir>to choose where files land.torlnk serve— small HTTP add API on:9161(POST /add,GET /downloads,GET /health).torlnk files— read-only, range-aware HTTP server on:9160that streams completed downloads to a browser or media player (supports seeking/resuming).torlnk attach— run the TUI inside a persistenttmuxsession; detach withctrl-b d, log out, and reattach later with downloads/seeds still running.--daemon— background any headless mode in its own session, logging to a file, so it survives logout.- Seed reaper —
--seed-time <dur>(e.g.1h,30m,2d) stops seeding a torrent that long after it finishes; add--delete-filesto also remove the data.
The headless HTTP servers bind to
127.0.0.1by default; binding a public--hostrequires a--token(orTORLINK_API_TOKEN/TORLINK_FILES_TOKEN).
⭐ Favourites (Library) for video series
A persistent Favourites/Library for Movies, TV, and Anime — the picker now stays open as you add entries instead of closing after each one.
🔎 Search
- New source: BitTorrented (Movies + TV).
- Sources can now belong to multiple categories, so a general index like BitTorrented shows under every tab it serves.
- Streaming search updates are coalesced (≈150ms) so bursts of fast-returning sources no longer drop keystrokes or flood the UI.
🐛 Fixes
- 1337x scraper loading speed optimized.
node-datachannelnow rebuilds from source when the prebuilt binary fails to load on Node 22+.- Headless HTTP servers locked down, HTTP tracker endpoints added, and the real version is now reported.
🔧 Tooling
- ESLint (flat config) wired up —
npm run lint/lint:fix. The codebase already containedeslint-disabledirectives but never shipped a config; this makes them live. - CI: a new workflow runs typecheck + lint + tests on every PR and push to
main(previously there was no PR CI — releases only built on tag).
Downloads
Grab the build for your platform below and run torlnk. Verify against SHA256SUMS if you like.
| Platform | Asset |
|---|---|
| Linux (x64) | torlnk-linux-x64.tar.gz |
| macOS (Apple Silicon) | torlnk-macos-arm64.tar.gz |
| macOS (Intel) | torlnk-macos-x64.tar.gz |
| Windows (x64) | torlnk-windows-x64.zip |
What's Changed
- Sync with upstream baairon/torlink v1.4.0 (headless
watch/serve/files,--daemon, tmuxattach, seed reaper, BitTorrented source, 1337x speedup, streaming coalescing) by @WarlaxZ in #26 - feat: keep stream picker open + Favourites (Library) for video series by @WarlaxZ in #24
- chore: add ESLint (flat config) + CI, and bump version to 1.5.0 by @WarlaxZ in #26
Full Changelog: v1.4.0...v1.5.0