Skip to Content

Cloudflare Workers

يعد اعتراض حركة المرور عند الحافة الطريقة الأكثر كفاءة لاستخدام ProxyTracer. من خلال تطبيق هذه البرمجية الوسيطة في Cloudflare Worker، يتم إسقاط الطلبات الخبيثة على مستوى CDN قبل أن تستهلك موارد خادمك الأصلي.

التطبيق البرمجي

يستخرج هذا المقتطف عنوان IP الحقيقي للعميل باستخدام ترويسات Cloudflare الأصلية، ويستعلم من واجهة ProxyTracer API، ويرجع رمز 403 Forbidden صارماً إذا تم اكتشاف بروكسي.

export default { async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { // 1. استخراج عنوان IP الحقيقي (توفر Cloudflare هذا أصلياً) const ip = request.headers.get("cf-connecting-ip"); // التمرير إذا لم يتم العثور على IP (مثل التطوير المحلي) if (!ip) { return fetch(request); } try { // 2. الاستعلام من ProxyTracer API const ptResponse = await fetch(`https://api.proxytracer.com/v1/check/${ip}`, { method: "GET", headers: { "Authorization": `Bearer ${env.PROXYTRACER_API_KEY}` } }); if (ptResponse.ok) { const data = await ptResponse.json(); // 3. قطع الاتصال إذا تم اكتشاف بروكسي/VPN if (data.proxy === true) { return new Response( JSON.stringify({ error: "Access Denied: VPN or Proxy detected." }), { status: 403, headers: { "Content-Type": "application/json" } } ); } } } catch (error) { // Fail open: إذا تعذر الوصول لـ API، اسمح بحركة المرور لضمان استمرار الجاهزية console.error("ProxyTracer API Error:", error); } // 4. حركة المرور النظيفة تتابع إلى خادمك الأصلي return fetch(request); } };

ملاحظة أمنية: قم دائماً بتخزين PROXYTRACER_API_KEY كرمز سري مشفر في لوحة تحكم Cloudflare Worker، وليس كنص صريح أبداً.

آخر تحديث في