hankelsner.tech/ downloads

Hank's Android Torrent Downloader

A plain, complete BitTorrent client for your phone — the libtorrent engine, a live transfer list, background downloads, and every proxy, seeding and rate-limit setting exposed instead of hidden. Free, no ads, no account, no tracking.

v1.0.0 Android 7.0+ libtorrent4j 2.1.0-39 arm64-v8a · armeabi-v7a · x86_64 No search, no index, no bundled content

tech.hankelsner.torrent · sideloaded APK, not a Play Store listing · built and signed on hankelsner.tech

What it does

A transfer tool, and nothing else stapled on

Add a torrent three ways

  • Paste a magnet link, or tap a magnet: link in any other app and choose this one.
  • Open a .torrent file from your device.
  • Give it a .torrent URL and it fetches the file itself.

There is no search box and no index inside the app. You bring the link.

A live transfer list

  • Name, state and a progress bar with the percent.
  • Download and upload speed, updating as it runs.
  • Seeds and peers, total size, and an ETA.

One screen. What is happening is on it.

Per-torrent controls

  • Pause and resume.
  • Force recheck the files on disk against the torrent.
  • Sequential download toggle, per torrent.
  • Copy magnet link back out.
  • Remove — optionally deleting the downloaded files with it.

Removing without deleting leaves your files exactly where they are.

Keeps running with the screen off

Transfers run in a foreground service with a persistent notification showing the combined download and upload speed, so Android does not quietly stop them when you lock the phone.

The notification is how Android requires a background transfer to announce itself; it is not dismissible while the engine is running.

The engine

libtorrent4j 2.1.0-39 — the Java binding around the same libtorrent C++ engine that qBittorrent and LibreTorrent are built on. Native libraries ship for arm64-v8a, armeabi-v7a and x86_64. Minimum Android 7.0 (minSdk 24).

Every option on this page is a real libtorrent setting the app passes through, not a decorative switch.

Demo — the actual flow

What using it looks like

The panels below are drawn in HTML and CSS on this page as an illustration of the interface. They are mock-ups, not screenshots, and the numbers in them are made up.

  1. Paste a magnet link

    Tap +, pick Add magnet, and paste. Or tap a magnet: link anywhere else on the phone and choose this app from the share sheet — the same dialog opens with the link already filled in.

    Add torrentmagnet
    Magnet link
    magnet:?xt=urn:btih:<infohash>&dn=debian-13-netinst.iso&tr=udp://tracker.example:6969
    Save to
    /storage/emulated/0/Download/torrents
    CancelAdd

    A .torrent file or a .torrent URL goes in through the same + menu.

  2. Watch it run

    The list is the app. Each row carries the name, the state, a progress bar and percent, both speeds, seeds and peers, the size, and the ETA — refreshed while you watch.

    Transfers↓ 4.8 MB/s   ↑ 612 KB/s
    debian-13.0.0-amd64-netinst.iso
    Downloading63.4%
    ↓ 4.2 MB/s↑ 480 KB/s28 seeds / 41 peers1.4 GBETA 3m 12s
    blender-open-movie-project-4k.tar
    Checking18.0%
    ↓ 0 B/s↑ 0 B/s0 seeds / 0 peers6.1 GBETA —
    nasa-apollo-public-domain-archive.zip
    Paused41.9%
    ↓ 0 B/s↑ 0 B/s0 seeds / 0 peers820 MBETA —
    ubuntu-24.04.3-live-server-amd64.iso
    Seeding100%
    ↓ 0 B/s↑ 132 KB/sratio 1.422.7 GBETA —
  3. Work on one transfer

    Tap a row for its actions: pause or resume it, force a recheck against the files on disk, flip sequential download on for that torrent, copy its magnet link back out, or remove it — with or without deleting what it downloaded.

    debian-13.0.0-amd64-netinst.iso
    Downloading63.4%
    PauseForce recheckSequential: offCopy magnetRemoveRemove + delete files

    Sequential download writes the pieces in order — useful when you want the head of a large file usable early. It usually costs some speed.

  4. Lock the phone; it keeps going

    The engine runs as a foreground service. Its notification shows the combined speeds, and tapping it comes straight back to the transfer list.

    Torrent Downloader
    4 transfers  ·  ↓ 4.8 MB/s   ↑ 612 KB/s
  5. Set it up the way you want it

    Settings is where the engine is exposed: proxy, seeding rules, rate limits, network conditions, protocol toggles, listen port and the save folder. The full reference is in the next section.

    Wi-Fi only (pause on mobile data)
    Download rate limit2048 KB/s
    Upload rate limit256 KB/s
    Stop after completion
    Seed until ratio2.00
    Protocol encryptionrequire
    Force proxy (anonymous mode)
Options reference

Every setting, and what it actually changes

These are libtorrent settings passed through to the session. Wide tables scroll sideways inside their own box.

Proxy
SettingValuesWhat it does
Proxy typenone · SOCKS4 · SOCKS5 · SOCKS5 with auth · HTTP · HTTP with auth

Which kind of proxy the session speaks. The two "with auth" variants are the ones that send the username and password.

Hosthostname or IP

Address of the proxy server.

Port1–65535

Port on the proxy server.

Usernametext

Sent only by the SOCKS5-with-auth and HTTP-with-auth types.

Passwordtext

Sent only by the SOCKS5-with-auth and HTTP-with-auth types.

Proxy peer connectionson / off

Send peer traffic through the proxy as well as everything else.

Proxy tracker connectionson / off

Send tracker announces through the proxy.

Resolve hostnames through the proxyon / off

Hand names to the proxy to look up instead of resolving them on the device.

Force proxy (anonymous mode)on / off

Refuse to make any connection that would bypass the proxy. If the proxy is unreachable, nothing connects.

Seeding and completion
SettingValuesWhat it does
Stop after completionon / off

Do not seed once a download finishes.

Seed until ratioratio

Stop seeding a torrent once it has uploaded this multiple of its size.

Seed time limitminutes

Stop seeding a torrent after this long.

Shut down when finishedon / off

Shut the engine down once every download has finished.

Rates and limits
SettingValuesWhat it does
Download rate limitKB/s · 0 = unlimited

Ceiling on total download speed across all transfers.

Upload rate limitKB/s · 0 = unlimited

Ceiling on total upload speed across all transfers.

Max active downloadscount

How many torrents may download at once; the rest queue.

Max connectionscount

Ceiling on simultaneous peer connections for the whole session.

Network conditions
SettingValuesWhat it does
Wi-Fi onlyon / off

Pause transfers whenever the phone is on mobile data, and resume on Wi-Fi.

Pause below battery percentagepercent

Pause transfers once the battery drops under this level.

Torrent behaviour
SettingValuesWhat it does
Start torrents pausedon / off

Newly added torrents wait for you to press resume.

Sequential download by defaulton / off

New torrents start in sequential mode. Still togglable per torrent afterwards.

BitTorrent protocol
SettingValuesWhat it does
Protocol encryptionprefer · require · disable

Whether peer connections are encrypted. require refuses unencrypted peers; prefer takes them if that is all there is.

DHTon / off

The distributed hash table — finds peers without a tracker.

Local peer discovery (LSD)on / off

Find peers for the same torrent on the local network.

UPnPon / off

Ask the router to map the listen port automatically.

NAT-PMPon / off

The other automatic port-mapping protocol, for routers that speak it.

uTPon / off

BitTorrent's transport over UDP, which yields to other traffic on the link.

Listen portfixed port · random

Pin the incoming port to a number you choose, or let the app pick a random one each session.

Storage
SettingValuesWhat it does
Save folderfolder chooser

Where downloaded files are written. Picked with the system folder chooser.

If a setting is not on this page, the app does not have it.

Install

Sideloading the APK

  • Check the phone runs Android 7.0 or newer.
  • Download the APK on the phone: torrent-latest.apk.
  • Android will ask to allow installs from this source. On Android 8 and newer that is a per-app permission — Settings → Apps → your browser or file manager → Install unknown apps → Allow. On Android 7 it is the single Unknown sources switch under Security.
  • Open the downloaded APK and confirm the install.
  • Grant notification permission when asked, so the transfer notification can be shown on Android 13 and newer.
adb install torrent-latest.apk

This is a sideloaded build, not a Play Store listing, so it does not update itself — come back here for a newer APK. Installing over the existing app keeps your settings and transfers; uninstalling does not delete files you already downloaded.

What this is for

A file-transfer tool

BitTorrent is how Linux distributions ship their ISOs, how games hand out multi-gigabyte patches, and how research datasets and public-domain archives get moved without one server paying for every copy. That is the job this app does: it moves a file you already have a link to.

Use it for content you have the right to download. The app has no built-in search, no index, no catalogue, and no bundled content of any kind — it cannot find anything for you, and nothing ships inside it. You supply the magnet link, the .torrent file, or the URL; the app transfers what that points at. What you point it at is yours to answer for.

It is free, has no ads and needs no account. There is no analytics and no telemetry: the app does not report what you download, when you use it, or that you use it at all. Your transfer traffic goes to the trackers and peers of the torrents you add, and to a proxy if you configure one.

One exception, stated plainly: crash reports. If the app crashes, it saves the error and sends that one report, automatically, the next time you open it. It goes to this site’s own server (download.hankelsner.tech) and nowhere else — it is private, it is not published, and it does not go to Google or any third-party crash service. It exists so a crash on a real device can actually be found and fixed instead of guessed at.

A crash report contains only: the error and where in the code it happened, the app’s version, your device model, your Android version and its processor type. It contains nothing about what you were downloading — no torrent names, no magnet links, no file names, no addresses, no account and no location. The same note is in the app under Settings → About → Crash reports, and the report is shown to you in full the next time you open the app, with a button to copy it.

A proxy is only as private as the proxy. "Force proxy (anonymous mode)" makes the app refuse connections that would bypass it, which is the honest version of that promise — it is not a claim that the app hides you by itself.