セルフホスト型サービス
zerx-lab/FluxDown avatar
zerx-lab/FluxDown

FluxDown: SQLiteで状態を保持する多プロトコルダウンローダー

FluxDown は、再開可能な転送、キュー管理、ローカル オートメーション制御を備えたメディアのダウンロードおよび処理ユーティリティです。

スター 3,038フォーク 154RustAGPL-3.0

ひと目でわかる

これは何?
RustとTokioを基盤に、HTTPからBitTorrent、HLS、DASHまで扱い、ブラウザー拡張とローカルMCPを備えたダウンロードアプリです。
誰に向いている?
FluxDownは、複数プロトコルの取得を一つのデスクトップUIとローカルAPIで扱いたい利用者に適しています。採用前に、対象プロトコルで再開がSQLiteにどう記録されるか、ブラウザー拡張の3層インターセプトがどのURLを対象にするかを確認してください。
商用利用できる?
厳しい条件付きでできます。AGPL-3.0 はネットワーク型コピーレフトのライセンスで、改変版をホスティングサービスなどとしてネットワーク越しに利用させる場合、その利用者にソースコードを同じライセンスで提供する必要があります。
今もメンテナンスされている?
されています。最後のコミットは 6 日前です。
何の言語で書かれている?
主に Rust です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月14日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

無料の IDM 代替としての位置づけ

README は「Downloads, Supercharged」というタグラインで始まり、FluxDown を Internet Download Manager (IDM) の無料かつオープンソースの代替品として位置づけている。README 内の比較表では、IDM が 24.95 ドルで更新料がかかるとされる一方、FluxDown は無料で、AGPL-3.0 の下でオープンソースであり、Windows、macOS、Linux、NAS、Android に対応し、比較表では IDM は Windows のみとされている。README はまた、マグネットリンク対応の BitTorrent、eD2K リンク、HLS/DASH ストリーミングなど、IDM にないプロトコル対応を主張している。ハイライト欄は「最大 10 倍高速」と主張するが、リポジトリにはこの数字を検証するベンチマークデータは存在しない。

Rust エンジンと動的セグメント化

ダウンロードエンジンは Rust で書かれ、Tokio 非同期ランタイム上で動作する。README は動的セグメント化を説明している。ファイルのセグメントは実行時に動的に分割され、アイドル状態のスレッドが低速セグメントを引き継ぐ。この戦略は IDM と比較されている。プロトコル対応は専用エンジンに分かれており、HTTP/HTTPS、FTP、DHT とマグネットリンク対応の BitTorrent、Kad ソース検索と MD4 検証付きの eD2K、AES 復号対応の HLS、そして DASH がある。ダウンロード状態の全バイトは WAL モードの SQLite に記録されるため、README は停電でも進行状況が失われないと述べている。グローバルなレート制限にはトークンバケット方式を採用し、バックグラウンドでダウンロードしながらネットワークを圧迫しないと説明されている。

ブラウザ拡張機能とデスクトップ UI

ブラウザ拡張機能は Chrome、Edge、Firefox に対応する。README は 3 層のインターセプションエンジンを説明しており、ブラウザのダウンロードを引き継ぎ、ストリーミングメディアを検出し、Alt+Click によるバイパスと右クリック送信オプションを提供する。拡張機能は Native Messaging を介してデスクトップアプリと通信する。UI は 3 ペインのレイアウトで、ライト/ダークテーマ、13 種類の配色、IDM 風のセグメント可視化、名前付きキュー、システムトレイを備え、ウィジェットは shadcn を参考にしている。README は、広告ゼロ、トラッキングゼロ、アカウント不要、データがマシンの外に出ない、ローカルファーストのアプリだと主張している。

内蔵 MCP サーバ

FluxDown には Model Context Protocol (MCP) サーバが内蔵されており、Claude Desktop、Cursor、Cline などの AI クライアントがダウンロードを管理できる。エンドポイントは http://127.0.0.1:17800/mcp で、デフォルトではローカルのみ。Streamable HTTP を使用し、単一の POST パスで JSON-RPC 2.0 を運ぶ。認証には管理 API と共有する Bearer トークンを使う。12 のツールが公開されている。タスクの追加、一覧、取得、一時停止、再開、全タスクの一時停止、全タスクの再開、削除、名前付きキューの一覧、RSS 購読の追加・一覧・削除である。デスクトップアプリでは設定でエンドポイントを有効にする必要があるが、README によればヘッドレスサーバではデフォルトで有効になる。URL と Authorization ヘッダを含むクライアント設定例も記載されている。

アーキテクチャ:Flutter UI、Rust エンジン、ネイティブメッセージング

README のアーキテクチャ図では、hub コンポーネントが FFI アダプタの役割を担う。Flutter UI は Rinf シグナルで hub とデータを交換し、hub が Rust エンジンにタスクを転送する。エンジンは HTTP/HTTPS、FTP、BitTorrent、eD2K、HLS/DASH の各プロトコルモジュールに処理を振り分け、状態を SQLite に書き込む。ブラウザ拡張機能は WXT と TypeScript で構築され、fluxdown_nmh という Native Messaging ホストバイナリを介して名前付きパイプまたは Unix ソケットで接続する。ウェブサイトは Astro と React で作られている。README は、MCP レイヤと REST 管理 API(aria2 互換の JSON-RPC エンドポイントを含む)が同じ ApiHost トレイトの上に実装されていると述べている。

デスクトップ、モバイル、NAS への配布

README に記載されたリリースパッケージは次のとおり。Windows x64/ARM64(setup.exe インストーラとポータブル zip)、macOS Intel/Apple Silicon(dmg とポータブル tar.gz)、Linux x64(AppImage、deb、Arch pkg.tar.zst、ポータブル tar.gz)、Android(ABI 別とユニバーサル APK)、そしてヘッドレス NAS またはサーバ向けに Docker、Synology DSM 6/7、QNAP、OpenWrt、Unraid、CasaOS/ZimaOS である。ブラウザ拡張機能は Chrome Web Store、Edge Add-ons、Firefox Add-ons に公開されている。プロジェクトのホームページ fluxdown.zerx.dev にはダウンロード、変更履歴、FAQ、フィードバックへのリンクがある。リポジトリのメタデータは 1,486 スター、72 フォーク、112 の未解決 issue を示しているが、README はリリース間隔やバージョン番号について記録していない。

ソースからのビルドと AGPL ライセンス

ビルドには Flutter SDK、Rust ツールチェーン、Rinf CLI が必要である。README のコマンドは、main ブランチのクローン、rustc と flutter doctor の確認、cargo による rinf_cli のインストール、flutter pub get と rinf gen の実行、そして flutter run によるデバッグ起動、または flutter build によるリリースビルドを順に実行する。Linux のシステム依存パッケージは Debian/Ubuntu と Arch それぞれにリストされており、Native Messaging リレーバイナリは flutter build 中に CMake が自動でビルドする。プロジェクトは AGPL-3.0 で配布されている。ライセンスの前文は、これをネットワークサーバソフトウェア向けに設計されたコピーレフトライセンスと説明しており、抜粋文には、公にアクセス可能なサーバで修正版を実行する運営者は、そのサーバのユーザーに修正版のソースコードを提供しなければならないと規定されている。ライセンスは複製、配布、変更の権利を認め、保証がないことを明記している。サポートの約束やセキュリティ保証については何も述べていない。

編集部の結論

FluxDownは、複数プロトコルの取得を一つのデスクトップUIとローカルAPIで扱いたい利用者に適しています。採用前に、対象プロトコルで再開がSQLiteにどう記録されるか、ブラウザー拡張の3層インターセプトがどのURLを対象にするかを確認してください。MCPは既定で127.0.0.1:17800に束縛され、Bearerトークンを使うため、管理APIと同じ認証情報を含む設定を外部へ公開しない構成で試すことが前提です。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート