इस प्रोजेक्ट के बारे में

Aurora एक ओपन-सोर्स, सेल्फ-होस्टेड वेब एनालिटिक्स एप्लिकेशन है जिसे विज़िटर्स के डिवाइस पर कुछ भी स्टोर किए बिना वेबसाइट ट्रैफ़िक को मापने के लिए डिज़ाइन किया गया है। यह किसी भी कुकीज़, localStorage या फिंगरप्रिंटिंग का उपयोग नहीं करता है, और इवेंट डेटा को ऑपरेटर द्वारा नियंत्रित PostgreSQL डेटाबेस में रखता है। ब्राउज़र ट्रैकिंग स्क्रिप्ट का आकार 2.4 KB बताया गया है। विज़िटर्स की पहचान IP एड्रेस, यूजर एजेंट और सर्वर-साइड साल्ट से प्राप्त एक रोटेटिंग HMAC के माध्यम से की जाती है। हैश इनपुट दैनिक रूप से रोटेट होता है, इसलिए विज़िटर आईडी को दिनों के बीच लिंक नहीं किया जा सकता है, और ब्राउज़र से बाहर जाने वाली किसी भी चीज़ का उद्देश्य किसी व्यक्ति तक ट्रेस होना नहीं है। यह दृष्टिकोण ePrivacy Art. 5(3) के लिए प्रासंगिक बताया गया है, क्योंकि localStorage जैसे टर्मिनल उपकरणों में जानकारी स्टोर करना कुकीज़ के समान माना जाता है। डैशबोर्ड चयनित रेंज और टाइमज़ोन के लिए विज़िट्स, यूनिक विज़िटर्स, सेशन्स, बाउंस रेट और औसत सेशन अवधि दिखाता है। इसमें Recharts टाइमसीरीज़ और पेजों, रेफरर्स, एक्विजिशन चैनल्स, देशों, ब्राउज़र्स, ऑपरेटिंग सिस्टम, डिवाइसेस, भाषाओं और UTM पैरामीटर्स का ब्रेकडाउन शामिल है। कस्टम इवेंट्स स्केलर प्रॉप्स और रेवेन्यू वैल्यू ले जा सकते हैं, जिसमें ISO-4217 करेंसी का उपयोग होता है। लॉगिन के बिना रीड-ओनली एनालिटिक्स डैशबोर्ड दिखाने के लिए किसी साइट को पब्लिक मार्क किया जा सकता है। डिप्लॉयमेंट linux/amd64 और linux/arm64 के लिए प्रकाशित Docker इमेजेस के माध्यम से उपलब्ध है। आवश्यक कॉन्फ़िगरेशन में DATABASE_URL और SESSION_SECRET शामिल हैं, जबकि प्रोडक्शन में AURORA_SALT आवश्यक है। AURORA_IP_HEADER की दृढ़ता से अनुशंसा की जाती है ताकि ट्रस्टेड प्रॉक्सी हॉप क्लाइंट IP डेटा निर्धारित कर सके; यदि यह सेट नहीं है, तो एप्लिकेशन चेतावनी देता है और उन हेडर्स पर वापस जाता है जिन्हें क्लाइंट सेट कर सकते हैं। एज से कंट्री कोड के लिए AURORA_COUNTRY_HEADER वैकल्पिक है। साइट को ट्रैक करने के लिए, डैशबोर्ड साइट ID के साथ एक स्क्रिप्ट टैग प्रदान करता है। पेजव्यू और क्लाइंट-साइड रूट परिवर्तन स्वचालित रूप से ट्रैक किए जाते हैं। कस्टम इवेंट्स एक ग्लोबल aurora फंक्शन को कॉल करते हैं, जो स्क्रिप्ट लोड होने से पहले किए गए कॉल्स को क्यू (queue) करता है। प्रॉप्स केवल स्केलर स्वीकार करते हैं, अधिकतम 24 कीज़ तक। डेवलपमेंट के लिए Node 20+ और pnpm 10 की आवश्यकता होती है। यह प्रोजेक्ट एक pnpm वर्कस्पेस है जिसमें React Router वेब एप्लिकेशन और एक ट्रैकर पैकेज है जो सर्व्ड स्क्रिप्ट में बंडल किया गया है। यह PostgreSQL पर Drizzle, shadcn/ui के साथ Tailwind CSS, Recharts, Vitest, और oxlint/oxfmt का उपयोग करता है। कमिट्स Conventional Commits का पालन करते हैं, रिलीज़ release-please के साथ ऑटोमेटेड हैं, और वर्जनिंग SemVer का पालन करती है। Aurora 4 को पूरी तरह से नए सिरे से लिखे गए वर्जन के रूप में वर्णित किया गया है जिसमें 1.x या 2.x से कोई माइग्रेशन पाथ नहीं है। यह प्रोजेक्ट MIT लाइसेंस के तहत है।