Skip to content

アニメ管理設定 ​

WebUI ​

manager

  • 有効化:ファイル整理とリネームを有効化します。
  • リネーム方式:
    • pn:リリースタイトル情報を多めに保持する Torrent title S0XE0X 形式。
    • advance:公式タイトルと標準的なシーズン/話数形式。
    • none:リネームしません。
    • template:独自テンプレートで命名します(テンプレートリネーム参照)。
    • pn・advance・template は内蔵プラグイン rename(既定で有効)が提供します。設定 → プラグイン で無効にすると、すべての番組が none として扱われます。他のプラグインがリネーム方式を追加することもあり、有効なものはドロップダウンに表示されます。
  • 話数補完:不足している話数を補完ダウンロードします。
  • グループタグ追加:字幕組関連タグをダウンローダータスクに追加します。
  • 不良Torrent削除:エラー状態のタスクを削除します。
  • リビジョン競合ポリシー:より高いリビジョンのトレントが既存の話数を対象にするとき、「既存ファイルを保持」または「より高いリビジョンに置き換え」を選びます。置き換えを有効にすると、高いリビジョンが配置に成功した後でだけ古いトレントとそのデータを削除します。
  • 未一致Torrentを記録:ルールに一致しないTorrentを孤児レコードとして保存します。

テンプレートリネーム ​

template を選ぶと、内蔵プラグイン rename のテンプレートでファイル名を生成します。設定 → プラグイン → rename でファイル名テンプレートを編集します。既定値:

{{ title }} S{{ season|pad(2) }}E{{ episode|pad(2) }}

通常のエピソードでは既定値は pn と同じ結果になります。劇場版では pn は SxxExx を付けませんが、既定のテンプレートは付けます。サンドボックス化された Jinja2 構文で、次の変数が使えます。

変数意味例
titleファイル名から解析したタイトル葬送のフリーレン
bangumi_name番組フォルダー名葬送のフリーレン (2023)
seasonシーズン(Season フォルダーから取得、シーズンオフセット適用済み)1
episode話数(話数オフセット適用済み、半話は小数を保持)5、12.5
episode_typeepisode / movie / specialepisode
group字幕グループ(空の場合あり)ANi
kindmedia または subtitlemedia
language字幕の言語(動画では空)zh

pad(n) フィルターは整数部を n 桁にゼロ埋めし、小数部は保持します({{ episode|pad(3) }} → 005、{{ 12.5|pad(2) }} → 12.5)。

  • テンプレートはファイル名の本体のみを生成し、拡張子(字幕は .zh.ass 形式)は自動で付きます。
  • 保存時にサンプルファイルで一度レンダリングします。構文エラー、未定義の変数、不正な結果のテンプレートは拒否されます。
  • 実行時にレンダリングが失敗した、結果が空、または /・\ を含む場合、そのファイルは元の名前のままになり、通知が送られます。Torrent に ab:renamed タグは付かないため、テンプレートを直すと次のサイクルで再試行されます。pn に戻ることはありません。

WARNING

リネーム方式やテンプレートの変更は、その後に整理される Torrent にのみ適用されます。整理済み(ab:renamed タグ付き)の Torrent は再リネームされません。

メディアライブラリへのハードリンク ​

内蔵プラグイン hardlink は既定で無効です。設定 → プラグイン で有効にします。Torrent の整理が終わると、動画と字幕をライブラリフォルダーにリンクします。ダウンロードフォルダーはそのまま残り、シードを続けます。

項目説明既定値
source_rootAutoBangumi から見たダウンロードルート(絶対パス)。ライブラリは同じフォルダー構成になりますなし(必須)
library_rootライブラリフォルダー(絶対パス)。source_root の内側には置けませんなし(必須)
path_map{downloader, from, to} のリスト。ダウンローダーインスタンス downloader(既定 default)から見たパス接頭辞 from を、AutoBangumi から見たパス to に置き換えます。最長一致、一致しないパスはそのまま使います[]
cross_deviceハードリンクがファイルシステムをまたぐ場合:copy(コピー)、symlink(シンボリックリンク)、skip(スキップして通知)copy
  • プラグインが作成していない同名ファイルがライブラリにある場合はスキップし、上書きしません。通知が送られます。
  • リビジョン更新(新しいリリースが同じファイル名で古い Torrent を置き換える)の後、プラグインが以前作成したリンクは新しいファイルへのリンクにアトミックに置き換えられます。
  • Torrent を削除しても、ライブラリのリンクは削除されません。
  • プラグインが配置した後にライブラリから削除したファイルは、再びリンクされません。バックフィルを実行すると再作成されます。
  • 有効化する前にダウンロード済みのファイルは自動ではリンクされません。プラグインを有効にすると設定画面に「Hardlink backfill」セクションが表示されます。Link existing files をクリックすると、ダウンロードルートにある本編と字幕をライブラリにリンクします。リンク済みのファイルはスキップされます。このボタンは POST /api/v1/plugins/hardlink/backfill を呼び出します。
  • path_map はプラグインの設定フォームで 1 行ずつ編集できます(Add row)。config/config.json では plugins.options.hardlink.path_map です(例:[{"downloader": "default", "from": "/downloads", "to": "/media/downloads"}])。

Docker

ハードリンクはファイルシステムをまたげません。Docker では、ダウンロードフォルダーとライブラリを同じディスクに置き、1 つのマウントで AutoBangumi コンテナに渡してください(例:/mnt/media を /media としてまとめてマウントし、両方をその下に置く)。別々にマウントしたフォルダーは同じディスク上でも別のファイルシステムとして扱われ、cross_device の設定に従います(既定はコピーで、容量を 2 倍使います)。ダウンローダーが別のコンテナで動作し、見えるパスが異なる場合は path_map を使います。

メディアサーバーの更新 ​

内蔵プラグイン media-server-refresh は、Torrent の整理後に Jellyfin・Emby・Plex へライブラリの更新を要求します。設定 → プラグイン → media-server-refresh でサーバー種別を選び、サーバー URL と API Key(Plex は X-Plex-Token)を入力すると有効になります。未入力の間は何もしません。イベントを受け取ると delay 秒(既定 30)待ち、その間に整理された Torrent をまとめて 1 回だけ更新します。更新リクエストの送信後に届いたイベントは、もう 1 回の更新になります。ハードリンクプラグインが有効な場合は、ファイルがライブラリに入った後にもう一度更新します。ディスクをまたぐコピーが遅延より長くかかっても、新しいエピソードが表示されます。

config.json ​

セクション:bangumi_manage

キー説明型WebUI項目既定値
enable管理機能を有効化真偽値有効化true
eps_complete話数補完を有効化真偽値話数補完false
group_tagグループタグ追加真偽値グループタグ追加false
remove_bad_torrentエラーTorrent削除真偽値不良Torrent削除false
track_orphans未一致Torrentを記録真偽値未一致Torrentを記録true

リネーム方式とリビジョン競合ポリシーは Provider の選択として plugins.slots に保存されます:rename_strategy(リネーム方式、既定値 pn)と conflict_policy(hold / replace、既定値 hold)。3.3 の bangumi_manage.rename_method と revision_conflict_policy は、4.0 へのアップグレード後の初回起動時に自動で移行されます。詳しくは プラグイン設定 を参照してください。

AutoBangumiはMITライセンスの下で公開されています。(最新版: v4.0.0)