「Aria2」の版間の差分
(en:Aria2への転送ページ) |
(→インストール: 同期) |
||
| (3人の利用者による、間の17版が非表示) | |||
| 1行目: | 1行目: | ||
| + | [[Category:ダウンロードユーティリティ]] |
||
| − | #redirect[[en:Aria2]] |
||
| + | [[Category:BitTorrent]] |
||
| + | [[en:Aria2]] |
||
| + | [[ru:Aria2]] |
||
| + | [[zh-hans:Aria2]] |
||
| + | プロジェクトの [http://aria2.sourceforge.net/ ホームページ] より: |
||
| + | : ''aria2 は軽量なマルチプロトコル&マルチソースのコマンドラインダウンロードユーティリティです。[[Wikipedia:HTTP|HTTP]]/[[Wikipedia:HTTPS|HTTPS]], [[Wikipedia:FTP|FTP]], [[Wikipedia:BitTorrent_(protocol)|BitTorrent]], [[Wikipedia:Metalink|Metalink]] をサポートしています。aria2 はビルトインの [[Wikipedia:JSON-RPC|JSON-RPC]] と [[Wikipedia:XML-RPC|XML-RPC]] インターフェイスで操作することができます。'' |
||
| + | |||
| + | == インストール == |
||
| + | |||
| + | {{Pkg|aria2}} パッケージを [[インストール]] してください。 |
||
| + | |||
| + | aria2 を [[デーモン]] として使用するには、[[#aria2 をデーモンとして使用する|systemd ユーザーユニット]] を作成します。 |
||
| + | |||
| + | == 設定 == |
||
| + | |||
| + | === aria2.conf === |
||
| + | |||
| + | aria2 はデフォルトで {{ic|$XDG_CONFIG_HOME/aria2/aria2.conf}} を確認してグローバルな設定オプションを設定します。{{ic|--conf-path}} スイッチを使うことで挙動を変更することが可能です: |
||
| + | * 設定ファイル {{ic|/file/aria2.rapidshare}} に指定したオプションをつかって {{ic|aria2.example.rar}} をダウンロード |
||
| + | <nowiki>$ aria2c --conf-path=/file/aria2.rapidshare http://rapidshare.com/files/12345678/aria2.example.rar</nowiki> |
||
| + | |||
| + | {{ic|$XDG_CONFIG_HOME/aria2/aria2.conf}} が存在していて {{ic|/file/aria2.rapidshare}} で指定したオプションを優先させたい場合、{{ic|--no-conf}} スイッチをコマンドに付け加えます: |
||
| + | * デフォルトの設定ファイルを使用せず設定ファイル {{ic|/file/aria2.rapidshare}} に指定したオプションを使って {{ic|aria2.example.rar}} をダウンロード |
||
| + | <nowiki>$ aria2c --no-conf --conf-path=/file/aria2.rapidshare http://rapidshare.com/files/12345678/aria2.example.rar</nowiki> |
||
| + | |||
| + | {{ic|$XDG_CONFIG_HOME/aria2/aria2.conf}} が存在せず設定オプションの管理を簡単にしたい場合: |
||
| + | $ touch $XDG_CONFIG_HOME/aria2/aria2.conf |
||
| + | |||
| + | === サンプル aria2.conf === |
||
| + | |||
| + | {{bc|<nowiki> |
||
| + | continue |
||
| + | dir=${HOME}/Desktop |
||
| + | file-allocation=none |
||
| + | input-file=${HOME}/.aria2/input.conf |
||
| + | log-level=warn |
||
| + | max-connection-per-server=4 |
||
| + | min-split-size=5M |
||
| + | on-download-complete=exit |
||
| + | </nowiki>}} |
||
| + | |||
| + | 上記の設定は以下を実行するのと同じです: |
||
| + | |||
| + | $ aria2c dir=${HOME}/Desktop file-allocation=none input-file=${HOME}/.aria2/input.conf on-download-complete=exit log-level=warn FILE |
||
| + | |||
| + | {{Note|上記の aria2.conf の例では、$ HOME 変数が誤って使用されている可能性があります。一部のユーザーは、 aria2 作業ディレクトリに個別の $ {HOME} サブディレクトリを明示的に作成する中括弧の構文を報告しています。このようなディレクトリは、 bash が $ HOME 環境変数と見なすため |
||
| + | このようなディレクトリを辿るのは難しいかもしれません。現時点では、 aria 2.conf で絶対パスを使用することをお勧めします。}} |
||
| + | |||
| + | ==== オプションの説明 ==== |
||
| + | |||
| + | ; {{ic|continue}}: コントロールファイルが存在する場合に部分的にダウンロードされたファイルからダウンロードを続行する。 |
||
| + | ; {{ic|<nowiki>dir=${HOME}/Desktop</nowiki>}}: ダウンロードしたファイルを {{ic|~/Desktop}} に保存。 |
||
| + | ; {{ic|<nowiki>file-allocation=none</nowiki>}}: ダウンロードを始める前にディスク容量を予め予約しない (デフォルト: prealloc) '''<sup>1</sup>'''。 |
||
| + | ; {{ic|<nowiki>input-file=${HOME}/.aria2/input.conf</nowiki>}}: {{ic|~/.aria2/input.conf}} に書かれた、タブあるいは改行で区切られた URI のリストをダウンロード。 |
||
| + | ; {{ic|<nowiki>log-level=warn</nowiki>}}: ログレベルを警告やエラーだけを出力するように設定 (デフォルト: debug)。 |
||
| + | ; {{ic|<nowiki>max-connection-per-server=4</nowiki>}}: サーバーごとの接続の最大数を4に設定 (デフォルト: 1)。 |
||
| + | ; {{ic|<nowiki>min-split-size=5M</nowiki>}}: 容量が 2*5MB = 10MB よりも大きい場合にファイルを分割 (デフォルト: 20M)。 |
||
| + | ; {{ic|<nowiki>on-download-complete=exit</nowiki>}}: ダウンロードセッションが完了したら {{ic|exit}} コマンドを実行してシェルを終了。 |
||
| + | |||
| + | ===== サンプル入力ファイル #1 ===== |
||
| + | |||
| + | * 2つのソースから {{ic|aria2-1.10.0.tar.bz2}} を {{ic|~/Desktop}} にダウンロードして {{ic|aria2-1.10.0.tar.bz2}} にマージ |
||
| + | <nowiki>http://aria2.net/files/stable/aria2-1.10.0/aria2-1.10.0.tar.bz2 https://sourceforge.net/projects/aria2/files/stable/aria2-1.10.0/aria2-1.10.0.tar.bz2</nowiki> |
||
| + | |||
| + | ===== サンプル入力ファイル #2 ===== |
||
| + | |||
| + | * {{ic|aria2-1.9.5.tar.bz2}} をダウンロードして {{ic|aria2.old.tar.bz2}} として {{ic|/file/old}} に保存 |
||
| + | * {{ic|aria2-1.10.0.tar.bz2}} をダウンロードして {{ic|aria2.new.tar.bz2}} として {{ic|~/Desktop}} に保存 |
||
| + | |||
| + | <nowiki>http://aria2.net/files/stable/aria2-1.9.5/aria2-1.9.5.tar.bz2</nowiki> |
||
| + | dir=/file/old |
||
| + | out=aria2.old.tar.bz2 |
||
| + | <nowiki>http://aria2.net/files/stable/aria2-1.10.0/aria2-1.10.0.tar.bz2</nowiki> |
||
| + | out=aria2.new.tar.bz2 |
||
| + | |||
| + | ==== 補足 ==== |
||
| + | |||
| + | <sup>1</sup> {{ic|1=file-allocation=falloc}}: ext4 (エクステントをサポート), btrfs, xfs などのファイルシステムは巨大なファイル (GB) がほぼ即座に割り当てられるため推奨されます。ext3 などのレガシーファイルシステムでは falloc を使用しないでください。prealloc は、aria2 プロセスがダウンロードに進むのをロックしている間、標準の割り当てとほぼ同じ時間を消費するためです。 |
||
| + | |||
| + | {{Tip|設定オプションの完全なリストは {{ic|<nowiki>aria2c --help=#all</nowiki>}} や aria2 の [[man ページ]]を見て下さい。}} |
||
| + | |||
| + | === サンプル aria2.rapidshare === |
||
| + | |||
| + | {{bc|<nowiki> |
||
| + | http-user=USER_NAME |
||
| + | http-passwd=PASSWORD |
||
| + | allow-overwrite=true |
||
| + | dir=/file/Downloads |
||
| + | file-allocation=falloc |
||
| + | enable-http-pipelining=true |
||
| + | input-file=/file/input.rapidshare |
||
| + | log-level=error |
||
| + | max-connection-per-server=2 |
||
| + | summary-interval=120 |
||
| + | </nowiki>}} |
||
| + | |||
| + | ==== オプションの説明 ==== |
||
| + | |||
| + | ; {{ic|<nowiki>http-user=USER_NAME</nowiki>}}: パスワードで保護されているログインをするために HTTP [[Wikipedia:User_(computing)|ユーザー名]]を USER_NAME に設定。全ての [[Wikipedia:Uniform_Resource_Identifier|URI]] に適用されます。 |
||
| + | ; {{ic|<nowiki>http-passwd=PASSWORD</nowiki>}}: パスワードで保護されているログインをするために HTTP [[Wikipedia:Password|パスワード]]を PASSWORD に設定。全ての URI に適用されます。 |
||
| + | ; {{ic|<nowiki>allow-overwrite=true</nowiki>}}: コントロールファイルが存在しない場合にダウンロードをやり直す (デフォルト: false)。 |
||
| + | ; {{ic|<nowiki>dir=/file/Downloads</nowiki>}}: ダウンロードしたファイルを {{ic|/file/Downloads}} に保存。 |
||
| + | ; {{ic|<nowiki>file-allocation=falloc</nowiki>}}: [https://www.kernel.org/doc/man-pages/online/pages/man2/fallocate.2.html posix_fallocate()] を呼び出してダウンロードが始まる前にディスク容量を確保 (デフォルト: prealloc)。 |
||
| + | ; {{ic|<nowiki>enable-http-pipelining=true</nowiki>}}: [[Wikipedia:HTTP_Pipelining|HTTP/1.1 パイプライン]]を有効にしてネットワークの遅延と負担を減らす (デフォルト: false)。 |
||
| + | ; {{ic|<nowiki>input-file=/file/input.rapidshare</nowiki>}}: {{ic|/file/input.rapidshare}} に指定された、タブあるいは改行で区切られた URI のリストをダウンロード。 |
||
| + | ; {{ic|<nowiki>log-level=error</nowiki>}}: エラーだけを出力するようにログレベルを設定 (デフォルト: debug)。 |
||
| + | ; {{ic|<nowiki>max-connection-per-server=2</nowiki>}}: サーバーごとの接続の最大数を2に設定 (デフォルト: 1)。 |
||
| + | ; {{ic|<nowiki>summary-interval=120</nowiki>}}: 120秒ごとにダウンロードの進捗を出力 (デフォルト: 60) '''<sup>3</sup>'''。 |
||
| + | |||
| + | ==== 補足 ==== |
||
| + | |||
| + | * {{ic|aria2.rapidshare}} にユーザー名とパスワードを記述するので、ファイルのパーミッションは 600 などに設定することを推奨します: |
||
| + | |||
| + | $ cd /file |
||
| + | $ chmod 600 /file/aria2.rapidshare |
||
| + | $ ls -l |
||
| + | total 128M |
||
| + | -rw------- 1 arch users 167 Aug 20 00:00 aria2.rapidshare |
||
| + | |||
| + | ; '''<sup>3</sup>''' {{ic|<nowiki>summary-interval=0</nowiki>}}: ダウンロードの進捗の出力を控えめにすることで全体のパフォーマンスを改善できます。ログは {{ic|log-level}} オプションで指定した値に合わせて出力されます。 |
||
| + | |||
| + | {{Tip|上記の設定ファイルは [http://www.hotfile.com/ Hotfile], [http://depositfiles.com/ DepositFiles] などでも使うことができます。}} |
||
| + | {{Note|コマンドラインオプションは設定ファイルで指定したオプションよりも常に優先されます。}} |
||
| + | |||
| + | === サンプル aria2.bittorrent === |
||
| + | |||
| + | {{bc|<nowiki> |
||
| + | bt-seed-unverified |
||
| + | max-overall-upload-limit=1M |
||
| + | max-upload-limit=128K |
||
| + | seed-ratio=5.0 |
||
| + | seed-time=240 |
||
| + | </nowiki>}} |
||
| + | |||
| + | ==== オプションの説明 ==== |
||
| + | |||
| + | ; {{ic|<nowiki>bt-seed-unverified=false</nowiki>}}: シードする前にファイルのハッシュを確認しない (デフォルト: true)。 |
||
| + | ; {{ic|<nowiki>max-overall-upload-limit=1M</nowiki>}}: アップロードの最大速度を 1MB/秒に設定 (デフォルト: 0)。 |
||
| + | ; {{ic|<nowiki>max-upload-limit=128K</nowiki>}}: torrent ごとのアップロードの最大速度を 128K/秒に設定 (デフォルト: 0)。 |
||
| + | ; {{ic|<nowiki>seed-ratio=5.0</nowiki>}}: 共有比が 5.0 に達するまで完了した torrent をシードする (デフォルト: 1.0)。 |
||
| + | ; {{ic|<nowiki>seed-time=240</nowiki>}}: 240分間は完了した torrent をシードする。 |
||
| + | |||
| + | {{Note|{{ic|seed-ratio}} と {{ic|seed-time}} の両方が指定されている場合、どちらか片方の条件が満たされた時点でシードは終了します。}} |
||
| + | |||
| + | === サンプル aria2.daemon === |
||
| + | |||
| + | 以下の設定を使って Aria2 をサービスとして起動することができます。下に記載しているフロントエンドと組み合わせて使うこともできます。rpc-user と rpc-pass は非推奨となっていますが、ほとんどのフロントエンドはまだ新しい認証に移植されていません。ユーザーやパスワード、Download ディレクトリは忘れずに変更してください。 |
||
| + | |||
| + | {{bc|<nowiki> |
||
| + | continue |
||
| + | daemon=true |
||
| + | dir=/home/aria2/Downloads |
||
| + | file-allocation=falloc |
||
| + | log-level=warn |
||
| + | max-connection-per-server=4 |
||
| + | max-concurrent-downloads=3 |
||
| + | max-overall-download-limit=0 |
||
| + | min-split-size=5M |
||
| + | enable-http-pipelining=true |
||
| + | |||
| + | enable-rpc=true |
||
| + | rpc-listen-all=true |
||
| + | rpc-user=rpcuser |
||
| + | rpc-passwd=rpcpass |
||
| + | </nowiki>}} |
||
| + | |||
| + | == フロントエンド == |
||
| + | |||
| + | {{note|フロントエンドで設定を変更しても {{ic|aria2}} 自体の設定には影響しません。カスタム設定が作られていたとしても別の UI が {{ic|aria2}} の設定を再利用するとは限りません。パラメータが正しく設定されているかどうかは選択したツールの中で確認・保存してください (例えば uGet は {{ic|aria2}} のコマンドラインで設定を保存します)。}} |
||
| + | |||
| + | === ウェブ UI === |
||
| + | |||
| + | {{Note|以下のフロントエンドを使うには {{ic|--enable-rpc}} を使って {{ic|aria2c}} を起動する必要があります。フロントエンドはローカルコンピュータで使うことを想定されており、aria を使ってリモートサーバーでダウンロードすることは想定外です。}} |
||
| + | |||
| + | * {{App|YaaW|HTML/CSS/Javascirpt だけで書かれた Yet Another Aria2 ウェブフロントエンド。|https://github.com/binux/yaaw|{{AUR|yaaw-git}}}} |
||
| + | * {{App|Webui|aria2 の Html フロントエンド。|https://github.com/ziahamza/webui-aria2|{{AUR|webui-aria2}}}} |
||
| + | * {{App|aria2rpc|{{ic|aria2c}} のリモートインスタンスに接続するコマンドラインツール。{{ic|aria2c}} がインストールされている場合 {{ic|/usr/share/doc/aria2/xmlrpc/aria2rpc}} 下にあります。|https://github.com/tatsuhiro-t/aria2/blob/master/doc/xmlrpc/aria2rpc|{{Pkg|aria2}}}} |
||
| + | |||
| + | === 他の UI === |
||
| + | {{note|以下のフロントエンドを使うときは {{ic|--enable-rpc}} で {{ic|aria2c}} を起動する必要はありません。}} |
||
| + | |||
| + | * {{App|aria2fe|CLI ベースの aria2 ダウンロードユーティリティの GUI。|https://sourceforge.net/projects/aria2fe/|{{AUR|aria2fe}}}} |
||
| + | * {{App|Diana|aria2 のコマンドラインツール。|https://github.com/baskerville/diana|{{AUR|diana-git}}}} |
||
| + | * {{App|downloadm|aria2c をバックエンドとして用いるダウンロードアクセラレータ/マネージャ。|https://sourceforge.net/projects/downloadm/|{{AUR|downloadm}}{{Broken package link|{{aur-mirror|downloadm}}}}}} |
||
| + | * {{App|eatmonkey|aria2 で動作する Xfce のダウンロードマネージャ。|https://goodies.xfce.org/projects/applications/eatmonkey|{{AUR|eatmonkey}}{{Broken package link|{{aur-mirror|eatmonkey}}}}}} |
||
| + | * {{App|karia2|aria2 ダウンロードマネージャの QT4 インターフェイス。|https://sourceforge.net/projects/karia2/|{{AUR|karia2-svn}}}} |
||
| + | * {{App|uGet|プラグインを使って aria2 をバックエンドとして利用できる機能豊富な GTK+/CLI ダウンロードマネージャ。|http://ugetdm.com|{{Pkg|uget}}}} |
||
| + | * {{App|yaner|aria2 ダウンロードマネージャの GTK+ インターフェイス。|http://iven.github.com/Yaner|{{AUR|yaner-git}}{{Broken package link|{{aur-mirror|yaner-git}}}}}} |
||
| + | |||
| + | シェルの設定ファイルに diana による監視機能を追加すると便利です: |
||
| + | {{bc|<nowiki> |
||
| + | da(){ |
||
| + | watch -ctn 1 "(echo -e '\033[32mGID\t\t Name\t\t\t\t\t\t\t%\tDown\tSize\tSpeed\tUp\tS/L\tTime\033[36m'; \ |
||
| + | diana list| cut -c -112; echo -e '\033[37m'; diana stats)" |
||
| + | } |
||
| + | </nowiki>}} |
||
| + | |||
| + | == ヒントとテクニック == |
||
| + | |||
| + | === パッケージをインストールしないでダウンロード === |
||
| + | |||
| + | 以下のコマンドを使って下さい: |
||
| + | |||
| + | # pacman -Sp packages | aria2c -i - |
||
| + | |||
| + | {{Ic|pacman -Sp}} はパッケージの URL を標準出力に出力します。それから {{Ic|<nowiki>|</nowiki>}} で次のコマンドにパイプしています。そして {{Ic|aria2c -i -}} の {{Ic|-i}} スイッチによって aria2c は指定されたファイルからファイルの URL をダウンロードします。{{Ic|-}} が指定されているため、URL は標準入力から読み込まれます。 |
||
| + | |||
| + | === pacman XferCommand === |
||
| + | |||
| + | こちらを参照 [[pacman/ヒントとテクニック#aria2]] |
||
| + | |||
| + | === ユーザーエージェントの変更 === |
||
| + | |||
| + | サイトによってはユーザーエージェントでリクエストを弾くようになっていることがあり、Aria2 はあまり有名なダウンローダーではないため、Aria のユーザーエージェントを他の有名なダウンローダーやブラウザにすると良いかもしれません。以下のように {{ic|-U}} オプションを使います: |
||
| + | |||
| + | $ aria2c -UWget <nowiki>http://some-url-to-download/file.xyz</nowiki> |
||
| + | |||
| + | {{ic|-UMozilla/5.0}} など、何でも好きに設定できます。 |
||
| + | |||
| + | === makepkg で aria2 を使う === |
||
| + | |||
| + | {{Pkg|curl}} でソースファイルをダウンロードする代わりに aria2 を使うことができます。以下のように {{ic|DLAGENTS}} 変数を変更してください: |
||
| + | |||
| + | {{hc|/etc/makepkg.conf|2= |
||
| + | [...] |
||
| + | DLAGENTS=('ftp::/usr/bin/aria2c -UWget -s4 -x4 %u -o %o --follow-metalink=mem' |
||
| + | 'http::/usr/bin/aria2c -UWget -s4 -x4 %u -o %o --follow-metalink=mem' |
||
| + | 'https::/usr/bin/aria2c -UWget -s4 -x4 %u -o %o --follow-metalink=mem' |
||
| + | 'rsync::/usr/bin/rsync --no-motd -z %u %o' |
||
| + | 'scp::/usr/bin/scp -C %u %o') |
||
| + | [...] |
||
| + | }} |
||
| + | |||
| + | {{Note|{{ic|-UWget}} オプションを使用して、ユーザーエージェントを Wget に変更してください。これにより、サイトがユーザーエージェントに基づいてリクエストをフィルタリングし、ユーザーがアクセスに使用するツールによって異なるレスポンスを提供する場合に問題が発生するのを防ぐことができます。aria2 はあまり知られていないダウンローダーであるため、サイトによってはダウンローダーではなくブラウザとして認識される場合があります。このため、ユーザーエージェントを Wget に変更することで、ほとんどの場合で問題が解決する可能性があります。 |
||
| + | また、{{ic|1=--follow-metalink=mem}} オプションを使用して、メタリンクを別ファイルとしてダウンロードし、ソースチェックサムプロセスが失敗するのを防ぎます。}} |
||
| + | |||
| + | === aria2 をデーモンとして使用する === |
||
| + | |||
| + | aria2 をデーモンとして使用するには、[[systemd/ユーザー#ユーザーユニットを書く|systemd/ユーザーユニットの書き込み]] を実行する必要があります。例えば: |
||
| + | |||
| + | {{hc|~/.config/systemd/user/aria2cd.service|2= |
||
| + | [Unit] |
||
| + | Description=aria2 Daemon |
||
| + | |||
| + | [Service] |
||
| + | ExecStart=/usr/bin/aria2c --conf-path=''/path/to/conf'' |
||
| + | |||
| + | [Install] |
||
| + | WantedBy=default.target |
||
| + | }} |
||
| + | |||
| + | [[#サンプル aria2.daemon]] で設定ファイルの例を示します。 |
||
| + | |||
| + | === aria2 で torrent をシードする === |
||
| + | |||
| + | すでにダウンロードされている torrent をシードするには、{{ic|--check-integrity}} オプションを使用します: |
||
| + | |||
| + | $ aria2c --check-integrity=true --seed-ratio=0.0 --dir="/path/to/iso" "/path/to/torrent/archlinux-2020.03.01-x86_64.iso.torrent" |
||
| + | |||
| + | {{ic|1=--seed-ratio=0.0}} を指定すると、ファイルが永久にシードされます。 |
||
| + | |||
| + | == 参照 == |
||
| + | |||
| + | * [https://sourceforge.net/apps/trac/aria2/wiki aria2 wiki] - 公式サイト |
||
| + | * [https://sourceforge.net/apps/trac/aria2/wiki/UsageExample aria2 usage examples] - 公式サイト |
||
| + | * [http://gotux.net/arch-linux/aria2c-downloader-through-vpn-tunnel/ aria2c downloader through VPN tunnel] - 非公式サイト |
||
2025年1月22日 (水) 04:24時点における最新版
プロジェクトの ホームページ より:
- aria2 は軽量なマルチプロトコル&マルチソースのコマンドラインダウンロードユーティリティです。HTTP/HTTPS, FTP, BitTorrent, Metalink をサポートしています。aria2 はビルトインの JSON-RPC と XML-RPC インターフェイスで操作することができます。
インストール
aria2 を デーモン として使用するには、systemd ユーザーユニット を作成します。
設定
aria2.conf
aria2 はデフォルトで $XDG_CONFIG_HOME/aria2/aria2.conf を確認してグローバルな設定オプションを設定します。--conf-path スイッチを使うことで挙動を変更することが可能です:
- 設定ファイル
/file/aria2.rapidshareに指定したオプションをつかってaria2.example.rarをダウンロード
$ aria2c --conf-path=/file/aria2.rapidshare http://rapidshare.com/files/12345678/aria2.example.rar
$XDG_CONFIG_HOME/aria2/aria2.conf が存在していて /file/aria2.rapidshare で指定したオプションを優先させたい場合、--no-conf スイッチをコマンドに付け加えます:
- デフォルトの設定ファイルを使用せず設定ファイル
/file/aria2.rapidshareに指定したオプションを使ってaria2.example.rarをダウンロード
$ aria2c --no-conf --conf-path=/file/aria2.rapidshare http://rapidshare.com/files/12345678/aria2.example.rar
$XDG_CONFIG_HOME/aria2/aria2.conf が存在せず設定オプションの管理を簡単にしたい場合:
$ touch $XDG_CONFIG_HOME/aria2/aria2.conf
サンプル aria2.conf
continue
dir=${HOME}/Desktop
file-allocation=none
input-file=${HOME}/.aria2/input.conf
log-level=warn
max-connection-per-server=4
min-split-size=5M
on-download-complete=exit
上記の設定は以下を実行するのと同じです:
$ aria2c dir=${HOME}/Desktop file-allocation=none input-file=${HOME}/.aria2/input.conf on-download-complete=exit log-level=warn FILE
オプションの説明
continue- コントロールファイルが存在する場合に部分的にダウンロードされたファイルからダウンロードを続行する。
dir=${HOME}/Desktop- ダウンロードしたファイルを
~/Desktopに保存。 file-allocation=none- ダウンロードを始める前にディスク容量を予め予約しない (デフォルト: prealloc) 1。
input-file=${HOME}/.aria2/input.conf~/.aria2/input.confに書かれた、タブあるいは改行で区切られた URI のリストをダウンロード。log-level=warn- ログレベルを警告やエラーだけを出力するように設定 (デフォルト: debug)。
max-connection-per-server=4- サーバーごとの接続の最大数を4に設定 (デフォルト: 1)。
min-split-size=5M- 容量が 2*5MB = 10MB よりも大きい場合にファイルを分割 (デフォルト: 20M)。
on-download-complete=exit- ダウンロードセッションが完了したら
exitコマンドを実行してシェルを終了。
サンプル入力ファイル #1
- 2つのソースから
aria2-1.10.0.tar.bz2を~/Desktopにダウンロードしてaria2-1.10.0.tar.bz2にマージ
http://aria2.net/files/stable/aria2-1.10.0/aria2-1.10.0.tar.bz2 https://sourceforge.net/projects/aria2/files/stable/aria2-1.10.0/aria2-1.10.0.tar.bz2
サンプル入力ファイル #2
aria2-1.9.5.tar.bz2をダウンロードしてaria2.old.tar.bz2として/file/oldに保存aria2-1.10.0.tar.bz2をダウンロードしてaria2.new.tar.bz2として~/Desktopに保存
http://aria2.net/files/stable/aria2-1.9.5/aria2-1.9.5.tar.bz2 dir=/file/old out=aria2.old.tar.bz2 http://aria2.net/files/stable/aria2-1.10.0/aria2-1.10.0.tar.bz2 out=aria2.new.tar.bz2
補足
1 file-allocation=falloc: ext4 (エクステントをサポート), btrfs, xfs などのファイルシステムは巨大なファイル (GB) がほぼ即座に割り当てられるため推奨されます。ext3 などのレガシーファイルシステムでは falloc を使用しないでください。prealloc は、aria2 プロセスがダウンロードに進むのをロックしている間、標準の割り当てとほぼ同じ時間を消費するためです。
http-user=USER_NAME http-passwd=PASSWORD allow-overwrite=true dir=/file/Downloads file-allocation=falloc enable-http-pipelining=true input-file=/file/input.rapidshare log-level=error max-connection-per-server=2 summary-interval=120
オプションの説明
http-user=USER_NAME- パスワードで保護されているログインをするために HTTP ユーザー名を USER_NAME に設定。全ての URI に適用されます。
http-passwd=PASSWORD- パスワードで保護されているログインをするために HTTP パスワードを PASSWORD に設定。全ての URI に適用されます。
allow-overwrite=true- コントロールファイルが存在しない場合にダウンロードをやり直す (デフォルト: false)。
dir=/file/Downloads- ダウンロードしたファイルを
/file/Downloadsに保存。 file-allocation=falloc- posix_fallocate() を呼び出してダウンロードが始まる前にディスク容量を確保 (デフォルト: prealloc)。
enable-http-pipelining=true- HTTP/1.1 パイプラインを有効にしてネットワークの遅延と負担を減らす (デフォルト: false)。
input-file=/file/input.rapidshare/file/input.rapidshareに指定された、タブあるいは改行で区切られた URI のリストをダウンロード。log-level=error- エラーだけを出力するようにログレベルを設定 (デフォルト: debug)。
max-connection-per-server=2- サーバーごとの接続の最大数を2に設定 (デフォルト: 1)。
summary-interval=120- 120秒ごとにダウンロードの進捗を出力 (デフォルト: 60) 3。
補足
aria2.rapidshareにユーザー名とパスワードを記述するので、ファイルのパーミッションは 600 などに設定することを推奨します:
$ cd /file $ chmod 600 /file/aria2.rapidshare $ ls -l total 128M -rw------- 1 arch users 167 Aug 20 00:00 aria2.rapidshare
- 3
summary-interval=0 - ダウンロードの進捗の出力を控えめにすることで全体のパフォーマンスを改善できます。ログは
log-levelオプションで指定した値に合わせて出力されます。
サンプル aria2.bittorrent
bt-seed-unverified max-overall-upload-limit=1M max-upload-limit=128K seed-ratio=5.0 seed-time=240
オプションの説明
bt-seed-unverified=false- シードする前にファイルのハッシュを確認しない (デフォルト: true)。
max-overall-upload-limit=1M- アップロードの最大速度を 1MB/秒に設定 (デフォルト: 0)。
max-upload-limit=128K- torrent ごとのアップロードの最大速度を 128K/秒に設定 (デフォルト: 0)。
seed-ratio=5.0- 共有比が 5.0 に達するまで完了した torrent をシードする (デフォルト: 1.0)。
seed-time=240- 240分間は完了した torrent をシードする。
サンプル aria2.daemon
以下の設定を使って Aria2 をサービスとして起動することができます。下に記載しているフロントエンドと組み合わせて使うこともできます。rpc-user と rpc-pass は非推奨となっていますが、ほとんどのフロントエンドはまだ新しい認証に移植されていません。ユーザーやパスワード、Download ディレクトリは忘れずに変更してください。
continue daemon=true dir=/home/aria2/Downloads file-allocation=falloc log-level=warn max-connection-per-server=4 max-concurrent-downloads=3 max-overall-download-limit=0 min-split-size=5M enable-http-pipelining=true enable-rpc=true rpc-listen-all=true rpc-user=rpcuser rpc-passwd=rpcpass
フロントエンド
ウェブ UI
- YaaW — HTML/CSS/Javascirpt だけで書かれた Yet Another Aria2 ウェブフロントエンド。
- Webui — aria2 の Html フロントエンド。
- aria2rpc —
aria2cのリモートインスタンスに接続するコマンドラインツール。aria2cがインストールされている場合/usr/share/doc/aria2/xmlrpc/aria2rpc下にあります。
他の UI
- aria2fe — CLI ベースの aria2 ダウンロードユーティリティの GUI。
- Diana — aria2 のコマンドラインツール。
- downloadm — aria2c をバックエンドとして用いるダウンロードアクセラレータ/マネージャ。
- https://sourceforge.net/projects/downloadm/ || downloadmAUR[リンク切れ: アーカイブ: aur-mirror]
- eatmonkey — aria2 で動作する Xfce のダウンロードマネージャ。
- karia2 — aria2 ダウンロードマネージャの QT4 インターフェイス。
- uGet — プラグインを使って aria2 をバックエンドとして利用できる機能豊富な GTK+/CLI ダウンロードマネージャ。
- yaner — aria2 ダウンロードマネージャの GTK+ インターフェイス。
- http://iven.github.com/Yaner || yaner-gitAUR[リンク切れ: アーカイブ: aur-mirror]
シェルの設定ファイルに diana による監視機能を追加すると便利です:
da(){
watch -ctn 1 "(echo -e '\033[32mGID\t\t Name\t\t\t\t\t\t\t%\tDown\tSize\tSpeed\tUp\tS/L\tTime\033[36m'; \
diana list| cut -c -112; echo -e '\033[37m'; diana stats)"
}
ヒントとテクニック
パッケージをインストールしないでダウンロード
以下のコマンドを使って下さい:
# pacman -Sp packages | aria2c -i -
pacman -Sp はパッケージの URL を標準出力に出力します。それから | で次のコマンドにパイプしています。そして aria2c -i - の -i スイッチによって aria2c は指定されたファイルからファイルの URL をダウンロードします。- が指定されているため、URL は標準入力から読み込まれます。
pacman XferCommand
こちらを参照 pacman/ヒントとテクニック#aria2
ユーザーエージェントの変更
サイトによってはユーザーエージェントでリクエストを弾くようになっていることがあり、Aria2 はあまり有名なダウンローダーではないため、Aria のユーザーエージェントを他の有名なダウンローダーやブラウザにすると良いかもしれません。以下のように -U オプションを使います:
$ aria2c -UWget http://some-url-to-download/file.xyz
-UMozilla/5.0 など、何でも好きに設定できます。
makepkg で aria2 を使う
curl でソースファイルをダウンロードする代わりに aria2 を使うことができます。以下のように DLAGENTS 変数を変更してください:
/etc/makepkg.conf
[...]
DLAGENTS=('ftp::/usr/bin/aria2c -UWget -s4 -x4 %u -o %o --follow-metalink=mem'
'http::/usr/bin/aria2c -UWget -s4 -x4 %u -o %o --follow-metalink=mem'
'https::/usr/bin/aria2c -UWget -s4 -x4 %u -o %o --follow-metalink=mem'
'rsync::/usr/bin/rsync --no-motd -z %u %o'
'scp::/usr/bin/scp -C %u %o')
[...]
aria2 をデーモンとして使用する
aria2 をデーモンとして使用するには、systemd/ユーザーユニットの書き込み を実行する必要があります。例えば:
~/.config/systemd/user/aria2cd.service
[Unit] Description=aria2 Daemon [Service] ExecStart=/usr/bin/aria2c --conf-path=/path/to/conf [Install] WantedBy=default.target
#サンプル aria2.daemon で設定ファイルの例を示します。
aria2 で torrent をシードする
すでにダウンロードされている torrent をシードするには、--check-integrity オプションを使用します:
$ aria2c --check-integrity=true --seed-ratio=0.0 --dir="/path/to/iso" "/path/to/torrent/archlinux-2020.03.01-x86_64.iso.torrent"
--seed-ratio=0.0 を指定すると、ファイルが永久にシードされます。
参照
- aria2 wiki - 公式サイト
- aria2 usage examples - 公式サイト
- aria2c downloader through VPN tunnel - 非公式サイト