マンガのページ内翻訳
マンガ向けの OCR で縦書き・横書きを認識し、字形単位のマスクで文字だけを消して絵を残し、訳文を元の向きで吹き出しに配置します。用語集で人名や技名を巻全体で統一し、巻ごとのフォントキャッシュで書体もそろえます。
- 文字検出
- マンガ OCR
- 字形消去
- LLM 翻訳
- 写植
- クラウドまたはローカルの翻訳バックエンド
- 費用を表示、上限も設定可能
- 翻訳結果は保存され、再翻訳は不要
セルフホスト型 マンガ・電子書籍ビューア
マンガを中心に、PDF や EPUB などの電子書籍も読めるセルフホスト型のライブラリです。LANraragi を出発点に Rust + React で大幅に改造・強化しており、既存の LANraragi ライブラリをそのまま使えます。マンガのページ内翻訳、似た作品の推薦、AI によるプラグイン生成を備えています。
第1話
翻訳、プラグイン作成、単行本の整理など、手作業だった作業を AI に任せられます。AI 機能はすべて任意で、API キーを設定しなくても他の機能は使えます。
マンガ向けの OCR で縦書き・横書きを認識し、字形単位のマスクで文字だけを消して絵を残し、訳文を元の向きで吹き出しに配置します。用語集で人名や技名を巻全体で統一し、巻ごとのフォントキャッシュで書体もそろえます。
対象サイトを説明すると、AI がログイン・メタデータ・ダウンロード用のプラグインを生成し、Deno サンドボックスで試験実行します。失敗した場合はエラーをもとに自動で修正します。ページの取得は LANrurugi 自身が行い、テスト用の資格情報が AI に送られることはありません。
ローカルの ONNX 埋め込みモデルでライブラリ全体から候補を絞り込み、LLM が順位付けします。単行本は最終巻を基準にするため、第 1 巻が推薦されることはありません。
ローカルモデルで同じシリーズに属するバラバラのアーカイブを見つけ、単行本へのまとめ方を提案します(この段階では API キー不要)。さらにファイル名の巻数・話数から、AI がシリーズ名、章タイトル、読む順を提案します。サブフォルダ丸ごとを単行本にすることもできます。
メタデータプラグインで見つからないとき、タイトルと既知の情報から LLM がタグを補います。
追いたい作品の条件を文章で説明すると、AI が購読のフィルタールールに変換します。ルールは保存前に検証されます。
第2話
単行本の全巻を一続きのページとしてつなぎ、巻の境目をまたいでページをめくれます。進捗としおりは巻ごとに記録されます。
表紙・カラーページ・あとがきをワンクリックで設定、数字キーで章を付けられ、AI が付けた章名を優先して表示します。
しおりはページ単位。スタンプで画面の一部を囲んで記録でき、スタンプを置くとしおりも自動で付きます。
サムネイルは必要な分だけ読み込むため、数百ページの総集編でもすぐに開き、スクロールバーも跳ねません。
ブラウザで表示できない形式(一部のブラウザでの AVIF、JPEG XL、アニメーション画像など)は変換してから表示します。大きな画像を縮小し、WebP や JPEG XL にして送ることで通信量も抑えられます。
ゲストは指定したカテゴリだけを閲覧でき、それ以外の内容は表示されません。
第3話
ダウンロードはサーバー側で行い、実際のバイト単位の進捗と残り時間を表示します。ドメインごとに同時接続数と速度を制限でき、同じアドレスを重複してダウンロードしません。Pixiv のようにページ単位で配信される作品は 1 つのアーカイブにまとめます。
取得元サイトに作者、タグ、評価の下限、公開からの期間などの条件を組み合わせて購読すると、新作を定期的に確認して自動でダウンロードします。プレビューで候補ごとの扱いを確認でき、ワンクリックでブロック・取り消しが可能です。評価やタグが後から変わった場合は判定し直します。
サイトが提供するバージョンの系譜から、新しいダウンロードがライブラリ内のものより新しいか古いかを判断します。新しいものは設定に応じて旧アーカイブと置き換え(旧アーカイブの削除は新しいものの取り込み後)、古いものは拒否するか、ダウンロード前に確認できます。
複数巻の合本、多層フォルダ、アーカイブ内のアーカイブを自動で見つけ、分割案を提示し、確認後にバックグラウンドで実行します。分割後のファイル名は AI が付け、単行本の所属の引き継ぎや元ファイルの削除も選べます。
アップロードしたアーカイブがライブラリ内のものと大部分重なる場合、ページごとに比較して並べて表示します。余分なページを目的の位置にドラッグすれば、アーカイブ全体を置き換えずにページパッチを作成できます。
アーカイブ、カテゴリ、単行本、タグの名前に含まれる文字化けを見つけ、修復結果を一覧で確認してから適用し、検索インデックスも更新します。
第4話
LANraragi のライブラリ構成と HTTP API をそのまま使えるので、サードパーティ製ビューアも引き続き接続できます。タグやカテゴリなどのメタデータは LANraragi のバックアップから取り込み、2 つのデータベースは互いに影響しません。
設定 →「Database Backup/Restore」→「Backup Database」で JSON ファイルを保存します。LANraragi は動かしたままで構いません。
ライブラリには LANraragi と同じ漫画ディレクトリをマウントします。サムネイルとデータベースもマウントしますが、LANraragi とは別の新しいディレクトリにしてください。
kamimamita
http://<server>:3000 を開き、初期パスワード kamimamita(LANraragi と同じ)でログインします。初回セットアップウィザードで自分のパスワードに変更するよう案内されます。
ウィザードの「LANraragiのバックアップから取り込む」で JSON をアップロードします。後から 設定 →「データベースのバックアップ/復元」でも取り込めます。タグ・カテゴリ・単行本・スタンプが復元されます。読書の進み具合はバックアップに含まれません。アーカイブはファイル名で照合するので、ライブラリのスキャンが終わってから取り込んでください。
検索構文
artist:"some artist" |
circle:example is:unread
size:>=100M -tag:sample
OR / グループ / 否定 · 既読状態 · ファイルサイズ · 進捗の範囲 · 追加日 · アカウント単位の検索履歴
対応フォーマット
アーカイブ ZIP / CBZ RAR / CBR 7Z / CB7 TAR / CBT LZH
電子書籍 PDF EPUB MOBI / AZW3 DjVu FB2 TXT
スキャンページは元の画像をそのまま表示し、再圧縮しません。テキストの本はサーバー側でページに組版し、本の言語に合わせて日中韓のフォントを選びます。本に付いている目次は章として取り込みます。
最終話
右の「コピー」を押して compose.yaml として保存し、コメントに従ってディレクトリを自分の環境に合わせます。
docker compose up -d
NAS の場合は Synology Container Manager や Portainer などで compose プロジェクトを作成し、同じ内容を貼り付けてください。
http://<server>:3000
初回セットアップウィザードが、初期パスワードの変更、AI 機能用 API キーの登録、LANraragi バックアップの取り込みを案内します。
# compose.yaml
services:
lanrurugi:
image: ghcr.io/thelastfantasy/lanrurugi:latest
container_name: lanrurugi
ports:
- "3000:3000"
volumes:
# ライブラリ。LANraragi の content ディレクトリをそのまま指定可
- ./data/manga:/home/koyomi/lanrurugi/content
# サムネイルキャッシュ。LANrurugi 専用で、LANraragi の thumb ディレクトリは指定しない
- ./data/thumb:/home/koyomi/lanrurugi/thumb
# Redis データ。LANrurugi 専用。LANraragi のメタデータはバックアップ JSON からインポート
- ./data/database:/home/koyomi/lanrurugi/database
# 推薦機能の埋め込みモデル。初回利用時に自動ダウンロード
- ./data/models:/home/koyomi/lanrurugi/models
environment:
# HTTPS のリバースプロキシ経由で公開するときは true に
- LANRURUGI_FORCE_SECURE_COOKIES=false
restart: unless-stopped
Nginx・Caddy・Traefik などのリバースプロキシの後ろに置く場合は リバースプロキシ設定例(英語)
LANrurugi のサムネイルとデータベースのディレクトリは LANraragi とは必ず別にし、同じパスを指定しないでください。2 つは同時に動かせます。タグやカテゴリなどのメタデータは LANraragi のバックアップ JSON から取り込みます(初回セットアップウィザードの手順の 1 つです)。
同じイメージは Docker Hub にもあります:
jade913/lanrurugi
LANraragi の docker run コマンドか compose.yaml を貼り付けると、ライブラリのディレクトリを上の compose テキストに反映し、サムネイルとデータベースは LANrurugi 専用のディレクトリを使い、ポートは元の次の番号にします。変換はブラウザ内だけで行われ、何もアップロードされません。
Linux(x86_64 / ARM64)、Apple Silicon Mac、FreeBSD 向けのネイティブパッケージがあります。Redis や Deno などの依存をパッケージマネージャーで入れたら、展開してそのまま起動でき、システムサービスとして登録することもできます。Windows では Docker Desktop を使ってください。
ネイティブインストールガイド(英語)→