TRACIO प्रत्येक विज़िटर के IP पते का सर्वर-साइड विश्लेषण करता है। यह VPN, प्रॉक्सी, Tor एग्ज़िट नोड और डेटासेंटर मूल को फ़्लैग करता है, और शहर-स्तरीय जियोलोकेशन को रिज़ॉल्व करता है। पूरा विश्लेषण बिना किसी क्लाइंट-साइड निर्भरता के सर्वर-साइड चलता है।
IP intelligence आपके एप्लिकेशन तक webhook payload के माध्यम से पहुँचती है:
network ऑब्जेक्ट (VPN/प्रॉक्सी/Tor/डेटासेंटर बूलियन के साथ कनेक्शन प्रकार) और
geo ऑब्जेक्ट (देश, शहर, निर्देशांक, टाइमज़ोन) प्रत्येक webhook पर
डिलीवर किए जाते हैं। ISP और ASN Business तथा उससे ऊपर के प्लान में जुड़ते हैं।
पूर्ण payload संरचना और सिग्नेचर सत्यापन के लिए Webhooks देखें।
VPN, प्रॉक्सी, Tor और डेटासेंटर वर्गीकरण को कनेक्ट करने वाले IP से
वाणिज्यिक IP intelligence डेटाबेस का उपयोग करके रिज़ॉल्व किया जाता है (VPN/प्रॉक्सी/Tor प्रकार के लिए IP2Location,
जियोलोकेशन और ASN के लिए MaxMind)। प्रत्येक को webhook के network ऑब्जेक्ट पर एक ही बूलियन के
रूप में प्रस्तुत किया जाता है — सार्वजनिक payload में प्रति-विधि विवरण या कॉन्फिडेंस स्कोर
नहीं होता।
| Flag | Field | Meaning |
|---|---|---|
| VPN | network.vpn | IP किसी ज्ञात VPN प्रदाता से संबंधित है |
| Proxy | network.proxy | IP एक डेटासेंटर या रेज़िडेंशियल प्रॉक्सी है |
| Tor | network.tor | IP एक ज्ञात Tor एग्ज़िट नोड है |
| Datacenter | network.datacenter | IP किसी क्लाउड/होस्टिंग प्रदाता से संबंधित है |
{ "network": { "vpn": true, "proxy": true, "tor": false, "datacenter": false, "connectionType": "VPN" }}// `payload` is the webhook delivery body (/docs/webhooks)if (payload.network.vpn) { // visitor is connecting through a VPN}डेटासेंटर और रेज़िडेंशियल प्रॉक्सी दोनों network.proxy के रूप में सामने आते हैं; डेटासेंटर
मूल को अतिरिक्त रूप से network.datacenter के रूप में रिपोर्ट किया जाता है। वर्गीकरण
IP2Location प्रॉक्सी डेटाबेस से आता है, जो प्रमुख क्लाउड/होस्टिंग प्रदाताओं को कवर करता है (AWS,
Google Cloud, Azure, Oracle Cloud, Alibaba Cloud, DigitalOcean, Hetzner, OVH,
Linode/Akamai, Vultr, और अन्य)।
{ "network": { "vpn": false, "proxy": true, "tor": false, "datacenter": true, "connectionType": "DCH" }}कनेक्ट करने वाले IP पर Tor एग्ज़िट-नोड मैच network.tor के रूप में सामने आता है। इससे अलग,
Tor Browser को स्वयं उसके एंटी-फ़िंगरप्रिंटिंग कॉन्फ़िगरेशन से क्लाइंट-साइड
पहचाना जाता है, नेटवर्क पथ से स्वतंत्र रूप से — देखें
Smart Signals।
शहर-स्तरीय जियोलोकेशन को कनेक्ट करने वाले IP से सर्वर-साइड रिज़ॉल्व किया जाता है
(MaxMind) और webhook के geo ऑब्जेक्ट पर डिलीवर किया जाता है।
| Field | Type | Description | Plan |
|---|---|---|---|
geo.country | string | ISO 3166-1 alpha-2 देश कोड | सभी |
geo.city | string | शहर का नाम | सभी |
geo.lat | number | अनुमानित अक्षांश | सभी |
geo.lon | number | अनुमानित देशांतर | सभी |
geo.timezone | string | IANA टाइमज़ोन पहचानकर्ता | सभी |
{ "geo": { "country": "CZ", "city": "Prague", "lat": 50.05, "lon": 14.4, "timezone": "Europe/Prague" }}Business और Enterprise प्लान में कैरियर की भी पहचान होती है। webhook payload में दोनों फ़ील्ड
network ऑब्जेक्ट पर होते हैं:
{ "network": { "vpn": false, "proxy": false, "tor": false, "datacenter": false, "isp": "Comcast Cable", "asn": 7922 }}Data API से सेशन पढ़ने पर बँटवारा थोड़ा अलग होता है: isp geo पर होता है
और asn network पर। डेटा वही है, सतहें दो हैं — फ़ील्ड को वहीं से पढ़ें जहाँ आपके द्वारा उपयोग की
जा रही सतह उसे रखती है।
Pro और उससे ऊपर webhook एक velocity ब्लॉक ले जाता है — विज़िटर हाल ही में कितना
इधर-उधर आया-गया है:
| Field | Type | Description |
|---|---|---|
velocity.events5m | number | पिछले 5 मिनट में इस विज़िटर की घटनाएँ |
velocity.uniqueIps | number | इस विज़िटर के लिए देखे गए अलग-अलग IP |
velocity.uniqueLocations | number | इस विज़िटर के लिए देखे गए अलग-अलग स्थान |
यह ब्लॉक तब मौजूद होता है जब घटना के समय विज़िटर काउंटर उपलब्ध हों (सामान्यतः primary
फ़ेज़)। ब्लॉक का न होना “डेटा नहीं” का अर्थ रखता है, शून्य का नहीं — इसकी अनुपस्थिति को
“कोई असामान्य गतिविधि नहीं” न मानें।
IP-ब्लॉकलिस्ट मिलान सार्वजनिक अनुबंध का हिस्सा नहीं है: न तो webhook payload और न ही
डैशबोर्ड ब्लॉकलिस्ट श्रेणियों को उजागर करता है। नेटवर्क जोखिम के लिए webhook सतह बूलियन
network फ़्लैग, कनेक्शन प्रकार और ऊपर दिए गए वेलोसिटी काउंटर हैं; जोखिम निर्णयों के लिए
इन्हें decision और bot फ़ील्ड के साथ उपयोग करें (देखें
Smart Signals)।
यह सीधे webhook payload के network ऑब्जेक्ट को पढ़ता है। पूर्ण payload और सिग्नेचर सत्यापन के लिए देखें
Webhooks।
// `payload` is the webhook delivery body (/docs/webhooks)function assessIPRisk(payload: WebhookPayload) { const { vpn, proxy, tor, datacenter } = payload.network
const risks: string[] = [] let riskLevel = "low"
if (tor) { risks.push("Tor exit node") riskLevel = "critical" }
if (vpn) { risks.push("VPN detected") riskLevel = riskLevel === "low" ? "medium" : riskLevel }
if (proxy) { risks.push("Proxy detected") riskLevel = riskLevel === "low" ? "medium" : riskLevel }
if (datacenter) { risks.push("Datacenter IP") riskLevel = riskLevel === "low" ? "medium" : riskLevel }
return { riskLevel, risks }}