Ketch README

The project's README from github.com/linroid/Ketch. As one markdown file: README.md.

Ketch

Ketch

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.

Latest release Maven Central Web app Android iOS Desktop License

Download · Watch demo · Features · Getting started · For developers

Ketch on the desktop, Android, iOS and the command line: the downloads table with each download split into live connection lanes, the devices on Android, a download's connections on iOS, and ketch in a terminal

▶ Watch Ketch in action

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.

Download

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).

Features

Faster downloads

All your devices in one app

In control of your bandwidth

Built for how you work

Find downloads with AI (preview)

Getting started

  1. Install Ketch from Download and open it. On phones, a few welcome screens ask where downloads go.
  2. Add a download: paste a link (⌘V, or Ctrl+V), drop a link or a .torrent file on the window, or choose Add.
  3. To control this computer from your phone, open Settings → Sharing, choose Allow another device and scan the QR code with the phone's camera.
  4. Install the browser extension to send the browser's downloads to Ketch.

Run Ketch on a server

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.

Roadmap

For developers

Embed 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.

Documentation

Contributing

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.

License

Apache-2.0

Ketch (linroid/Ketch)

Searching Database…

423 ·GitHub
这是什么?Ketch 是一个快速的开源下载管理器,覆盖 macOS、Windows、Linux、Android、iOS、网页和命令行,让你配对设备并从其中任意一台控制下载。
这是现成的应用,还是供我嵌入的库?两者都是:Ketch 为每个平台提供开箱即用的应用,同一个下载引擎也是发布在 Maven Central 上的 Kotlin Multiplatform 库,可以嵌入你自己的应用。
怎么让它跑起来?从最新 release 获取你平台的安装包(.dmg、.msi/.zip、.deb、.apk),或用 Xcode 从源码构建 iOS 版。在 NAS 或服务器上,可以改用 CLI 的 “ketch server” 运行无界面实例,在 8642 端口提供 REST API 和网页应用。
需要先安装 Java 或其他东西吗?不需要。桌面应用自带运行时,CLI 是单一原生二进制,两者都不需要单独安装 Java;它们也都支持自更新。
Ketch 已经稳定到可以依赖的程度了吗?还没有完全稳定:项目仍处于积极开发阶段,至今只发布过候选版本,所以请预期会有不完善之处,并报告你发现的问题。
下载是怎么在我的各台设备之间传递的?你可以通过扫描二维码或使用“设置 → 共享”中的配对链接来配对设备;配对后每台设备都会出现在侧边栏并显示实时速度,你可以在它们之间发送或转移下载任务。
Ketch 能下载哪些类型的链接?它支持 HTTP/HTTPS、FTP/FTPS、BitTorrent 和磁力链接(v1、v2 及混合型,通过纯 Kotlin 的种子引擎),还支持有限无加密流的 HLS(.m3u8)和 DASH(.mpd)。
AI Discover 功能是做什么的?Discover 是一个预览版 AI 智能体,它会搜索网络来查找你描述的下载内容(例如“最新的 Ubuntu Server ISO”),检查链接并对结果排序;它可以配合 OpenAI、Anthropic、Gemini、Ollama 或你自带的任何 OpenAI 兼容模型使用。
AI 助手能直接控制我的下载吗?可以——运行 ketch mcp 会暴露一个 MCP 服务器,AI 助手和智能体就能通过 Model Context Protocol 启动、监控和管理下载。
Creator
linroid
Size
37.7 MB
Stars
423
Age
8mo
Commits · 90 Days