mpp-proxy ↗ テンプレートは、任意の HTTP バックエンドの手前に置く Cloudflare Worker です。保護対象のルートにリクエストが届くと、プロキシは MPP の決済チャレンジ付きで 402 を返します。クライアントが支払うと、プロキシは決済を検証し、オリジンへリクエストを転送し、1 時間有効なセッション Cookie を発行します。
mpp-proxy テンプレートを Cloudflare アカウントへデプロイします。
- Cloudflare アカウント ↗
- ゲート対象の HTTP バックエンド
- 入金を受け取るウォレットアドレス
保護するルートを wrangler.jsonc で定義します。
{
"vars": {
"PAY_TO": "0xYourWalletAddress",
"TEMPO_TESTNET": false,
"PAYMENT_CURRENCY": "0x20c000000000000000000000b9537d11c60e8b50",
"PROTECTED_PATTERNS": [
{
"pattern": "/premium/*",
"amount": "0.01",
"description": "Access to premium content for 1 hour"
}
]
}
}Bot Management を使うと、クローラーには課金し、人間にはサイトを無料のままにできます。
{
"pattern": "/content/*",
"amount": "0.25",
"description": "Content access for 1 hour",
"bot_score_threshold": 30,
"except_detection_ids": [120623194, 117479730]
}ボットスコアが bot_score_threshold 以下のリクエストは、ペイウォールへ誘導されます。特定のクローラーを許可するには、detection ID を except_detection_ids に指定します。
テンプレートをクローンし、wrangler.jsonc を編集してデプロイします。
git clone https://github.com/cloudflare/mpp-proxy
cd mpp-proxy
npm install
npx wrangler secret put JWT_SECRET
npx wrangler secret put MPP_SECRET_KEY
npx wrangler deploy設定オプション、プロキシモード、Bot Management の例の全体は、mpp-proxy README ↗ を参照してください。
Worker に MPP ミドルウェアを直接追加する場合は、MPP で決済を受け付ける を参照してください。
- mpp.dev ↗ — プロトコル仕様
- Pay Per Crawl — カスタムコードなしで使える、Cloudflare ネイティブの収益化