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…

411 ·GitHub
Что это?Ketch — быстрый менеджер загрузок с открытым кодом, работающий на macOS, Windows, Linux, Android, iOS, в вебе и командной строке: вы можете связать свои устройства и управлять загрузками с любого из них.
Это готовое приложение или библиотека для встраивания?И то и другое: Ketch поставляется как готовые приложения для каждой платформы, а тот же движок загрузок — это ещё и библиотека Kotlin Multiplatform, опубликованная на Maven Central, которую можно встроить в своё приложение.
Как это запустить?Возьмите установщик для своей платформы из последнего релиза (.dmg, .msi/.zip, .deb, .apk) или соберите iOS из исходников с Xcode. На NAS или сервере можно вместо этого запустить 'ketch server' из CLI — headless-экземпляр с REST API и веб-приложением на порту 8642.
Нужна ли заранее установленная Java или что-то ещё?Нет. Настольные приложения несут свой рантайм, а CLI — единый нативный бинарник, так что отдельная установка Java не нужна; оба ещё и обновляются сами.
Насколько Ketch стабилен, можно ли на него полагаться?Пока не полностью: проект всё ещё в активной разработке, и до сих пор выходили только release-кандидаты, так что ждите шероховатостей и сообщайте о найденных проблемах.
Как загрузки распределяются между моими устройствами?Устройства связываются сканированием QR-кода или ссылкой сопряжения из Settings → Sharing; каждое связанное устройство появляется в боковой панели со своей текущей скоростью, а загрузку между ними можно отправить или переместить.
Какие типы ссылок умеет качать Ketch?Он обрабатывает HTTP/HTTPS, FTP/FTPS, BitTorrent и magnet-ссылки (v1, v2 и гибридные, через движок торрентов на чистом Kotlin), плюс HLS (.m3u8) и DASH (.mpd) для конечных незашифрованных потоков.
Что делает функция AI Discover?Discover — ИИ-агент в статусе превью, который ищет в сети загрузку, которую вы опишете (например, 'the latest Ubuntu Server ISO'), проверяет ссылки и ранжирует результаты; он работает с OpenAI, Anthropic, Gemini, Ollama или любой совместимой с OpenAI моделью, которую вы подключите сами.
Могут ли ИИ-ассистенты напрямую управлять моими загрузками?Да — команда ketch mcp поднимает MCP-сервер, чтобы ИИ-ассистенты и агенты могли запускать, отслеживать и управлять загрузками через Model Context Protocol.
Creator
linroid
Size
37.9 MB
Stars
411
Age
8mo
Commits · 90 Days