開発者向けの用途
EFVの上位版には、画像・カバーの暗号化、hlsを利用した二重暗号化、タイムスタンプによる保護とリクエスト数制限など、複数の保護機能があります。開発者は自分のシステムに組み込めます。仕組みと詳細はドキュメントをご覧ください。
hlsを利用した二重暗号化
このシステムはPolyvのホットリンク対策を参考にしています。hls.jsを変更して独自の復号ロジックを組み込み、双方向の共通鍵暗号化・復号を実現します。その暗号化・復号ロジック全体をJSの難読化で保護します。Polyvに類似した改造版HLS.JSにより、呼び出し先を指定ドメインに限定し、EFVのバックエンドと共通鍵で暗号化・復号します。ホットリンク、ダウンロード、セグメントの結合、保護の突破を防ぎ、利用できるドメインを制限します。
- 改造版
HLS.JSで、独自の暗号化・復号ロジックを実装しています。 EFVとフロントエンドのHLS.JSの間で共通鍵による暗号化・復号を行い、ホットリンク、セグメントの結合、ダウンロードを仕組みの根本から防ぎます。HLS.JSの多重暗号化・復号により、保護の突破は非常に困難です。コードは1万行以上あり、実際に試せばその難しさが分かります。- 通信の
KEYがあるため、保護の突破は不可能です。ホットリンク対策のKEYを変更するたびにHLS.JSを再生成すると、完全に新しいバージョンになります。わずか1分で保護の仕組み全体を刷新できます。 - 腕に自信のある方は、ぜひ保護の突破を試してください。不正に再生できたら、こちらの負けです!
画像・カバーの暗号化
画像暗号化を有効にすると、トランスコードで生成されたカバーとスクリーンショットがすべて、読めない暗号化ファイルになります。リンクを開くとファイルがダウンロードされ、画像の内容は表示されません。ブラウザーで正常に表示するには、フロントエンドで専用の復号用jsプラグインを使用します。いつでも無効にでき、無効にするとポスターやカバーは通常どおり表示されます。
画像・カバーのテキスト変換
テキスト変換は自動で有効になります。カバーやスクリーンショットの直接リンクを、bash64形式のtxtテキストへのリンクに動的に変換します。開くと画像ではなくテキストが表示され、サーバーのリソース消費も非常に少なくなります。フロントエンドでは、bash64の復号を使ってこのデータを利用できます。
タイムスタンプ保護とリクエスト数制限
設定でタイムスタンプと再生回数によるホットリンク対策を有効にし、keyを設定します。このkeyを使ってパラメーターを組み立て、md5で暗号化した結果をm3u8のURLに追加します。バックエンドはリンクとパラメーターを検証し、正しい場合にのみ通常のコンテンツを返します。正しくない場合は403を返すか、あらかじめ設定した複数の広告セグメントからランダムに1つを返します。