A fast, open-source download manager for every device you own.
Kotlin
331
359 commits
updated Oct 12, 2026
English · 简体中文 · Español · 日本語 · Deutsch · Français
A fast, open-source download manager for every device you own.
macOS · Windows · Linux · Android · iOS · Web · Command line
A Kotlin Multiplatform library you can embed in your own application.
Download · Watch demo · Features · Getting started · For developers
Ketch splits every download across parallel connections, and shows each one as a live lane. It takes web links, FTP servers, torrents and magnet links in one place. Pair your laptop, phone and home server, and you can watch and control the downloads on all of them from any one of them.
Building your own app? Embed the same download engine that powers Ketch's apps, with parallel downloads, pause and resume, queues and speed limits. The Kotlin Multiplatform library is available on Maven Central. Start integrating Ketch →
[!WARNING] 🚧 Ketch is in active development and only has release candidates so far. Expect rough edges, and please report what you find.
| Platform | Get it |
|---|---|
| macOS (Apple silicon, Intel) | .dmg from the latest release |
| Windows (x64, ARM64) | .msi, or the portable .zip that runs without installing, from the latest release (about the portable app) |
| Linux (x64, ARM64) | .deb from the latest release |
| Android 8.0+ | .apk from the latest release |
| iOS 18+ | Build from source with Xcode (app/ios) |
| Web | linroid.github.io/Ketch, to control Ketch running on another device |
| Browser extension | Chrome, Edge, Brave, Firefox and others: .zip from the latest release (how to install) |
| Command line and server | macOS, Linux and Windows: install script or the latest release |
The desktop apps bring their own runtime, and the command line is a single native binary: neither
needs Java. Both update themselves from the releases here: the desktop app from Settings → About,
the command line with ketch update (how updates work).
.m3u8) and DASH (.mpd) — Save finite, unencrypted streams as one media file.
HLS master playlists use the highest-bandwidth variant (support and limits)..torrent files for your system, so a click in the browser or
the file manager lands in Ketch.ketch server runs the same engine with a REST API and the
web app built in, and the apps find it on your network.⌘K (Ctrl+K on Windows and Linux) opens the command
palette, and the shortcut sheet lists every key.ketch ai-discover (setup).ketch mcp lets AI assistants start, watch and manage your downloads through
the Model Context Protocol.⌘V, or Ctrl+V), drop a link or a .torrent file on the
window, or choose Add.Install the command line on macOS or Linux (on Windows, take the .zip from the
latest release):
curl -fsSL https://raw.githubusercontent.com/linroid/Ketch/main/install.sh | bash
Start the server, with its REST API and web app on port 8642:
ketch server
Then add it in the apps under Devices → Add device, or open http://<server address>:8642 in
a browser. The command line also downloads on its own:
ketch https://example.com/file.zip
Set an access code, the port and other options in a config file; the CLI documentation lists every command.
ketch and AI agents add, list, pause and watch the
downloads of the Ketch app or a server, instead of starting a second engineEmbed Ketch in your application. Its Kotlin Multiplatform library gives you the same download
engine used by the Ketch apps, with your own UI and application logic. Add the modules you need
from Maven Central under com.linroid.ketch.
Run the engine inside your Android, iOS or JVM app with core and ktor; Node.js and WASI can
use core with a custom HTTP engine. Or use remote to control a Ketch server from Android,
iOS, the JVM or the browser through the same KetchApi.
Contributions are welcome! Please open an issue to discuss your idea before submitting a PR. See the code style rules, testing rules and localization guide for development guidelines; translations come in by pull request.
Coding agents should start with AGENTS.md, the shared instructions for all agents
and editors. If your tool does not load it automatically, ask it to read AGENTS.md and its linked
rules before making changes. Keep shared instructions in these files; tool-specific entry points
should only reference them.
Apache-2.0
470 followers · starred Feb 2026
A fast, open-source download manager for every device you own.
Kotlin
331
359 commits
updated Oct 12, 2026
English · 简体中文 · Español · 日本語 · Deutsch · Français
A fast, open-source download manager for every device you own.
macOS · Windows · Linux · Android · iOS · Web · Command line
A Kotlin Multiplatform library you can embed in your own application.
Download · Watch demo · Features · Getting started · For developers
Ketch splits every download across parallel connections, and shows each one as a live lane. It takes web links, FTP servers, torrents and magnet links in one place. Pair your laptop, phone and home server, and you can watch and control the downloads on all of them from any one of them.
Building your own app? Embed the same download engine that powers Ketch's apps, with parallel downloads, pause and resume, queues and speed limits. The Kotlin Multiplatform library is available on Maven Central. Start integrating Ketch →
[!WARNING] 🚧 Ketch is in active development and only has release candidates so far. Expect rough edges, and please report what you find.
| Platform | Get it |
|---|---|
| macOS (Apple silicon, Intel) | .dmg from the latest release |
| Windows (x64, ARM64) | .msi, or the portable .zip that runs without installing, from the latest release (about the portable app) |
| Linux (x64, ARM64) | .deb from the latest release |
| Android 8.0+ | .apk from the latest release |
| iOS 18+ | Build from source with Xcode (app/ios) |
| Web | linroid.github.io/Ketch, to control Ketch running on another device |
| Browser extension | Chrome, Edge, Brave, Firefox and others: .zip from the latest release (how to install) |
| Command line and server | macOS, Linux and Windows: install script or the latest release |
The desktop apps bring their own runtime, and the command line is a single native binary: neither
needs Java. Both update themselves from the releases here: the desktop app from Settings → About,
the command line with ketch update (how updates work).
.m3u8) and DASH (.mpd) — Save finite, unencrypted streams as one media file.
HLS master playlists use the highest-bandwidth variant (support and limits)..torrent files for your system, so a click in the browser or
the file manager lands in Ketch.ketch server runs the same engine with a REST API and the
web app built in, and the apps find it on your network.⌘K (Ctrl+K on Windows and Linux) opens the command
palette, and the shortcut sheet lists every key.ketch ai-discover (setup).ketch mcp lets AI assistants start, watch and manage your downloads through
the Model Context Protocol.⌘V, or Ctrl+V), drop a link or a .torrent file on the
window, or choose Add.Install the command line on macOS or Linux (on Windows, take the .zip from the
latest release):
curl -fsSL https://raw.githubusercontent.com/linroid/Ketch/main/install.sh | bash
Start the server, with its REST API and web app on port 8642:
ketch server
Then add it in the apps under Devices → Add device, or open http://<server address>:8642 in
a browser. The command line also downloads on its own:
ketch https://example.com/file.zip
Set an access code, the port and other options in a config file; the CLI documentation lists every command.
ketch and AI agents add, list, pause and watch the
downloads of the Ketch app or a server, instead of starting a second engineEmbed Ketch in your application. Its Kotlin Multiplatform library gives you the same download
engine used by the Ketch apps, with your own UI and application logic. Add the modules you need
from Maven Central under com.linroid.ketch.
Run the engine inside your Android, iOS or JVM app with core and ktor; Node.js and WASI can
use core with a custom HTTP engine. Or use remote to control a Ketch server from Android,
iOS, the JVM or the browser through the same KetchApi.
Contributions are welcome! Please open an issue to discuss your idea before submitting a PR. See the code style rules, testing rules and localization guide for development guidelines; translations come in by pull request.
Coding agents should start with AGENTS.md, the shared instructions for all agents
and editors. If your tool does not load it automatically, ask it to read AGENTS.md and its linked
rules before making changes. Keep shared instructions in these files; tool-specific entry points
should only reference them.
Apache-2.0
470 followers · starred Feb 2026