مفتوح المصدر

Webhook Workbench

مفتوح المصدر · تصحيح webhooks بلغة Go

أداة خاصة تعمل على خادمك لالتقاط webhooks وفحصها والتحقق منها وإعادة إرسالها بأمان — ملف تنفيذي واحد بلغة Go بلا اعتماديات، والواجهة مدمجة فيه.

Webhook Workbench — معاينة

المشكلة

تصحيح webhooks يعني غالباً إرسال بيانات حقيقية إلى خدمة فحص خارجية.

الحل

ملف تنفيذي بلغة Go على خادمك يلتقط webhooks ويتحقق منها ويعيد إرسالها بأمان، مع حجب الأسرار قبل التخزين.

التفاصيل التقنية

تغطي الاختبارات حجب الأسرار والتحقق من التواقيع وإعادة الإرسال والحماية من SSRF. ملفات تنفيذية للإصدارات مع مجاميع تحقق (checksums)، وبيئة تجريبية حيّة.

نظرة عامة

يلتقط Webhook Workbench طلبات webhooks الواردة على أي قناة، ويعرض لكل طلب محتواه بعد فك ترميزه، والترويسات بعد حجب الأسرار، وأمر cURL جاهزاً لإعادة إنتاجه. وهو ملف تنفيذي واحد بلغة Go يعتمد على المكتبة القياسية وحدها، والواجهة مدمجة داخله، ولا يستمع افتراضياً إلا على localhost.

يمكن التحقق من التواقيع مقابل المحتوى الملتقَط نفسه لملفات تعريف GitHub وStripe (مع نافذة استلام مدتها خمس دقائق) وHMAC-SHA-256 العام، ويُستخدم السر مرة واحدة ولا يُخزَّن أبداً. ويمكن إعادة إرسال الطلبات الملتقَطة إلى عنوان تختاره، لكن بحذر: تُرفض العناوين الخاصة وعناوين loopback والعناوين غير HTTP، ويُعاد فحص DNS عند الاتصال، وتُقيَّد عمليات إعادة التوجيه، وتُحذف ترويسات التفويض والكوكيز وhop-by-hop.

يحتفظ بسجل أحداث محدود الحجم في لقطة JSON محلية، ويحفظ المحتوى الثنائي بترميز base64، ويوفّر نقطة نهاية لفحص الصحة. ويعمل إعداد Docker دون root، مع إسقاط صلاحيات Linux ونظام ملفات جذري للقراءة فقط، وتغطي الاختبارات حجب الأسرار والتحقق من التواقيع وإعادة الإرسال والحماية من SSRF.

ماذا يفعل

  • يلتقط طلبات HTTP بأي طريقة على المسار ‎/inbox/{channel}‎ ويعرض الحركة مباشرة
  • يتحقق من تواقيع GitHub وStripe وتواقيع HMAC-SHA-256 العامة
  • يعيد إرسال الطلبات بأمان مع حماية من هجمات SSRF
  • يحجب الأسرار قبل التخزين، مع مصادقة اختيارية برمز Bearer

الخطوة التالية

تبحث عن مطوّر Full-Stack أو Python أو ذكاء اصطناعي — أو تحتاج إلى بناء شيء مشابه؟ لنتحدث.

متاح فوراً — حضورياً أو بنظام هجين في موسكو، أو عن بُعد؛ بدوام كامل أو بعقد. أردّ خلال 48 ساعة — وأسرع عبر Telegram.

تواصل معي Telegramتحميل السيرة الذاتية

الحسن الفران.

© 2026 · صمّمته وبنيته بنفسي. التقنيات: Next.js وTailwind وFramer Motion.

توقيتي المحلي: · موسكو

ملاحظات
كيف بُني هذا الموقع

التقنيات

Next.js (App Router) وReact، مع Tailwind CSS للتنسيق وFramer Motion للحركة. يُرسل نموذج التواصل الرسائل عبر Resend، والموقع مستضاف على Vercel.

ثلاث لغات وتصميم واحد

لكل من النسخ الإنجليزية والروسية والعربية عنوانها الخاص (/en و/ru و/ar)، وكلها تستخدم المكوّنات نفسها. يعتمد التصميم على خصائص CSS المنطقية (start/end بدلاً من left/right)، فتنعكس النسخة العربية من اليمين إلى اليسار دون أنماط منفصلة. ويُرسل الخادم كل صفحة بلغتها واتجاه نصها مسبقاً، فلا ينقلب شيء بعد التحميل، ولا يُنزَّل الخط العربي إلا عند ظهور نص عربي على الشاشة.

الأداء وسهولة الوصول

لا تُعرض الأقسام الواقعة أسفل الشاشة الأولى إلا عند الاقتراب منها، ولا تُحمَّل القائمة السريعة إلا عند أول استخدام لها. يمكن استخدام كل شيء من لوحة المفاتيح، مع رابط للانتقال مباشرة إلى المحتوى وتركيز ظاهر، وتتوقف الحركة إذا طلب نظامك تقليلها.

الكود المصدري على GitHub