FANZAコンテンツ取り込み運用
FANZAの購入済みコンテンツをDLし、音声はNavidromeへ、漫画・CGはLANraragiへ取り込む運用。
正本
- DL作業ディレクトリ:
/mnt/ugreen/doujin/fanza/ - 音声の正規保存先:
/mnt/ugreen/data/music/Dojin/fanza/ - LANraragi投入先:
/mnt/ugreen/data/adult/manga/ - 実装リポジトリ:
~/Projects/doujin-tools/ - 詳細なコマンド:
~/Projects/doujin-tools/README.md
共通フロー
fanza_browser.pyで購入済みリストを保存する- dry-runで対象を確認する
/mnt/ugreen/doujin/fanza/へDLするorganize.pyで作品IDとメタデータを整理する- カテゴリごとの取り込みフローへ分岐する
音声 → Navidrome
convert_to_opus.py --base-dir /mnt/ugreen/doujin/fanzaでOpusへ変換する- 必要なら
convert_flac.pyで残ったFLACを変換する - 変換済み音源を
/mnt/ugreen/data/music/Dojin/fanza/へ移動する tag_opus.pyでVorbis Commentタグを付与する- カタログを更新し、Navidromeの表示を確認する
音声はOpus 128kbpsを正規形式とする。変換成功後に原本ZIPを削除する処理があるため、対象とログを確認してから実行する。
漫画・CG → LANraragi
unpack_images.py --dry-runで対象を確認するunpack_images.pyで各作品の_lanraragi/にCBZ/CBR/PDFを生成する- 原本アーカイブは削除せず、成果物を検品する
ingest_lanraragi.py --dry-runで投入先とmanifestを確認するingest_lanraragi.pyでLANraragi content dirへハードリンクまたはコピーする- LANraragi側のスキャン完了を待つ
apply_lanraragi_metadata_by_search.py --dry-runでproduct IDとファイル名の対応を確認する- metadataを適用する
- LANraragiのrescan後、検索APIと作品ページでタグ反映を確認する
検証
- 原本と
_lanraragi/成果物が残っている - 変換後の音声が正規保存先へ移動している
- 音声に
artist/album_artist/album/title/tracknumberがある - LANraragiのmanifestに投入先・title・tagsが出ている
from:fanza、product:<id>、category:<category>などのタグが検索できる- NAS側LANraragiを正本として確認する
注意
- LANraragiではCBZを正規形式に寄せ、CBRは必要に応じてCBZ化して退避する
- 既存ライブラリのパスやAlbumArtistを不用意に変更しない
- APIキーはノートやログに書かず、環境変数または指定ファイルから渡す
- 実行前に必ず小さい件数のdry-runを通す