Skip to content

Torrent Player

GitHub karmugilen/torrent-player

Install Torrent Player

Download Zapstore

Download
QR code for zapstore.dev/download
  • Scan the code with your phone’s camera
  • Tap Download anyway if the browser warns about the file
  • Allow your browser to install unknown apps if Android asks
  • Open Zapstore and finish the onboarding

Open Torrent Player in Zapstore

Open
QR code to open Torrent Player in Zapstore
  • Scan the code to open Torrent Player in Zapstore, or search for it there
  • Tap Install, and Download if Zapstore asks you to confirm the developer
  • Confirm in Android’s install dialog. Allow Zapstore to install unknown apps if Android asks

Unclaimed app

The catalog lists Torrent Player from GitHub karmugilen/torrent-player and signs its releases. The developer has not claimed it. The file is still checked before you install it.

Are you the developer? Cryptographically prove you hold the key that signs it.

How trust works

Torrent downloader and streaming engine. Download files to local storage or stream growing video directly to external players like VLC or MPV without waiting for completion. Supports selective file downloading, fast seeking, and continue watching features.

Torrent Player is a lightweight, high-performance torrent downloader and streaming engine designed specifically for Android.

Download torrents directly to your local storage or stream growing video files on-the-fly using your favorite external media players.

Core Features:

  • Direct Local Storage: Single-contract download directly to local public storage (Downloads/Webtor) for straightforward file management.

  • In-Progress Video Streaming: Stream growing video files directly to external players such as VLC, Nova Video Player, MPV, or Just Player without waiting for downloads to finish.

  • Selective File Downloading: Choose specific files to prioritize or download in multi-file swarms.

  • Bitfield Piece Visualizer: Interactive real-time visualizer showing piece distribution and swarm availability.

  • Optimized Resource & Battery Usage: Adaptive polling back-off and a native Rust engine with bounded preparation storage.

  • Modern Material 3 Interface: Intuitive UI with dynamic colors, dark theme support, and animated video preview cards.

  • Direct Play: Stream a video from RAM without saving the whole file. Only each video's start and end are kept (up to 1 GB) so episodes reopen fast.

  • Continue Watching and Play Next: Resume where you left off and move on to the next episode, with its start fetched in advance.

  • Fast Seeking: A seek fetches the new play position first and moves late blocks to faster peers. For MP4 and MKV files, nearby keyframes are fetched ahead.

  • Peer Map: Shows peer countries using an offline database bundled with the app (DB-IP Lite, CC BY 4.0). No lookup requests are made.

Privacy & Freedom:

  • 100% Free and Open Source Software (MIT License; the engine is MPL-2.0).

  • No advertising trackers, analytics, or telemetry.

  • Zero advertisements.

  • Direct peer-to-peer swarm connectivity (DHT, UDP trackers, TCP, uTP, WebSockets, and WebRTC).

Network connections:

  • When the app starts, the engine automatically refreshes a cached public tracker list from https://raw.githubusercontent.com/ngosang/trackerslist/master/trackers_best.txt. Successful refreshes are scheduled once per day; failed requests may be retried. This request downloads a shared list and does not send torrent hashes or user-supplied tracker URLs.

  • Up to 24 additional public BitTorrent trackers are automatically added to each non-private torrent to help discover peers. Cached and built-in fallback trackers are used when the list is unavailable. Private torrents are excluded. Torrent announces share your IP address and torrent info hash with the trackers contacted.

  • WebRTC peer connections use STUN servers operated by Google, Twilio, and Cloudflare to discover a public network address for connectivity. These providers can see the source IP address of STUN requests.

  • Seeding is on by default: after a download completes, its verified pieces are uploaded to other peers until a share ratio of 1.0 or 60 minutes of seeding, at up to 256 KiB/s and only on Wi-Fi. Seeding pauses during playback. Turn it off or change the limits in Settings, Seeding.

  • The app does not provide settings to disable public tracker-list refresh, extra public trackers, or WebRTC. This build supports arm64-v8a devices.

Summary generated by Zapstore from source.

Original description, as the developer published it.

Zap Torrent Player

Zapping anonymously. Sign in to zap with your identity.

No developer has verified this app yet, so sats go to npub1gnwq4…thdn3y, the catalog that brought it to you.

Amount in sats

Latest release

Nov 11, 2026

Unclaimed app No Google servicesSource available · MIT

The catalog lists this app from GitHub karmugilen/torrent-player and signs its releases. The developer has not claimed it. Are you the developer? Claim your app

It asks for no sensitive access.

Permissions

  • Notifications POST_NOTIFICATIONS Send you notifications

Release notes

Torrent Player 2.4.1

Follow-up to the Rust engine release (2.4.0). Installs as a normal update over 2.4.0 with the same signing key (CN=Torrent Player), so GitHub and F-Droid builds update each other in place.

Build: versionName 2.4.1 / versionCode 101 · commit 58cc5da · APK sha256 da27dbae3e253be2fbb295138dc33b795ec676dcdc27fba8f260739cd1496716 · built with scripts/fdroid-release.sh in F-Droid’s image · verify_apks OK.

Added

  • .torrent files again work with the Rust engine. Since 2.4.0 the engine only accepted inline torrent bytes, magnets, and info hashes, but the app still passed a temp path or raw URL — both failed with “invalid torrent.” The app now reads the file (or downloads a link) and sends the bytes.
  • Torrent download links. An http(s) URL that ends in .torrent is fetched in the background (8 MiB cap), then added. Plain http:// is retried as HTTPS on the same host.
  • Empty library and empty add sheet offer Paste link and Open file. Shared text is scanned for a torrent link; a torrent already in the library opens that entry instead of duplicating it.

Fixed

  • Free space on SD cards (#3). Settings used internal storage free space even after you chose a folder on external storage, which blocked large downloads. Free space is now measured on the volume of the chosen folder.
  • Cache Clear sizes are taken from real category folders again (not a broken path that always looked empty).
  • Anti-DPI no longer reports itself as active when peer dials are not wrapped.
  • Base32 magnets normalize to the engine’s hex info-hash key so library entries match.
  • Magnet display names saved before metadata arrives are URL-decoded.
  • After Android’s 6-hour daily background limit, the session stops restarting the transfer service until you open the app again.
  • The old Go engine download folder under app files is removed when the Rust engine starts.

Changed

  • Settings regrouped: Downloads, Playback, Network, Seeding, Battery and memory, Appearance, Data, About. One Clear action for caches; per-category clear rows removed.
  • Pause on low battery defaults to off (an existing saved choice is kept).
  • Delete dialog has Cancel; Details shows Play/Continue in the summary; short lists hide search/filters.
  • Removed the temporary Seek method (Yours / Claude’s) toggle and seek-millisecond readout from Settings and the notification. Seeking uses the released scheduler path only.

F-Droid

Same Rust build steps as 2.4.0 (Debian rustup 1.99.1 + aarch64-linux-android). UpdateCheckMode: Tags picks up v2.4.1 from this release; no recipe change required.

Comments

Loading comments…

See more

Get Torrent Player the private way

Updates checked on your device, and every release verified before it installs.

Get Zapstore for Android

  1. Tap Download APK below.Scan the code with your Android phone’s camera.
  2. If Android asks, allow your browser to install unknown apps.
  3. Open Zapstore and finish the onboarding.
Download APK

v2.0.4 · 71.2 MB · Android 10+

Verify the download

On a computer, run shasum -a 256 <the file you downloaded>. It should print: b13e01319fecf0b3ba1fd60132758bd0fa08a235836c52d44fddb412cf1b7137

If you have zsp, Zapstore’s publishing tool, zsp utils extract-apk <the file you downloaded> works too. Its hash should be the same SHA-256: b13e01319fecf0b3ba1fd60132758bd0fa08a235836c52d44fddb412cf1b7137

On the phone, AppVerifier should show this signing certificate: 99e33b0c2d07e75fcd9df7e40e886646ff667e3aa6648e1a1160b036cf2b9320

Source code All releases and notes

Get zsp

  1. Download the file for your computer.
  2. Make it executable and put it on your PATH.
  3. In your project folder, run zsp.

Have Go? This does the same:

go install github.com/zapstore/zsp/v2/cmd/zsp@latest
macOS, Apple silicon Linux, x86-64 Linux, arm64

v2.0.1 · macOS and Linux

Verify the download

On your computer, run shasum -a 256 <the file you downloaded>. It should print the SHA-256 for the one you chose.

macOS, Apple silicon · 18.6 MB 99018fb9744e5ace2b44557550dc333496239912c0e9b1137266d4922c803346

Linux, x86-64 · 23.8 MB 1ef5373f8ecd9ba63d2c3fab98abb0d31b2244a2aac31b3749fb205c7d5f5b38

Linux, arm64 · 22.1 MB e421005ee47cba58293dce4277bb784e4cfe706dbbcb8617d671629d0238be18

Source code All releases and notes