عن المشروع

Aurora هو تطبيق تحليلات ويب مفتوح المصدر ومستضاف ذاتياً، مصمم لقياس حركة مرور الموقع الإلكتروني دون تخزين أي شيء على أجهزة الزوار. فهو لا يستخدم ملفات تعريف الارتباط (cookies)، ولا localStorage، ولا البصمة الرقمية (fingerprinting)، ويحتفظ ببيانات الأحداث في قاعدة بيانات PostgreSQL يتحكم فيها المشغل. ويبلغ حجم نص التتبع الخاص بالمتصفح 2.4 كيلوبايت عند النقل. يتم تحديد الزوار من خلال HMAC متغير مشتق من عنوان IP، ووكيل المستخدم (user agent)، وملح (salt) من جانب الخادم. وتتغير مدخلات التجزئة (hash) يومياً، لذا لا يمكن ربط معرفات الزوار عبر الأيام، ولا يُقصد أن يكون أي شيء يغادر المتصفح قابلاً للتتبع إلى شخص معين. ويُطرح هذا النهج كونه ذا صلة بالمادة 5(3) من لائحة ePrivacy، لأن تخزين المعلومات في المعدات الطرفية مثل localStorage يُعامل بشكل مشابه لملفات تعريف الارتباط. تعرض لوحة التحكم الزيارات، والزوار الفريدين، والجلسات، ومعدل الارتداد، ومتوسط مدة الجلسة لنطاق زمني ومنطقة زمنية محددة. وتتضمن سلسلة زمنية عبر Recharts وتفصيلات للصفحات، والمحيلات، وقنوات الاستحواذ، والدول، والمتصفحات، وأنظمة التشغيل، والأجهزة، واللغات، ومعلمات UTM. يمكن أن تحمل الأحداث المخصصة خصائص قياسية وقيم إيرادات، مع عملات ISO-4217. كما يمكن تحديد الموقع كعام لعرض لوحة تحليلات للقراءة فقط دون الحاجة إلى تسجيل الدخول. يتوفر النشر من خلال صور Docker المنشورة لنظامي linux/amd64 و linux/arm64. تتضمن التكوينات المطلوبة DATABASE_URL و SESSION_SECRET، بينما يكون AURORA_SALT مطلوباً في بيئة الإنتاج. ويُنصح بشدة باستخدام AURORA_IP_HEADER حتى يحدد الوكيل الموثوق بيانات IP للعميل؛ وإذا لم يتم تعيينه، سيقوم التطبيق بإصدار تحذير والرجوع إلى الرؤوس التي يمكن للعملاء تعيينها. أما AURORA_COUNTRY_HEADER فهو اختياري للحصول على رمز الدولة من الحافة (edge). لتتبع موقع ما، توفر لوحة التحكم علامة script مع معرف الموقع. يتم تتبع مشاهدات الصفحات وتغييرات المسار من جانب العميل تلقائياً. تستدعي الأحداث المخصصة دالة aurora عالمية، والتي تقوم بجدولة الاستدعاءات التي تمت قبل تحميل النص البرمجي. تقبل الخصائص القيم القياسية فقط، بما يصل إلى 24 مفتاحاً. يتطلب التطوير Node 20+ و pnpm 10. المشروع عبارة عن pnpm workspace مع تطبيق ويب React Router وحزمة تتبع مدمجة في النص البرمجي المقدم. يستخدم Drizzle على PostgreSQL، و Tailwind CSS مع shadcn/ui، و Recharts، و Vitest، و oxlint/oxfmt. تتبع الالتزامات (Commits) معيار Conventional Commits، ويتم أتمتة الإصدارات باستخدام release-please، ويتبع الإصدار SemVer. يوصف Aurora 4 بأنه إعادة كتابة شاملة من الصفر دون مسار هجرة من الإصدارات 1.x أو 2.x. المشروع مرخص بموجب رخصة MIT.