適切な出発点として使用できるオープン ソースの HTTP キャッシング プロキシはありますか?
次の目的を達成するために、個人用の HTTP キャッシング プロキシを作成します。
- リモート サイトの速度が遅くても、コンテンツを即座に提供する
- ネットワークがダウンしていてもコンテンツを提供する
- 必要に応じて古いコンテンツを読むことを許可する
なぜ私はこれをしたいのですか?
- 私の地域のインターネット接続の速度は、決して素晴らしいものではありません。
- HTTP ヘッダーでコンテンツをキャッシュしないように指示されていても、コンテンツをキャッシュしたい
- 過去に読んだコンテンツにすばやくアクセスできなかったときは、本当に好きではありません。
- ウェブサイトが有用なコンテンツを削除し、元に戻す方法が見つからない場合、私は無力感を覚えます
プロジェクトの構成要素
- ローカル ネットワーク (またはおそらく localhost) で実行されているプロキシ、および
- コンテンツの更新通知を表示するブラウザ プラグインまたはデスクトップ プログラム
プロキシの特別な点は何ですか?
- ブラウザが HTTP リクエストを開始する
- コンテンツが既にキャッシュにある場合、プロキシは最初にコンテンツを提供します。
- 次に、プロキシはリモート Web サイトに接続し、コンテンツが更新されているかどうかを確認します。
- コンテンツが更新された場合は、デスクトップ/ブラウザーに通知を送信し (小さなポップアップを表示したり、プラグイン アイコンの色を変更するなど)、バックグラウンドでコンテンツをダウンロードします。
- プロキシが新しいコンテンツをダウンロードするたびに、キャッシュに保存します
- 更新されたコンテンツをロードするかどうかを選択させてください (ロードしない場合は、新しいコンテンツのダウンロードを停止します。ロードする場合は、新しいコンテンツを私にストリーミングします)
- 特定の Web サイトから新しいコンテンツを常にロードする/ロードしないようにルールを割り当てさせてください
- プロキシが (1) 特定の Web サイトから常に新しいコンテンツを読み込みたい、または (2) Web サイトのコンテンツが頻繁に更新されることを検出した場合に、ルールを自動的に設定します。
ノート:
- プロキシに物理的にアクセスできるのは私だけであり、プロキシは (ローカル ネットワークから) 私だけにサービスを提供しているため、すべてをキャッシュしてもセキュリティ上の問題は発生しません。
- これは技術的に実現可能だと思います(アーキテクチャ上の問題があれば教えてください)
- 古いバージョンの Web ページを保持するかどうかはまだ決めていません。しかし、私の毎日の帯域幅の使用量がわずか 1 ~ 2 GB であることを考えると、安価な 1 TB のハード ドライブで 2 年間のデータを簡単に保持できます。
私の計画は理にかなっていますか?提案/異議/推奨事項はありますか?