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

Glance एक सेल्फ-होस्टेड वेब एनालिटिक्स सर्विस है जिसे एक सिंगल Go बाइनरी (एक SQLite फ़ाइल द्वारा समर्थित) या एक Docker कंटेनर के रूप में उपलब्ध कराया गया है। इसे जानबूझकर एक सीमित डेटा सेट तक सीमित रखा गया है, न कि एक पूर्ण उत्पाद एनालिटिक्स प्लेटफॉर्म के रूप में: इसमें विज़िटर्स, पेज व्यूज़, टॉप पेज, रेफरर्स, देश और क्षेत्र, डिवाइस, ब्राउज़र, ऑपरेटिंग सिस्टम और सरल कस्टम इवेंट्स शामिल हैं। इसमें सेशन, फनल, कोहोर्ट, हीटमैप या सेशन रिप्ले जैसी सुविधाएँ नहीं हैं। ट्रैकिंग: साइटें /glance.js से सर्व किए गए लगभग 1 KB के कुकी-लेस स्निपेट को एम्बेड करती हैं। यह sendBeacon के साथ प्रति पेज व्यू एक छोटा JSON बॉडी पोस्ट करता है और सिंगल-पेज ऐप्स के लिए pushState और popstate पर पुनः भेजता है। पेज से कस्टम इवेंट्स फायर किए जा सकते हैं, जिनमें प्रॉपर्टीज़ स्वीकार की जाती हैं लेकिन वर्तमान में उन्हें अनदेखा किया जाता है। सर्वर साइट के डोमेन के विरुद्ध पेज होस्ट को वैलिडेट करता है, ज्ञात बॉट्स, webdriver-फ्लैग वाले ब्राउज़रों और ओवरसाइज़्ड बॉडीज़ को हटा देता है, और हमेशा 202 उत्तर देता है। Localhost और प्राइवेट-LAN एड्रेस स्वीकार किए जाते हैं ताकि डिप्लॉयमेंट से पहले साइट का परीक्षण किया जा सके। व्युत्पन्न आयामों (derived dimensions) में ब्राउज़र, OS, डिवाइस, देश, क्षेत्र और कैंपेन टैग शामिल हैं। प्राइवेसी: कोई कुकीज़ नहीं और कोई स्टोर किए गए IP नहीं। एक विज़िटर की पहचान डेली साल्ट प्लस साइट, IP और यूजर एजेंट के ट्रंकेटेड SHA-256 हैश द्वारा की जाती है; साल्ट हर UTC दिन बदलता है और पर्सिस्ट किया जाता है, इसलिए विज़िटर्स को एक दिन से दूसरे दिन तक ट्रैक नहीं किया जा सकता। एक दिन की विज़िटर संख्या सटीक होती है, जबकि बहु-दिवसीय कुल योग दैनिक यूनिक विज़िटर्स का योग होता है। देश और क्षेत्र प्रॉक्सी कंट्री हेडर से आते हैं, अन्यथा IANA-व्युत्पन्न टेबल के माध्यम से मैप किए गए ब्राउज़र टाइम ज़ोन से आते हैं; क्षेत्र उस ज़ोन का सिटी हिस्सा होते हैं, इसलिए सिटी-लेवल रिपोर्ट उपलब्ध नहीं हैं। रेफरर्स को केवल होस्ट तक सीमित किया गया है और सामान्य होस्ट्स को एलियास किया गया है। आर्किटेक्चर: इवेंट्स एक इन-मेमोरी क्यू (queue) में जाते हैं और रिक्वेस्ट पाथ पर डेटाबेस को नहीं छूते; एक राइटर goroutine हर सेकंड या हर 200 इवेंट्स में एक ट्रांजेक्शन में क्यू को कमिट करता है। प्रति मिनट और डैशबोर्ड खुलने पर रॉ इवेंट्स से प्रति घंटा और दैनिक रोलअप्स फिर से बनाए जाते हैं, और डैशबोर्ड केवल रोलअप्स को पढ़ता है। रॉ इवेंट्स को रिटेंशन पीरियड (डिफ़ॉल्ट 7 दिन, न्यूनतम 2, एनवायरनमेंट वेरिएबल द्वारा पिन किए जाने तक 90 तक एडजस्टेबल) के बाद हटा दिया जाता है; रोलअप्स को अनिश्चित काल तक रखा जाता है। Favicons स्वयं Glance द्वारा एक SSRF गार्ड के माध्यम से प्राप्त किए जाते हैं जो लूपबैक, प्राइवेट, लिंक-लोकल और कैरियर-ग्रेड NAT एड्रेस को अस्वीकार करता है, और मैप MapLibre के साथ रेंडर किए गए बंडल Natural Earth आउटलाइन्स का उपयोग करता है, इसलिए रनटाइम पर किसी तीसरे पक्ष की सेवाओं की आवश्यकता नहीं होती है। डैशबोर्ड और API: एम्बेडेड Svelte UI हर साइट को एक favicon, 14-दिवसीय स्पार्कलाइन और पिछले सप्ताह के मुकाबले इस सप्ताह के विज़िटर्स के साथ सूचीबद्ध करता है, जिसमें ड्रैग-टू-रीऑर्डर की सुविधा है। प्रति साइट, यह 24h से 180d के पिछले समान विंडो के मुकाबले बदलाव के साथ कुल आंकड़े, एक चार्ट, पिछले 30 मिनट में सक्रिय लोग, टैब किए गए ब्रेकडाउन कार्ड (पेज, सोर्स, लोकेशन, डिवाइस, इवेंट), एक्सपेंडेबल फ़िल्टर करने योग्य सूचियाँ, पिछले पांच मिनट का लाइव 3D ग्लोब और एक रेंज मैप दिखाता है, साथ ही नाम, डोमेन, डिफॉल्ट रेंज, एक्सेंट कलर और होम कंट्री के लिए प्रति-साइट सेटिंग्स प्रदान करता है। एंडपॉइंट्स /api/v1 के तहत हैं और collect, sites, stats, breakdown, live, favicons, rollup, status, settings, export और टोकन मैनेजमेंट को कवर करते हैं। एडमिन ऑथेंटिकेशन सेशन कुकीज़ या HTTP Basic का उपयोग करता है; API टोकन हैश के रूप में स्टोर किए जाते हैं और रीड-ओनली होते हैं। अतिरिक्त सुविधाएँ: /mcp पर एक रीड-ओनली Model Context Protocol एंडपॉइंट (Streamable HTTP) AI एजेंटों के लिए list_sites, overview, site_stats, breakdown, search_terms और रेवेन्यू सहित टूल्स एक्सपोज़ करता है; Glance के अंदर कोई LLM नहीं है। वैकल्पिक इंटीग्रेशन OAuth के माध्यम से Google Search Console सर्च टर्म्स (webmasters.readonly स्कोप, कनेक्ट होने पर लगभग 16 महीने का डेटा खींचा जाता है और दैनिक रिफ्रेश किया जाता है) और Polar रेवेन्यू जोड़ते हैं, जिसमें फर्स्ट-टच एट्रिब्यूशन विज़िटर के अपने ब्राउज़र localStorage में याद रखा जाता है और चेकआउट मेटाडेटा के माध्यम से पास किया जाता है। डिप्लॉयमेंट गाइडेंस में Docker Compose और linux/amd64 और linux/arm64 के लिए प्रीबिल्ट ghcr.io इमेज, Dokploy-स्टाइल होस्ट्स के लिए एक अलग कंपोज़ फ़ाइल, और Go 1.27, Node 24 और प्योर-Go SQLite ड्राइवर के साथ सोर्स से बिल्ड करना शामिल है। प्रकाशित इमेज लगभग 37 MB की है और आइडल मोड में 10 MB से कम मेमोरी का उपयोग करती है। लाइसेंस: MIT।