Privacy Proxy — CORS プロキシ専用デバッグ & クライアント(単一HTML)

準備完了
Diagnostic log
ログがここに出ます — Test Proxy を先に実行してください。
Quick Diagnostics
  1. まず を押して、プロキシが CORS ヘッダを返すかチェック。
  2. 直接取得が CORS により失敗する場合、自動でプロキシ経由にフォールバックします。
Server-side: 必要な最小 CORS 設定(Node.js 例)
このコードを server.js として使い、必ずレスポンスに Access-Control-Allow-Origin を含めてください。以下は最小限です:
// server.js (最小サンプル — CORS を有効にすること)
// npm i express node-fetch
const express = require('express');
const fetch = require('node-fetch');
const app = express();

app.get('/fetch', async (req, res) => {
  const url = req.query.url;
  if (!url) return res.status(400).send('missing url');

  try {
    const r = await fetch(url, { redirect:'follow' });
    const contentType = r.headers.get('content-type') || 'application/octet-stream';
    const body = await r.buffer();

    // *** 重要: CORS ヘッダを返すこと ***
    res.set('Access-Control-Allow-Origin', '*');
    res.set('Access-Control-Allow-Methods', 'GET,OPTIONS');
    res.set('Access-Control-Allow-Headers', 'Content-Type');

    // 安全上、本番では Referer/Cookie 等を転送しないこと
    res.set('Content-Type', contentType);
    res.send(body);
  } catch(err){
    console.error(err);
    res.status(502).send('upstream fetch error');
  }
});
app.listen(3000);
        
重要: 本番では Access-Control-Allow-Origin: * は慎重に扱ってください。認証や許可制御を導入することを強く推奨します。
Result (sanitized)
表示は sandboxed iframe に読み込みます(スクリプト実行不可)。サニタイズ済の HTML を提供します。
How it works(このツールの挙動)
  1. まず target に直接 fetch(CORSあり)を試みます。成功すればそのままサニタイズして表示。
  2. 直接取得が失敗(CORS でブロックなど)したら、ユーザーが指定した proxyTemplate に自動でフォールバックして再取得を試みます。
  3. proxyTemplate は {url} を置き換えます。例: https://myproxy.example/fetch?url={url}
  4. Test Proxy はプロキシの到達性と、CORS ヘッダ(Access-Control-Allow-Origin)を確認します。これが無いとブラウザ側で利用できません。
このコードのように作れるんです。作ってください。