إعادة كتابة الرابط
يستطيع Chute إعادة كتابة رابط الطلب بطرق مختلفة، أو رفض طلبات معينة حسب الرابط.
يمكن تطبيق قاعدة واحدة فقط لكل طلب.
مثال:
[URL Rewrite]
^http://www\.google\.cn http://www.google.com header
^http://amazon\.cn https://z.cn 302
^http://ad\.com/ad\.png _ reject
^http://tracker\.com/event _ reject-200
^http://ad\.com/pixel _ reject-img
^http://api\.example\.com/block _ reject-dict
تتكون قاعدة إعادة الكتابة من 3 أجزاء: تعبير نمطي، الاستبدال، والنوع.
نمط الترويسة
سيعدل Chute ترويسة الطلب ويعيد توجيه الطلب إلى مضيف آخر إذا لزم الأمر. لن يلاحظ العميل إجراء إعادة الكتابة هذا.
سيتم تعديل حقل "Host" في ترويسة الطلب ليطابق الرابط الجديد.
[URL Rewrite]
^http://www\.google\.cn http://www.google.com header
عندما يتعذر إعادة كتابة الوجهة في مكانها — على سبيل المثال إعادة كتابة طلب HTTP عادي إلى رابط
https://، أو إعادة كتابة طلب HTTPS (مع تفعيل MitM) إلى أصل (origin) مختلف — يتراجع Chute تلقائياً إلى الرد على العميل بإعادة توجيه 307 إلى الرابط الجديد بدلاً من إعادة كتابة الترويسة الشفافة.
نمط 302
سيرجع Chute ببساطة استجابة إعادة توجيه 302. يمكن إعادة توجيه طلبات HTTPS إذا تم تفعيل MitM لاسم المضيف.
[URL Rewrite]
^http://amazon\.cn https://z.cn 302
نمط 307
سيرجع Chute ببساطة استجابة إعادة توجيه مؤقت 307. يمكن إعادة توجيه طلبات HTTPS إذا تم تفعيل MitM لاسم المضيف.
[URL Rewrite]
^http://amazon\.cn https://z.cn 307
نمط الرفض
رفض الطلب إذا تطابق النمط. سيتم تجاهل معامل الاستبدال. يرجع استجابة HTTP 503. سيتم رفض طلبات HTTPS إذا تم تفعيل MitM لاسم المضيف.
[URL Rewrite]
^http://ad\.com/ad\.png _ reject
نمط Reject-200
رفض الطلب بحالة HTTP 200 OK ومحتوى بطول صفر. مفيد لحظر طلبات التتبع بصمت دون تشغيل معالجة الأخطاء.
[URL Rewrite]
^http://tracker\.com/event _ reject-200
نمط Reject-Img
رفض الطلب بإرجاع صورة GIF شفافة 1x1 (HTTP 200 OK). مفيد لحظر صور الإعلانات دون التسبب في ظهور عناصر نائبة للصور المكسورة.
[URL Rewrite]
^http://ad\.com/pixel _ reject-img
نمط Reject-Dict
رفض الطلب بإرجاع كائن JSON فارغ {} (HTTP 200 OK). مفيد لحظر استدعاءات API التي تتوقع استجابة JSON.
[URL Rewrite]
^http://api\.example\.com/block _ reject-dict