Unfetch について
Unfetchは、ファイルやメディアのダウンロードを管理するツールで、GUI、コマンドライン、AIから利用できます。マルチミラーHTTP、BitTorrent、動画サイト、RSS、リモートWeb UIを1つのデーモンにまとめています。
主な機能
- 01マルチミラーHTTPダウンロード
- 02BitTorrentとマグネットリンク対応
- 031,000以上の動画サイトからダウンロード
- 04RSS購読と自動取得
- 05トークン保護されたリモートWeb UI
- 06GUI、コマンドライン、MCP対応
活用シーン
- 01AIホストからダウンロードタスクを登録
- 02対応サイトから動画を取得
- 03RSS項目を自動でキューに追加
- 04リモート端末からダウンロードを管理
MCP 対応
Unfetchは、add_task、list_tasks、wait_for_taskツールと進捗通知を備えたMCPサーバーを提供します。MCPホストからダウンロードタスクを管理できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
unfetch は、ブラウザーが始めたダウンロードを最後まで完了させるダウンロードエンジンです。高速な複数ミラー HTTP、本格的な BT/マグネットリンク対応、yt-dlp による 1000 以上の動画サイトへの対応、RSS サブスクリプション、完了時のフック、トークンで保護されたリモート Web UI を備え、GUI、CLI、または MCP 経由の AI から操作できます。インストーラーは約 8 MB です。MIT スタイルのライセンスを採用しています。テレメトリーはありません。
機能
- 複数ミラー HTTP — 最大 32 スレッド × 複数のミラー URL、自動フォールバック、再開、SHA256/MD5 検証。
- BT/マグネットリンク — 35 の公開トラッカー、IPv6 + WebTorrent、ダウンロード前のファイル選択、ピア/シーダーの統計、ISP による速度制限時の自動 uTP フォールバック。
- 1000 以上の動画サイト — YouTube、Bilibili、TikTok、X などに、バンドルされた yt-dlp 経由で対応します。
- AI ネイティブ(MCP) —
add_task、list_tasks、wait_for_task、進捗通知などに、あらゆる MCP ホスト(Claude Desktop、Cursor、Codex、…)から対応します。特定ベンダーに縛られません。 - リモート Web UI —
0.0.0.0で動作するトークン保護付き Web UI から、スマートフォンやリモートマシンでダウンロードを管理できます。QR コードで共有できます。 - RSS 自動取得 — 正規表現フィルターを設定して購読すると、新しいアイテムが自動的にキューに追加され、GUID で重複を排除します。
- 完了時のフック — 完了時に Webhook POST またはシェルコマンドを実行し、Home Assistant/n8n などに連携できます。
- タスクテンプレートと依存関係チェーン — サイトごとの Cookie/UA プリセット、他のタスクの完了待ち、開始時刻の予約、時間帯ごとの帯域幅スケジュールに対応します。
- 6 つのテーマ — Cream Light(新規ユーザーのデフォルト)、Deep Indigo、Light Paper、Forest Night、Cyberpunk、Mono Gray。再起動せずに切り替えられます。
- プライバシー優先 — 広告なし、テレメトリーなし、ログイン不要、infohash のアップロードなし。
インストール
| プラットフォーム | ダウンロード |
|---|---|
| macOS(Apple Silicon + Intel、Notarized) | unfetch_*_universal.dmg |
| Windows 10/11(NSIS インストーラー) | unfetch_*_x64-setup.exe |
| Linux x64(AppImage / deb / rpm) | リリースページ |
または、https://unfetch.org/#download から最新バージョンをダウンロードしてください。
3 つのフロントエンド、1 つのデーモン
unfetch は Go デーモンと Tauri シェルで構成されています。3 つのフロントエンドは、localhost:19543 の同じ REST API を利用する 1 つのデーモンを共有します。
- GUI — Tauri ウィンドウ(デフォルトのアプリアイコンから起動します)
- CLI —
unfetch add <url>、unfetch list、unfetch pause <id>、… - MCP —
unfetch --mcp(stdio JSON-RPC。Claude Desktop の設定に追加できます) - ブラウザー拡張機能 — Chrome/Edge のスニファーについては
extension/を参照してください
┌──────────────────────────────────────────────────────────┐
│ Tauri 2 app (Rust + React + 6 themes) │
│ ├─ Main window / mini floating window │
│ ├─ Tray, clipboard sniffer, deep-link handler │
│ └─ Forwards arguments / events to the daemon │
└─────────────────────────────┬────────────────────────────┘
│ localhost:19543 (REST + SSE)
▼
┌──────────────────────────────────────────────────────────┐
│ Go daemon (anacrolix/torrent + http downloader + yt-dlp) │
│ ├─ SQLite store of all tasks (resumes across restarts) │
│ ├─ Speed scheduler, retry queue, hash verifier │
│ ├─ Remote Web UI on 0.0.0.0 (token-gated) │
│ └─ Same API consumed by GUI / CLI / MCP / extension │
└──────────────────────────────────────────────────────────┘
AI と一緒に使う(MCP)
以下を Claude Desktop/Cursor の設定に追加してください(macOS の場合は ~/Library/Application Support/Claude/claude_desktop_config.json)。
{
"mcpServers": {
"unfetch": {
"command": "/Applications/unfetch.app/Contents/MacOS/unfetch",
"args": ["--mcp"]
}
}
}
すると、AI から add_task、list_tasks、wait_for_task などを利用できます。ツールのスキーマ全体については docs/mcp.md を参照するか、https://unfetch.org/mcp にアクセスしてください。
ソースからビルドする
前提条件:pnpm、Rust ツールチェーン、Go 1.23+、Node 20+。
# 1. Frontend
pnpm install
pnpm build
# 2. Go daemon (per-platform — Tauri externalBin requires platform-suffixed names)
cd core
GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w" \
-o ../src-tauri/binaries/unfetch-daemon-aarch64-apple-darwin .
# (repeat for x86_64, linux, windows targets)
# 3. Tauri release build
cd ..
pnpm tauri build # native target only
pnpm tauri build --target universal-apple-darwin # macOS universal
Notarization を含む macOS リリースビルドについては、scripts/build-mac.sh を参照してください。
リリースワークフロー
./scripts/release.sh 0.3.0 # bump → commit → tag → push (triggers CI for Win/Linux)
./scripts/build-mac.sh 0.3.0 # local universal build + Apple notarize + upload dmg
.github/workflows/release.yml の CI がビルドするのは Windows + Linux のみです。Apple Developer の認証情報を CI に置くべきではないため、macOS の Notarization はローカルで行います。
開発を支援する
unfetch は 1 人の開発者が開発・保守しています。時間の節約に役立っている場合は、スポンサーとして支援していただけると、開発を続ける助けになります。
- GitHub Sponsors — 海外から利用可能。毎月または 1 回限り(Stripe)
- PayPal — 世界中から利用可能な 1 回限りの支援
- Alipay / WeChat Pay — https://unfetch.org/#sponsor の QR コードをスキャンしてください
ライセンス
MIT 形式のライセンスです。LICENSE を参照してください(公開予定 — 現在は事実上 MIT ライセンスです)。
upstream への貢献を歓迎します。unfetch のメンテナーは anacrolix/torrent にも積極的に貢献しています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。