「Aria2」の版間の差分
(→makepkg で Aria2 を使う: ノートを翻訳) |
(同期) |
||
| 13行目: | 13行目: | ||
aria2 を[[デーモン]]として使うには [https://github.com/GutenYe/systemd-units/tree/master/aria2 aria2-systemd] もインストールしてください。 |
aria2 を[[デーモン]]として使うには [https://github.com/GutenYe/systemd-units/tree/master/aria2 aria2-systemd] もインストールしてください。 |
||
| − | |||
| − | == 実行 == |
||
| − | |||
| − | aria2 パッケージの実行ファイルの名前は {{ic|aria2c}} です。後方互換性を保つために昔の名前がそのまま残っています。 |
||
== 設定 == |
== 設定 == |
||
| 32行目: | 28行目: | ||
{{ic|$XDG_CONFIG_HOME/aria2/aria2.conf}} が存在せず設定オプションの管理を簡単にしたい場合: |
{{ic|$XDG_CONFIG_HOME/aria2/aria2.conf}} が存在せず設定オプションの管理を簡単にしたい場合: |
||
$ touch $XDG_CONFIG_HOME/aria2/aria2.conf |
$ touch $XDG_CONFIG_HOME/aria2/aria2.conf |
||
| − | |||
| − | === サンプル .bash_alias === |
||
| − | |||
| − | alias down='aria2c --conf-path=${HOME}/.aria2/aria2.conf' |
||
| − | alias rapid='aria2c --conf-path=/file/aria2.rapidshare' |
||
=== サンプル aria2.conf === |
=== サンプル aria2.conf === |
||
2023年6月27日 (火) 17:46時点における版
プロジェクトの ホームページ より:
- aria2 は軽量なマルチプロトコル&マルチソースのコマンドラインダウンロードユーティリティです。HTTP/HTTPS, FTP, BitTorrent, Metalink をサポートしています。aria2 はビルトインの JSON-RPC と XML-RPC インターフェイスで操作することができます。
インストール
aria2 パッケージをインストールしてください。
aria2 をデーモンとして使うには 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
aria2 は pacman パッケージマネージャのデフォルトのダウンロードマネージャとして使うことができます。詳しくは ArchWiki の pacman のパフォーマンスの向上を見て下さい。
カスタム最小ビルド
不必要な機能やプロトコルを削除することでアプリケーションのレスポンスを改善することができます。カスタムビルドで外部ライブラリを削除することで更なる向上が望めます。利用可能なオプションは ./configure --help で確認できます。詳しくは Arch Build System のページを見て下さい。
システムの起動時に aria2c を起動
以下の systemd サービスファイルを保存して、ユーザー名と設定パスを必要に応じて修正してください。デーモン化するように設定がなっていることを確認してください (daemon=true を使用)。
/etc/systemd/system/aria2c.service
[Unit] Description=Aria2c download manager After=network.target [Service] User=aria2 Type=forking ExecStart=/usr/bin/aria2c --conf-path=/home/aria2/.aria2/aria2.daemon [Install] WantedBy=multi-user.target
作成したらサービスを起動・有効化してください。
ユーザーエージェントの変更
サイトによってはユーザーエージェントでリクエストを弾くようになっていることがあり、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 %u -o %o'
'http::/usr/bin/aria2c -UWget -s4 %u -o %o'
'https::/usr/bin/aria2c -UWget -s4 %u -o %o'
'rsync::/usr/bin/rsync -z %u %o'
'scp::/usr/bin/scp -C %u %o')
[...]
参照
- aria2 wiki - 公式サイト
- aria2 usage examples - 公式サイト
- aria2c downloader through VPN tunnel - 非公式サイト