ソフトウェアがインストール、視聴者、データを保護するために現在実装している内容です。これは機能の説明であり、認証や保証ではありません。ソフトウェアが動作するサーバーの保護は運営者が行います。
設計上のセルフホスト
すべてのコンポーネント(パネル、加入者 API、ワーカー、オリジン、ノード)は、運営者が管理するサーバー上で動作します。発行元がインストールから受け取るのは、運営者が有効にしたものだけです(アップデート確認はバージョンのみを送信し、TMDB 検索は検索したタイトルを送信します)。
アカウントとパネルへのアクセス
パネルアカウントにはロールと権限グループがあります。パスワードは bcrypt ハッシュで保存されます。時間ベースのワンタイムパスワード(TOTP)が利用でき、管理者に必須にできます。ログインはブルートフォースから保護され、ログインページには reCAPTCHA または Turnstile を任意で追加できます。すべての変更は、実行者とアドレス付きで監査ログに記録されます。
シークレットと保存データ
サーバーの SSH 認証情報、第三者の API キーなどのシークレットは、保存前にインストールのシークレットから導出した鍵で封印されます。Admin API キーはハッシュで保存され、一度だけ表示されます。回線(視聴者)のパスワードは、プレーヤーアプリに伝える必要があるため平文で保存されます。データベースの保護は運営者の責任です。
再生の保護
再生リンクは HMAC-SHA256 で署名され、期限があり、視聴者のアドレスに紐づけることができます。各回線には接続数の上限があり、国、ISP、アドレスのルールで視聴者をブロックまたは許可できます。ログインの失敗が繰り返されると自動的にブロックされます。DRM はありません。
バックアップと耐障害性
運営者が保持するパスフレーズで暗号化されたデータベースダンプのスケジュール実行、ダンプごとの復元チェック、S3 互換ストレージへの任意のオフサイトコピー、メンテナンスモードを備えています。ノードはオリジンにフォールバックし、ジョブはリースと期限付きで実行されます。
可視化
API、パネル、ワーカーの Prometheus メトリクスとヘルスエンドポイント、接続とトラフィックのビュー、メール・Telegram・署名付き Webhook によるアラート、サーバーへのすべての変更を記録するクラスターログがあります。
脆弱性の報告
件名を「Security」として [email protected] までご連絡ください。問題を再現できる説明を添えてください。詳細を公開する前に、修正のための時間をいただけますようお願いします。発行元はバグバウンティプログラムを実施していません。