Add complete Japanese translation for all documentation pages including: - Home and about pages - Deployment guides (Docker CLI, Docker Compose, DSM, Local) - Configuration pages (RSS, Downloader, Parser, Notifier, Manager, Proxy, Experimental) - Feature documentation (RSS Management, Bangumi, Calendar, Rename, Search) - FAQ and troubleshooting - API reference - Changelogs (2.6, 3.0, 3.1, 3.2) - Developer guide Also updates VitePress config to add Japanese locale with full sidebar navigation. Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
11 KiB
REST APIリファレンス
AutoBangumiは/api/v1でREST APIを公開しています。すべてのエンドポイント(ログインとセットアップを除く)はJWT認証が必要です。
ベースURL: http://your-host:7892/api/v1
認証: JWTトークンをCookieまたはAuthorization: Bearer <token>ヘッダーとして含めてください。
インタラクティブドキュメント: 開発モードで実行している場合、Swagger UIはhttp://your-host:7892/docsで利用可能です。
認証
ログイン
POST /auth/login
ユーザー名とパスワードで認証します。
リクエストボディ:
{
"username": "string",
"password": "string"
}
レスポンス: JWTトークン付きの認証Cookieを設定します。
トークンのリフレッシュ
GET /auth/refresh_token
現在の認証トークンをリフレッシュします。
ログアウト
GET /auth/logout
認証Cookieをクリアしてログアウトします。
認証情報の更新
POST /auth/update
ユーザー名および/またはパスワードを更新します。
リクエストボディ:
{
"username": "string",
"password": "string"
}
Passkey / WebAuthn
WebAuthn/FIDO2 Passkeysを使用したパスワードレス認証。
Passkeyの登録
POST /passkey/register/options
WebAuthn登録オプション(チャレンジ、リライングパーティ情報)を取得します。
POST /passkey/register/verify
ブラウザからのPasskey登録レスポンスを検証して保存します。
Passkeyで認証
POST /passkey/auth/options
WebAuthn認証チャレンジオプションを取得します。
POST /passkey/auth/verify
Passkey認証レスポンスを検証し、JWTトークンを発行します。
Passkeyの管理
GET /passkey/list
現在のユーザーの登録済みPasskeyをすべてリストします。
POST /passkey/delete
クレデンシャルIDで登録済みPasskeyを削除します。
設定
設定の取得
GET /config/get
現在のアプリケーション設定を取得します。
レスポンス: program、downloader、rss_parser、bangumi_manager、notification、proxy、experimental_openaiセクションを含む完全な設定オブジェクト。
設定の更新
PATCH /config/update
アプリケーション設定を部分的に更新します。変更したいフィールドのみを含めてください。
リクエストボディ: 部分的な設定オブジェクト。
番組(アニメルール)
すべての番組をリスト
GET /bangumi/get/all
すべてのアニメダウンロードルールを取得します。
IDで番組を取得
GET /bangumi/get/{bangumi_id}
IDで特定のアニメルールを取得します。
番組の更新
PATCH /bangumi/update/{bangumi_id}
アニメルールのメタデータ(タイトル、シーズン、エピソードオフセットなど)を更新します。
番組の削除
DELETE /bangumi/delete/{bangumi_id}
単一のアニメルールと関連するトレントを削除します。
DELETE /bangumi/delete/many/
複数のアニメルールを一括削除します。
リクエストボディ:
{
"bangumi_ids": [1, 2, 3]
}
番組の無効化 / 有効化
DELETE /bangumi/disable/{bangumi_id}
アニメルールを無効化します(ファイルは保持、ダウンロード停止)。
DELETE /bangumi/disable/many/
複数のアニメルールを一括無効化します。
GET /bangumi/enable/{bangumi_id}
以前に無効化されたアニメルールを再有効化します。
ポスターのリフレッシュ
GET /bangumi/refresh/poster/all
すべてのアニメのポスター画像をTMDBからリフレッシュします。
GET /bangumi/refresh/poster/{bangumi_id}
特定のアニメのポスター画像をリフレッシュします。
カレンダー
GET /bangumi/refresh/calendar
Bangumi.tvからアニメ放送カレンダーデータをリフレッシュします。
すべてリセット
GET /bangumi/reset/all
すべてのアニメルールを削除します。注意して使用してください。
RSSフィード
すべてのフィードをリスト
GET /rss
設定されたすべてのRSSフィードを取得します。
フィードの追加
POST /rss/add
新しいRSSフィード購読を追加します。
リクエストボディ:
{
"url": "string",
"aggregate": true,
"parser": "mikan"
}
フィードの有効化 / 無効化
POST /rss/enable/many
複数のRSSフィードを有効化します。
PATCH /rss/disable/{rss_id}
単一のRSSフィードを無効化します。
POST /rss/disable/many
複数のRSSフィードを一括無効化します。
フィードの削除
DELETE /rss/delete/{rss_id}
単一のRSSフィードを削除します。
POST /rss/delete/many
複数のRSSフィードを一括削除します。
フィードの更新
PATCH /rss/update/{rss_id}
RSSフィードの設定を更新します。
フィードのリフレッシュ
GET /rss/refresh/all
すべてのRSSフィードのリフレッシュを手動でトリガーします。
GET /rss/refresh/{rss_id}
特定のRSSフィードをリフレッシュします。
フィードからトレントを取得
GET /rss/torrent/{rss_id}
特定のRSSフィードから解析されたトレントのリストを取得します。
分析と購読
POST /rss/analysis
RSS URLを分析し、購読せずにアニメのメタデータを抽出します。
リクエストボディ:
{
"url": "string"
}
POST /rss/collect
RSSフィードからすべてのエピソードをダウンロードします(完結したアニメ用)。
POST /rss/subscribe
自動継続ダウンロード用にRSSフィードを購読します。
検索
番組検索(Server-Sent Events)
GET /search/bangumi?keyword={keyword}&provider={provider}
アニメのトレントを検索します。リアルタイム更新のためにServer-Sent Events(SSE)ストリームとして結果を返します。
クエリパラメータ:
keyword— 検索キーワードprovider— 検索プロバイダー(例:mikan、nyaa、dmhy)
レスポンス: 解析された検索結果を含むSSEストリーム。
検索プロバイダーのリスト
GET /search/provider
利用可能な検索プロバイダーのリストを取得します。
プログラム制御
ステータスの取得
GET /status
バージョン、実行状態、first_runフラグを含むプログラムステータスを取得します。
レスポンス:
{
"status": "running",
"version": "3.2.0",
"first_run": false
}
プログラムの開始
GET /start
メインプログラム(RSSチェック、ダウンロード、リネーム)を開始します。
プログラムの再起動
GET /restart
メインプログラムを再起動します。
プログラムの停止
GET /stop
メインプログラムを停止します(WebUIはアクセス可能なまま)。
シャットダウン
GET /shutdown
アプリケーション全体をシャットダウンします(Dockerコンテナを再起動します)。
ダウンローダーのチェック
GET /check/downloader
設定されたダウンローダー(qBittorrent)への接続をテストします。
ダウンローダー管理
AutoBangumiから直接ダウンローダー内のトレントを管理します。
トレントのリスト
GET /downloader/torrents
Bangumiカテゴリ内のすべてのトレントを取得します。
トレントの一時停止
POST /downloader/torrents/pause
ハッシュでトレントを一時停止します。
リクエストボディ:
{
"hashes": ["hash1", "hash2"]
}
トレントの再開
POST /downloader/torrents/resume
ハッシュで一時停止したトレントを再開します。
リクエストボディ:
{
"hashes": ["hash1", "hash2"]
}
トレントの削除
POST /downloader/torrents/delete
オプションでファイル削除を伴うトレントを削除します。
リクエストボディ:
{
"hashes": ["hash1", "hash2"],
"delete_files": false
}
セットアップウィザード
これらのエンドポイントは、初回実行セットアップ中(セットアップ完了前)にのみ利用可能です。認証は不要です。セットアップ完了後、すべてのエンドポイントは403 Forbiddenを返します。
セットアップステータスの確認
GET /setup/status
セットアップウィザードが必要かどうか(初回実行)を確認します。
レスポンス:
{
"need_setup": true
}
ダウンローダー接続のテスト
POST /setup/test-downloader
提供された認証情報でダウンローダーへの接続をテストします。
リクエストボディ:
{
"type": "qbittorrent",
"host": "172.17.0.1:8080",
"username": "admin",
"password": "adminadmin",
"ssl": false
}
RSSフィードのテスト
POST /setup/test-rss
RSS URLがアクセス可能で解析可能か検証します。
リクエストボディ:
{
"url": "https://mikanime.tv/RSS/MyBangumi?token=xxx"
}
通知のテスト
POST /setup/test-notification
提供された設定でテスト通知を送信します。
リクエストボディ:
{
"type": "telegram",
"token": "bot_token",
"chat_id": "chat_id"
}
セットアップの完了
POST /setup/complete
すべての設定を保存し、セットアップを完了としてマークします。センチネルファイルconfig/.setup_completeを作成します。
リクエストボディ: 完全な設定オブジェクト。
ログ
ログの取得
GET /log
完全なアプリケーションログファイルを取得します。
ログのクリア
GET /log/clear
ログファイルをクリアします。
レスポンス形式
すべてのAPIレスポンスは一貫した形式に従います:
{
"msg_en": "Success message in English",
"msg_zh": "Success message in Chinese",
"status": true
}
エラーレスポンスには、両方の言語でのエラーメッセージとともに適切なHTTPステータスコード(400、401、403、404、500)が含まれます。