npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

torlnk-termux

v0.2.1

Published

Install torlink natively on Termux (Android) — no proot, no containers. The real npm package, made to install where its own postinstall dies.

Readme


Requirements

  • Termux from F-Droid (Play Store builds are outdated)
  • node.js >= 22 — installed automatically if missing (pkg install nodejs-lts)
  • An internet connection for the npm install (~70 MB)

Installation

One line — zero prerequisites:

curl -fsSL https://raw.githubusercontent.com/rexroze/torlnk-termux/main/install.sh | sh

Or via npm (needs nodejs first):

pkg install nodejs-lts
npm i -g torlnk-termux
torlnk-termux   # one-time install, then use `torlnk`

[!TIP] torlnk is on your PATH immediately. Installing torlink the normal way fails on Termux — the ip-set dependency's postinstall runs npx only-allow pnpm, which dies on non-FHS Android. This installer runs npm i -g torlnk --ignore-scripts and drops a small launcher into ~/bin (already on Termux's PATH) that runs the real torlink entry point with node. Nothing is patched — it's the unmodified upstream package.

Usage

torlnk

Type to search every source at once, Enter to run, arrows to move, d to download, ? for the full key list. Paste a magnet, drop a .torrent file, or run it headless on a server or seedbox:

torlnk watch <dir>    download anything dropped into a folder
torlnk serve          take magnets over HTTP
torlnk files          stream finished downloads over HTTP
torlnk attach         keep the TUI alive across ssh sessions

Expected warnings

On first launch you'll see two notices. They're harmless:

torlnk: WebRTC peers unavailable (native module not installed); TCP/UDP peers still work.
WebTorrent: uTP not supported Error: No native build was found ...

The WebRTC/uTP native modules (node-datachannel, utp-native) publish no Android builds, so torlink falls back to TCP/UDP + DHT peers. Downloads and seeding work normally. Details: docs/FAQ.md.

How it works

torlink is a normal Node package — no binary download, no libc bridge. This project exists because two Termux-specific quirks break a plain npm i -g torlnk, and patches them at install time:

  1. Broken postinstall — ip-set runs npx only-allow pnpm, which dies on Termux. The installer uses --ignore-scripts to skip build hooks.
  2. Broken shebang — npm's generated torlnk binary starts with #!/usr/bin/env, and /usr/bin/env doesn't exist on Termux. The launcher runs node on the real dist/cli.cjs instead.

Full technical deep dive: docs/HOW-IT-WORKS.md.

Links