メインコンテンツへスキップ

aria2 トラブルシューティング

aria2のよくある問題をすべて1か所にまとめました:インストール、SSL、HTTP/FTP、BitTorrent、RPC/WebUI、ネットワークとプロキシ、ディスクとI/O、レジュームとセッション、パフォーマンス、設定とセキュリティ。各項目で症状、原因、具体的な修正手順、期待される結果を説明します。aria2.orgは独立したコミュニティリソースです。

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応答に到達する。

「HTTP response header was bad or unexpected」(終了コード22)

症状: 応答をaria2が解析できない。

原因: 不良な透過プロキシ、ウイルス対策のTLSフィルタ、またはポート上の非HTTPサーバー。

解決法: 割り込んでいるプロキシやTLSフィルタを外して再試行し、URLがHTTP/HTTPSであることを確認する。

期待される結果: 正常な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セッションがログインして転送される。

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つのトラッカーがアナウンスに成功し、ピアが現れる。

マグネットが「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に届かない。

終了ステータスコード リファレンス

aria2は最後に発生したエラーのコードを返します。一目で失敗の種類を判別するために使います。echo $?(Linux/macOS)またはecho %ERRORLEVEL%(Windows)で直前のコードを確認できます。

aria2 終了ステータスコード(公式)
Code意味関連
0すべてのダウンロードが成功しました。
1不明なエラー。
2タイムアウトが発生しました。--timeout
3リソースが見つかりませんでした。
4「resource not found」エラーが多すぎます。--max-file-not-found
5速度が遅すぎるためダウンロードを中止しました。--lowest-speed-limit
6ネットワーク問題が発生しました。
7aria2終了時に未完了のダウンロードがありました。
8リモートサーバーがレジュームに対応していません。--continue
9ディスク容量が不足しています。
10ピース長が.aria2コントロールファイルと異なります。--allow-piece-length-change
11同じファイルが既にダウンロード中です。
12同じinfo hashのtorrentが既にダウンロード中です。
13ファイルが既に存在します。--allow-overwrite
14ファイルの名前変更に失敗しました。--auto-file-renaming
15既存のファイルを開けませんでした。
16新規ファイルを作成/既存ファイルを切り詰めできませんでした。
17ファイルI/Oエラー。
18ディレクトリを作成できませんでした。
19名前解決に失敗しました。
20Metalinkドキュメントを解析できませんでした。
21FTPコマンドが失敗しました。
22HTTP応答ヘッダーが不正または予期しないものでした。
23リダイレクトが多すぎます。
24HTTP認証に失敗しました。
25bencodedファイル(.torrent)を解析できませんでした。
26.torrentファイルが破損しているかinfoがありません。
27Magnet URIが不正です。
28不正または不明なオプション/引数です。
29リモートサーバーが一時的にリクエストを処理できません。--retry-wait
30JSON-RPCリクエストを解析できませんでした。
31予約済み(未使用)。
32チェックサム検証に失敗しました。--check-integrity

出典:aria2公式マニュアル。コードは診断の目安であり、排他的な原因特定ではありません — 詳細はログ(--log-level=debug)で確認してください。

まだ解決しない場合:役立つ回答を早く得る方法

デバッグログを有効にして1回再現し、関連する行を共有してください。

aria2c --log-level=debug --log=aria2-debug.log URL
# or to stdout:  aria2c --log-level=debug URL