aria2c: コマンドが見つからない /「aria2c」は認識されない
症状: シェルに aria2c: command not found、'aria2c' is not recognized と表示される、またはyt-dlpが “aria2c is not installed. please install it first.” と報告する。
原因: aria2がインストールされていないか、フォルダが PATH に登録されていない。
解決法: インストールしてからターミナルを開き直し、PATHを更新する。
sudo apt install aria2 # Debian/Ubuntu
brew install aria2 # macOS
winget install aria2.aria2 # Windows (or scoop/choco)
aria2c --version
期待される結果: aria2c --version で1.37.0のようなバージョンが表示される。
Windows:aria2をインストールしたのにターミナルが見つけられない
症状: aria2を展開したのに、新しいターミナルでもコマンドが不明と言われる。
原因: aria2c.exe のあるフォルダを Path 環境変数に追加していない。
解決法: フォルダをPathに追加し、新しいターミナルを開く(既存のターミナルは古い環境を引き継ぐ)。
# Example folder: C:\aria2
setx PATH "%PATH%;C:\aria2"
期待される結果: 開き直したCMD/PowerShellで aria2c が見つかる。
error while loading shared libraries: libxml2.so.2 / libcares.so.2
症状: aria2c が共有ライブラリ不足ですぐに終了する。
原因: 必要なライブラリがないか、バイナリがシステムに合っていない。
解決法: ディストリビューション提供の依存パッケージをインストールする。
sudo apt install libxml2 libc-ares2 libssh2-1 libsqlite3-0 zlib1g
# Fedora
sudo dnf install libxml2 c-ares libssh2 sqlite zlib
# Arch
sudo pacman -S aria2 # reinstalls with its deps
期待される結果: aria2c --version がライブラリエラーなしで実行できる。
Windows:「zlib1.dll/libssh2.dllが見つからないためコード実行を続行できない」
症状: aria2c.exe を開くとDLL不足のエラーが出る。
原因: aria2c.exe をZIPフォルダから移動し、同梱のDLLから切り離した。
解決法: 展開したフォルダ全体をまとめたままにし、そのフォルダをPathに追加する。
期待される結果: aria2cが起動してバージョンを表示する。
macOS:「開発元を確認できないため開けません」
症状: macOS(Gatekeeper)がダウンロードしたバイナリの実行を拒否する。
原因: 署名・公証されていないためバイナリが検疫されている。
解決法: Homebrewを使うか、検疫属性を解除する。
brew install aria2
# or, for a manually downloaded binary:
xattr -d com.apple.quarantine ./aria2c
期待される結果: Gatekeeperがバイナリの実行を許可する。
Windows Defender / SmartScreenがaria2c.exeをブロックする
症状: 「WindowsによってPCが保護されました」と表示されるか、ダウンロード直後にファイルが削除される。
原因: 署名のないCLIバイナリがヒューリスティックに誤検知されることがある。
解決法: 公式GitHubリリースからのみ入手し、チェックサムを確認して許可する。または winget/scoop/choco でインストールする。
winget install aria2.aria2
# verify the downloaded archive against the release checksums
期待される結果: aria2cが実行でき、削除されなくなる。
Docker:コンテナがすぐ終了する、またはRPCポートに到達できない
症状: コンテナが再起動を繰り返すか、ポート6800に応答がない。
原因: エントリーポイントやコマンドの誤り、設定不足、またはコンテナ内でRPCがlocalhostにのみバインドされている。
解決法: ログを確認し、--enable-rpc と rpc-listen-all=true、ポート公開を確認する。
docker compose logs -f aria2
docker compose ps
# the service must map: ports: ["6800:6800"]
期待される結果: curl http://localhost:6800/jsonrpc がJSON-RPC応答を返す。
aria2c: 証明書を検証できない(SSLエラー)
症状: HTTPSダウンロードが証明書検証エラーで失敗する。
原因: ルートCA証明書が古いか、自己署名や社内の証明書を使っている。
解決法: CAバンドルを更新するか、aria2に指定する。社内サイトではCAを追加する。
sudo apt install ca-certificates # Debian/Ubuntu
aria2c --ca-certificate=/etc/ssl/certs/ca-certificates.crt URL
# Only if you trust the source and cannot install the CA:
# aria2c --check-certificate=false URL
期待される結果: 証明書警告なしにダウンロードが始まる。
SSL/TLSハンドシェイク失敗 /「openssl error:00000000」
症状: TLSハンドシェイク中に接続が切れ、データが転送されない。
原因: 古いTLSスタック、プロキシやウイルス対策による割り込み、未対応のプロトコルバージョン。
解決法: aria2とOSを更新する。プロキシなしで試し、別のネットワークでも確認する。
期待される結果: ハンドシェイクが完了してダウンロードが進む。
--ca-certificateが無視されるように見える(Windows/macOS)
症状: --ca-certificate を指定しても効果がない。
原因: Windows(WinTLS)とmacOS(AppleTLS)のバックエンドはこのオプションに対応しておらず、OSのトラストストアを使う。
解決法: 証明書をOSのトラストストアにインポートする。
期待される結果: OSで信頼された証明書でHTTPSが成功する。
HTTP 403 Forbidden
症状: サーバーが403を返し、ダウンロードが止まる。
原因: セッションCookie、Referer、ブラウザのUser-Agentが必要(ホットリンク防止)。
解決法: Cookieやヘッダーを渡す。
aria2c --header="Cookie: session=..." --referer="https://example.com/page" URL
aria2c --load-cookies cookies.txt URL
aria2c --user-agent="Mozilla/5.0" URL
期待される結果: サーバーが200を返して転送が始まる。
HTTP 404 Not Found(終了コード3)
症状: aria2がコード3で終了し「resource not found」を繰り返す。
原因: URLが間違っている、期限切れ、またはファイルが削除された(署名付きリンクに多い)。
解決法: 新しいURLを取得し、リトライ上限を設定して早く失敗させる。
aria2c --max-tries=3 --max-file-not-found=1 URL
期待される結果: 無限に繰り返さず速やかに停止する。または新しいURLで成功する。
HTTP 429 Too Many Requests
症状: 短時間に大量のリクエストを送ってサーバーに制限される。
原因: 並列接続数や同時ファイル数が多すぎる。
解決法: 接続数や同時実行数を減らし、間隔を空ける。
aria2c -x 4 -s 4 --max-concurrent-downloads=2 --retry-wait=10 URL
期待される結果: 制限内に収まり、ダウンロードが完了する。
HTTP 503 Service Unavailable
症状: サーバーが一時的に過負荷またはメンテナンス中。
原因: 一時的なサーバー側の負荷やスロットリング。
解決法: 待って再試行する。--retry-wait を付けると503を自動で再試行する。
aria2c --retry-wait=15 --max-tries=10 URL
期待される結果: aria2が待機して再試行し、サーバー復旧後に成功する。
HTTP 401 Unauthorized /「HTTP authorization failed」(終了コード24)
症状: aria2が認証失敗を報告する。
原因: 認証情報の誤りや不足(Basic/Bearer認証を含む)。
解決法: ユーザー名・パスワードまたはAuthorizationヘッダーで認証情報を渡す。
aria2c --http-user=user --http-passwd=pass URL
# or embed in the URI: https://user:pass@host/file
# or a token header:
aria2c --header="Authorization: Bearer TOKEN" URL
期待される結果: サーバーが認証してデータ送信を始める。
リダイレクトが多すぎる(終了コード23)
症状: aria2が「too many redirects」で中断する。
原因: リダイレクトループ、またはCookieやヘッダーを要求するCDN。
解決法: 最終URLを直接使うか、CookieとRefererを付けて試す。
期待される結果: aria2が最終的な200応答に到達する。
「Remote server did not support resume」(終了コード8)
症状: -c を付けてもaria2が続行を拒否する。
原因: サーバーがバイトレンジ要求を無視する、またはファイルが変わった(サイズやETagの相違)。
解決法: -c なしで最初から取得するか、レンジ対応ミラーから取得する。
aria2c URL # fresh download (no -c)
aria2c -x 16 -s 16 URL # from a range-capable mirror
期待される結果: フルダウンロードが完了する。
タイムアウト(終了コード2)
症状: aria2がタイムアウトで処理をやめる。
原因: 遅い・不安定なサーバー、またはタイムアウト設定が短すぎる。
解決法: タイムアウトと再試行を増やし、停滞した接続を切り捨てる。
aria2c --timeout=60 --connect-timeout=30 --max-tries=5 --retry-wait=5 -c URL
期待される結果: 中断せず再試行・レジュームする。
FTP:ログイン失敗 /「FTP command failed」(終了コード21)
症状: FTP転送が認証やコマンドエラーで失敗する。
原因: 認証情報の誤り、またはファイアウォールによるパッシブ/アクティブFTPのブロック。
解決法: 認証情報を設定し、パッシブモード(既定)で試す。
aria2c --ftp-user=user --ftp-passwd=pass ftp://host/file
aria2c --ftp-pasv=true ftp://host/file # passive (default)
期待される結果: FTPセッションがログインして転送される。
「Could not parse Metalink document」(終了コード20)
症状: .meta4/.metalink のダウンロードに失敗する。
原因: XMLの破損、またはURLがMetalinkではなくHTMLエラーページを返している。
解決法: Metalink自体を先に取得して開き、URLがXMLを返すことを確認する。
aria2c https://example.com/file.meta4 # download the metalink itself
aria2c file.meta4 # then use the local file
期待される結果: aria2がMetalinkを解析して中のファイルを取得する。
aria2がファイルではなくHTMLページを保存する
症状: 小さな .html ファイルや「Access denied」ページが保存される。
原因: ログイン、トークン、確認ページが必要なリンク。
解決法: 実際のファイルURLを使う(またはブラウザのCookieを使う)。
aria2c --load-cookies cookies.txt URL
期待される結果: 応答が実際のバイナリやファイル内容になる。
BitTorrent:ピア0 / 0 KB/s
症状: torrentを開始してもピアが見つからない。
原因: トラッカーが停止、DHT/LPDなし、インバウンド用ポートなし。
解決法: 新しいトラッカーを追加し、DHT/LPDを有効化してポートを開放する。
aria2c --enable-dht=true --bt-enable-lpd=true \
--bt-tracker="udp://tracker.opentrackr.org:1337/announce" \
--listen-port=6888 --dht-listen-port=6888 mytorrent.torrent
期待される結果: ピアに接続して速度が0を上回る。
ピアはつながるが「connectable」にならない
症状: ダウンロードは動くが遅く、相手から接続されない。
原因: インバウンド用ポートがない(開放なし、CGNAT/VPN下)。
解決法: TCP+UDPの1ポートを開放してaria2に設定する。CGNAT下ではポート開放付きVPNを使う。
aria2c --listen-port=6888 --dht-listen-port=6888 \
--bt-external-ip=YOUR_PUBLIC_IP mytorrent.torrent
期待される結果: クライアントがconnectableになり速度が改善する。
「No registered tracker」/ トラッカーが機能しない
症状: torrentにトラッカーが載っているのに応答がない。
原因: トラッカーが停止しているか、ネットワークでUDPがブロックされている。
解決法: 新しいトラッカーに置き換え、予備にHTTP(S)も追加する。トラッカーリストを参照。
aria2c --bt-tracker="udp://...,https://..." mytorrent.torrent
期待される結果: 少なくとも1つのトラッカーがアナウンスに成功し、ピアが現れる。
マグネットリンクが失敗する・「command not found」になる
症状: マグネットURIを貼るとコマンドが壊れる。
原因: URI中の & や ? をシェルが解釈してしまう。
解決法: マグネットリンクは必ずダブルクォートで囲む。
aria2c "magnet:?xt=urn:btih:..."
期待される結果: aria2がメタデータを取得してtorrentを開始する。
マグネットが「fetching metadata」で止まる
症状: マグネットが実際のダウンロードに進まない。
原因: torrentのメタデータを取得できるピアやDHTソースがない(過疎スウォーム)。
解決法: トラッカーを追加してメタデータを取得できるようにするか、.torrent ファイルを直接使う。
aria2c --bt-tracker="udp://tracker.opentrackr.org:1337/announce" \
--enable-dht=true --bt-save-metadata=true "magnet:?xt=urn:btih:..."
期待される結果: メタデータが届き、.torrent が保存されてダウンロードが始まる。
プライベートトラッカー(PT)に拒否・BANされる / 比率が悪い
症状: PTのtorrentに接続できないか、アカウントの比率が悪化する。
原因: PTではサイトのトラッカー専用、DHT/PEX禁止、シード必須などの独自ルールがある。
解決法: DHT/PEXを無効化し、要求比率までシードする。
aria2c --enable-dht=false --enable-peer-exchange=false \
--bt-enable-lpd=false --seed-ratio=1.0 --seed-time=0 mytorrent.torrent
期待される結果: PTがクライアントを受け入れ、シードが継続する。
シードが終わらない
症状: 100%後もタスクがずっと有効なまま。
原因: seed-ratio=0(無期限シード)や高い比率目標の設定。
解決法: 比率または時間の上限を設定する。
aria2c --seed-ratio=1.0 mytorrent.torrent # stop at ratio 1.0
aria2c --seed-time=0 mytorrent.torrent # stop right after finishing
期待される結果: 条件を満たすとシードが停止する。
「.torrent file corrupted」「bencoded file」「Magnet URI was bad」(終了25/26/27)
症状: aria2がtorrentやマグネットを開けない。
原因: .torrent の欠損や破損、または不正なマグネットURI。
解決法: .torrent を入手元から取り直すか、完全なマグネット文字列をコピーする。-S で確認する。
aria2c -S mytorrent.torrent # print file listing; fails if corrupt
期待される結果: aria2がtorrent内容を一覧表示してダウンロードを完了する。
BitTorrentがqBittorrent/Transmissionよりずっと遅い
症状: 同じtorrentがaria2では明らかに遅い。
原因: 控えめな既定値(ピア数、ピア速度報酬、アップロード)とポート未開放。
解決法: スウォーム設定を調整し、ポートを開放する(高速化ガイド参照)。
aria2c --bt-max-peers=128 --bt-request-peer-speed-limit=50K \
--enable-dht=true --bt-enable-lpd=true --listen-port=6888 mytorrent.torrent
期待される結果: 速度が他のクライアント並みに近づく。
WebUI / AriaNgが「Disconnected」と表示する
症状: ダッシュボードがデーモンに接続しない。
原因: aria2がRPC付きで動いていない、ホストやポートの誤り、シークレット不一致。
解決法: トークン付きでRPCを起動し、WebUIに同じ値を入力する。
aria2c --enable-rpc --rpc-secret=YOUR_SECRET --rpc-listen-all=true --daemon=true
# verify: curl http://127.0.0.1:6800/jsonrpc
期待される結果: WebUIが「Connected」と表示する。
「Failed to bind socket」/ ポート6800は使用中
症状: RPC有効でaria2が起動しない。
原因: 別のaria2やアプリがポート6800を使っている。
解決法: 他のプロセスを止めるか、別のRPCポートを使う。
aria2c --rpc-listen-port=6801 --enable-rpc
期待される結果: aria2が起動し、新しいポートでRPCが応答する。
RPCエラー「unauthorized」/ シークレット不一致
症状: クライアントは接続するが、呼び出しが毎回エラーになる。
原因: クライアント側の rpc-secret がデーモンと一致していない。
解決法: WebUI/AriaNgとデーモンでまったく同じトークンを使う。
aria2c --enable-rpc --rpc-secret="My Token 123" --daemon=true
# In the WebUI, enter exactly: My Token 123
期待される結果: 呼び出しが成功し、ダウンロード一覧が表示される。
HTTPSページで「Mixed content」がブロックされる
症状: HTTPSページから自前のRPCを呼ぶとブラウザコンソールがブロックする。
原因: HTTPSページからは素の http:///ws:// エンドポイントを呼べない。
解決法: リバースプロキシ経由でRPCをHTTPS/WSS化する(またはVPNを使う)し、そのURLを使う。
# Nginx: proxy /jsonrpc with Upgrade/Connection headers to enable WSS
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
期待される結果: HTTPSのWebUIがブロックなしに接続できる。
WebページからRPCを呼ぶとCORSエラーになる
症状: コンソールにCORSポリシーエラーが出る。
原因: デーモンがページのオリジンを許可していない。
解決法: rpc-allow-origin-all=true を有効にする(ポートが公開されていない場合のみ)。
aria2c --enable-rpc --rpc-allow-origin-all=true --rpc-secret=YOUR_SECRET --daemon=true
期待される結果: ブラウザからRPCエンドポイントを呼べるようになる。
ターミナルを閉じるとRPCが止まる
症状: シェルを閉じるとaria2が終了し、WebUIが切断する。
原因: aria2をフォアグラウンドで起動している(デーモン化していない)。
解決法: デーモンまたはサービスとして実行する。
aria2c --enable-rpc --daemon=true
# or long-lived in a terminal:
nohup aria2c --enable-rpc --rpc-secret=SECRET >/dev/null 2>&1 &
期待される結果: シェル終了後もaria2が動き続ける。
他のマシンからRPCに到達できない
症状: localhostでは動くが、LANのIPではつながらない。
原因: デーモンがlocalhostにのみバインドしているか、ファイアウォールがポートを塞いでいる。
解決法: 全インターフェースで待ち受け、ファイアウォールでポートを許可する(信頼できるネットワークでのみ)。
aria2c --enable-rpc --rpc-listen-all=true --rpc-secret=SECRET --daemon=true
期待される結果: リモートクライアントがLANのIPでRPCに届く。
「Could not parse JSON-RPC request」(終了コード30)
症状: aria2を呼ぶ連携側が自身のリクエスト解析に失敗する。
原因: JSON-RPCボディの形式誤り、またはメソッドやパラメータ形状の誤り。
解決法: リクエストボディを検証する。params は先頭にトークンを含める必要がある。
期待される結果: RPCがリクエストを受け付けて結果を返す。
「Network problem has occurred」(errorCode=1)
症状: すべてのダウンロードが Exception: [AbstractCommand.cc:...] errorCode=1 で失敗する。
原因: 設定済みだが動いていないシステムプロキシ、ファイアウォールやウイルス対策、IPv6問題が多い。
解決法: 停止したプロキシを外すかIPv6を無効化する。hostsファイルも確認する。
aria2c --disable-ipv6=true URL
# also verify no stale proxy: aria2c --all-proxy="" URL
期待される結果: aria2が接続して通常通りダウンロードする。
「Name resolution failed」(終了コード19)
症状: aria2がホスト名を解決できない。
原因: DNSの故障、到達できないリゾルバ、不正なhostsエントリ。
解決法: DNSをテストし、特定のリゾルバを試すか非同期DNSを無効化する。
nslookup example.com
aria2c --async-dns=false URL
aria2c --async-dns-server=1.1.1.1 URL
期待される結果: ホスト名が解決して接続できる。
プロキシ接続拒否・プロキシ認証失敗
症状: プロキシの誤り・停止・認証拒否でダウンロードが失敗する。
原因: 全体に設定したプロキシが動いていないか、認証情報が違う。
解決法: 正しいプロキシを認証情報付きで指定するか、クリアする。aria2 は HTTP プロキシのみ対応で、socks5:// を指定すると「unrecognized proxy format」で失敗します。
aria2c --all-proxy="http://user:pass@127.0.0.1:8080" URL
# aria2 は SOCKS 非対応: HTTP プロキシか HTTP→SOCKS 変換プロキシを指定
aria2c --all-proxy="" URL # disable proxy
期待される結果: トラフィックがプロキシ経由になり、ダウンロードが進む。
一部のホストでのみ失敗する(IPv6問題)
症状: 特定のサイトだけ失敗し、他は成功する。ネットワークエラーが多い。
原因: IPv6接続の不具合。aria2がブラックホール化したIPv6経路を優先している。
解決法: aria2でIPv6を無効化する。
aria2c --disable-ipv6=true URL
期待される結果: aria2がIPv4を使い、ダウンロードが成功する。
hostsファイルやファイアウォールが静かにサーバーを塞ぐ
症状: ドメインは解決するが、どこにもつながらない(または127.0.0.1につながる)。
原因: デブロートやテレメトリーブロッカー、ウイルス対策がヌルルートを追加した。
解決法: hostsファイルとファイアウォールを確認し、ブロック項目を除去する。
# Windows: C:\Windows\System32\drivers\etc\hosts
# Linux/macOS: /etc/hosts (look for the domain)
期待される結果: ドメインが正規IPにつながり、ダウンロードできる。
「Not enough disk space」(終了コード9)
症状: ディスク容量エラーでダウンロードが中断する。
原因: 保存先ドライブが満杯か、事前確保に空き以上の容量が必要。
解決法: 空きを作るか、別の --dir を選ぶか、事前確保を弱める。
aria2c -d /path/with/space URL
aria2c --file-allocation=none URL
期待される結果: 容量エラーなしにファイルが書き込まれる。
Permission denied /「could not create new file」(終了コード16)
症状: aria2が保存先フォルダに書き込めない。
原因: ユーザー(またはコンテナ)に書き込み権限がない。
解決法: 自分が所有するフォルダに書くか、権限や所有者を修正する。
aria2c -d ~/Downloads URL
ls -ld ~/Downloads
# Docker: set user: "1000:1000" or chown the mounted folder
期待される結果: ファイルが作成・書き込みできる。
「File I/O error」「could not open existing file」「could not create directory」(終了15/17/18)
症状: ファイルやディレクトリの作成・書き込みでaria2が失敗する。
原因: パスの誤り、無効な文字、読み取り専用や外れたドライブ、ディスク故障。
解決法: 短く正当で書き込み可能なパスを使い、ドライブを確認する。
aria2c -d /mnt/data/downloads --out=file.iso URL
期待される結果: ディレクトリとファイルがI/Oエラーなしに作られる。
USB/exFAT/FAT32ドライブで失敗する(4GB超のファイル)
症状: FAT32/exFATのUSBメモリで大きなファイルが失敗・破損する。
原因: FAT32は1ファイル4GBの上限がある。一部のexFATドライバは巨大なスパースファイルに不安定。
解決法: NTFS/ext4を使うか、先に内蔵ディスクに保存する。
期待される結果: 適切なファイルシステムで大きなファイルが正しく書ける。
SMB/NFS共有への保存が停滞・破損する
症状: ネットワーク共有への書き込みが遅い、固まる、失敗する。
原因: falloc/prealloc やスパースファイルが共有上で十分に対応されていない。
解決法: 共有上では none 確保を使い、ディスクキャッシュを小さくする。
aria2c --file-allocation=none --disk-cache=16M -d /mnt/nas/downloads URL
期待される結果: 共有への書き込みが安定して完了する。
「Piece length was different from one in .aria2 control file」(終了コード10)
症状: ピース長不一致でレジュームに失敗する。
原因: .aria2 ファイルが別ファイルのもの(またはサーバー設定違い)。
解決法: 不一致の管理ファイルを消してやり直すか、変更を許可する。
# safest: remove the stale control file, then re-download
aria2c --allow-piece-length-change=true URL
期待される結果: ダウンロードが進み、管理ファイルが一致する。
「File already existed」(終了13)/「renaming failed」(終了14)
症状: 同名ファイルがあるためaria2が書き込みを拒否する。
原因: 上書き保護が有効、または自動リネームが無効な名前に当たった。
解決法: 上書きまたは自動リネームを許可する。
aria2c --allow-overwrite=true URL
aria2c --auto-file-renaming=true URL
期待される結果: aria2が上書きまたは改名して続行する。
PCが固まる / ダウンロード中にディスク使用率100%
症状: 大きなダウンロード中にシステム全体が重くなる。
原因: HDDや低速ディスクでの事前確保と多数の小さな書き込み。
解決法: falloc(または trunc)を使い、ディスクキャッシュを増やし、接続数を減らす。
aria2c --file-allocation=falloc --disk-cache=64M -x 8 -s 8 URL
期待される結果: ディスク負荷が滑らかになり、システムが応答する。
Windows:「path is too long」/ ファイルを作成できない
症状: 長いtorrent名やファイル名がWindowsで失敗する。
原因: 従来の260文字MAX_PATH制限。
解決法: --dir を短くするか、Windowsで長いパスを有効にする。
aria2c -d C:\dl URL
期待される結果: パス制限内にファイルが作られる。
レジュームが0%からやり直しになる
症状: 再実行すると最初から始まる。
原因: -c なし、ファイルの改名や移動、管理ファイルの欠落。
解決法: file.ext と file.ext.aria2 を揃えて -c 付きで実行する。
aria2c -c -x 16 -s 16 URL
期待される結果: 既存のピースから続行する。
.aria2ファイルが100%後も削除されない
症状: 完了後も file.ext.aria2 が残る。
原因: BitTorrentのシードが継続中か、整合性チェックを通っていない。
解決法: シードを止めてタスクを除去するか、ファイルを検証する。
aria2c -c --check-integrity=true URL
期待される結果: ファイルが確定するとaria2が管理ファイルを削除する。.aria2ガイド参照。
部分ダウンロードを開くと「ファイルが破損している」
症状: メディアプレイヤーやアーカイバが未完成ファイルを拒否する。
原因: 単に未完成(.aria2 ファイルが残っている)。
解決法: ダウンロードを続行する。管理ファイルは消さない。
期待される結果: 完了後はファイルが正常になる。
再起動するとダウンロードが消える
症状: aria2を再起動するとキューや進捗を失う。
原因: セッションの永続化が設定されていない。
解決法: セッションファイルと保存間隔を設定する。
save-session=/config/aria2.session
input-file=/config/aria2.session
save-session-interval=60
continue=true
期待される結果: 起動時にキューを読み込んで続行する。
aria2 が起動しない:「Failed to open the file …aria2.session, cause: File not found」
症状: 起動直後に errorCode=1 Failed to open the file …/aria2.session で終了する。Docker コンテナが再起動を繰り返す。
原因: input-file がまだ存在しないセッションファイルを指している。aria2 は save-session 時にしか作成しないが、ファイルが無いと起動しない。このパスでは ${HOME} は展開されるが ~ は展開されない。
解決法: 空のファイルを一度作成し、aria2.conf では絶対パスか ${HOME} を使う。
mkdir -p ~/.aria2 && touch ~/.aria2/aria2.session # Linux/macOS
type nul > "%USERPROFILE%\.aria2\aria2.session" # Windows (cmd)
# Docker: touch the file inside the mounted /config folder
期待される結果: aria2 が空のキューで起動し、以後は自動で保存・復元される。
「Downloading same file/info hash at that moment」(終了11/12)
症状: 重複タスクの追加をaria2が拒否する。
原因: 同じURIやtorrentが既にキューにある。
解決法: 既存タスクを管理する(または出力名を変える)。
期待される結果: タスクは1件だけ存在する。
回線よりずっと遅い
症状: 帯域よりはるかに遅い速度しか出ない。
原因: aria2のHTTP既定はサーバーあたり1接続。
解決法: 接続数と分割数を増やす。
aria2c -x 16 -s 16 -k 1M URL
# HDD: add --file-allocation=falloc
期待される結果: 回線速度に近づく。高速化ガイド参照。
速度が一定値で頭打ちになる
症状: きりの良い数字(例:ちょうど5 MB/s)で張り付く。
原因: 制限オプションが設定されている(0 は無制限)。
解決法: ダウンロードやアップロードの制限を解除する。
max-overall-download-limit=0
max-download-limit=0
max-overall-upload-limit=0
期待される結果: ネットワークやディスクだけが上限になる。
aria2のメモリやCPU使用率が高すぎる
症状: ダウンロード中にRAMやCPUを多く使う。
原因: 過大な disk-cache、数百の接続、巨大なピア数。
解決法: キャッシュと接続・ピア上限を下げる。
aria2c --disk-cache=32M -x 8 -s 8 --max-concurrent-downloads=3 -j 3 URL
期待される結果: 許容できる速度を保ちつつリソース使用が下がる。
「Download aborted because speed was too slow」(終了コード5)
症状: 遅い配信元をaria2が見捨てる。
原因: このサーバーには lowest-speed-limit が高すぎる。
解決法: 下限を下げるか外す。
aria2c --lowest-speed-limit=0 URL
# or a gentle floor: --lowest-speed-limit=1K
期待される結果: 遅い配信元でも続行する。
「Bad or unrecognized option」(終了コード28)
症状: オプションエラーでaria2が起動しない。
原因: タイポ、キーの綴り誤り、またはそのオプションを持たない古いビルド。
解決法: キーを オプションリファレンス で確認し、aria2を更新する。
期待される結果: aria2が設定を解析して起動する。
aria2.confが無視される
症状: ファイル内の設定が効かない。
原因: 場所や名前の誤り、またはコマンドラインフラグが上書きしている。
解決法: 正しいパスを使い、コマンドラインが優先されることを覚えておく。
# Linux/macOS: ~/.aria2/aria2.conf
# Windows: %USERPROFILE%\.aria2\aria2.conf
aria2c --conf-path=/path/to/aria2.conf
期待される結果: 設定したオプションが起動時に反映される。
Windows:--downloader-argsのオプションが無視される
症状: yt-dlp経由のaria2フラグが適用されない。
原因: シェルの引用符で aria2c: の値が分割された。
解決法: 全体をダブルクォートで囲み、引用符を混ぜない。
yt-dlp --downloader aria2c --downloader-args "aria2c:-x 16 -s 16 -k 1M" URL
期待される結果: フラグがaria2に届き、速度が上がる。
ポート6800を公開するのは危険か
症状: RPCポートがインターネットから到達できる。
原因: rpc-listen-all=true に加え、ルーターのポート転送や公開IP。
解決法: 6800を公開しない。localhost/LANに留め、VPNまたは認証付きHTTPSリバースプロキシを使う。
# Keep local:
rpc-listen-all=false
# Always set a strong token when enabled:
rpc-secret=long-random-string
期待される結果: 信頼できるネットワークだけがRPCに届く。
rpc-allow-origin-allで任意のサイトが操作できる
症状: WebUI用にCORSを有効にしたが露出が心配。
原因: CORSを開けると、ポートに届く限り訪問した任意のページがRPCを呼べる。
解決法: ポートは非公開にし、強いシークレットを使い、公開よりローカルページやプロキシを優先する。
期待される結果: WebUIは動きつつ、信頼できないサイトはRPCに届かない。
安全性:出所不明のtorrent・Metalink・.aria2ファイル
症状: 信頼できない出所から取得しようとしている。
原因: torrentやMetalinkは悪性コンテンツを指すことがある。他人の .aria2 ファイルは信頼できない。
解決法: 公式の出所を優先し、チェックサムや署名を確認し、.aria2 ファイルを別ファイルに流用しない。
aria2c --check-integrity=true --checksum=sha-256=HEXDIGEST URL
期待される結果: ファイルのハッシュが公開ダイジェストと一致する。