عن المشروع

Trace (ويُعرف أيضاً بـ T次方) هو امتداد Chrome مفتوح المصدر، يركز على تتبع سلوك المواقع والتحليل المتعمق للأمام. القدرات الأساسية تشمل: - **تتبع ملفات تعريف الارتباط**: تسجيل عمليات إعداد وقراءة ملفات تعريف الارتباط من قبل الموقع. - **تتبع الأحداث**: مراقبة تسجيل وتشغيل أحداث الصفحة. - **تتبع الكائنات**: عبر دالة hookProxy لتتبع معظم استدعاءات خصائص ودوال window وdocument. - **حقن السكريبتات**: إدراج كود JavaScript مخصص ديناميكياً في الصفحة الحالية. - **اعتراض الطلبات**: منع دقيق للطلبات الشبكية بناءً على التعبيرات النمطية، ساري المفعول عالمياً، مما يكمل قيود اعتراض طلبات Chrome المضمنة. - **تتبع المتغيرات**: تسجيل النصوص الناتجة أثناء التشغيل مع معلومات موقعها، مما يساعد في تحديد مصادر البيانات؛ بالاقتران مع تعطيل التخزين المؤقت والنقاط الفاصلة يمكن التقاط بيانات URL الحرجة قبل الانتقال. - **حل تشويش JS**: استخدام تحليل AST وغيرها من التقنيات لمحاولة استعادة الأكواد المشوشة. - **تدفق الاستجابة**: إعادة توجيه جسم استجابة الصفحة إلى عنوان محدد، وبالاقتران مع إضافة Babel يمكن تعديل الاستجابة بشكل مطلق، ونظرياً يمكن إتمام عمليات متقدمة مثل الحل التلقائي للتشويش. كما يكشف الامتداد واجهات مثل `Proxiable` و`DocProxiable` و`hookProxy` في بيئة التشغيل، مما يسهل إجراء Proxy Hook للأهداف المستهدفة مباشرة من Console. يدعم طرق التثبيت عدة خيارات: التثبيت من متجر Chrome، أو سحب ملف CRX للتحميل، أو تحميل الكود المصدري وإدراجه عبر وضع المطور باستخدام خيار Load unpacked. ينقسم الامتداد إلى صفحة Popup للسريع والتبديل وصفحة Options للإعدادات التفصيلية، ويُلاحظ أن ميزات مثل تتبع المتغيرات وتحليل التشويش وتدفق الاستجابة عند تفعيلها تعرض Chrome إشعار تصحيح، ولا يمكن إغلاقه خلال تلك الفترة، ويجب حفظ الإعدادات وإعادة تنشيطها لكل تاب محدد لتصبح سارية. يستخدم المشروع مترجم Babel وإطار Pico CSS، ويخضع لترخيص MIT.