ArachneControl – एक ओपन सोर्स डेटा कलेक्शन सिस्टम जिसमें सर्वर ब्राउज़र को रिमोट कंट्रोल करके डेटा इकट्ठा करता है
(github.com/TaewonyNet)यह एक self-hosted कलेक्शन सिस्टम है जो उपयोगकर्ता के वास्तविक ब्राउज़र सेशन के ज़रिए डेटा इकट्ठा करता है, लेकिन क्या और कैसे इकट्ठा करना है, यह सर्वर रनटाइम पर डायनामिक रूप से जारी करता है. सर्वर क्लाइंट (ब्राउज़र) को रिमोट कंट्रोल करने वाला Command-Execute-Report पैटर्न.
हर बार नया crawler लिखते समय आने वाली तीन समस्याएँ — टार्गेट backend पर लोड/ब्लॉकिंग, login wall, और कलेक्शन लॉजिक बदलने पर हर बार क्लाइंट को दोबारा डिप्लॉय करना — को यह डिज़ाइन के ज़रिए हल करता है.
- Zero-Footprint: टार्गेट सर्वर को सीधे request भेजे बिना, पहले से लॉग-इन उपयोगकर्ता का ब्राउज़र उसकी जगह कलेक्शन करता है → login wall के अंदर भी इंसान की तरह वही एक्सेस मिलता है, और backend लोड/ब्लॉकिंग से बचा जा सकता है.
- सर्वर डायनामिक कंट्रोल: bookmarklet को एक बार रजिस्टर करने के बाद वह स्थायी रूप से अपरिवर्तित रहता है. कलेक्शन नियम (selector·action·extract) सर्वर type command के रूप में जारी करता है → लॉजिक बदलने पर क्लाइंट री-डिप्लॉय 0. एकल source Pydantic से TS type अपने-आप जनरेट होते हैं.
- क्लिक करके recipe बनाना: WebUI में element पर क्लिक करने से selector अपने-आप बनता है, action sequence (click·drag·scroll·swipe) → extract recipe सेव हो जाती है.
scripteval निषिद्ध है (whitelist). - lossless ingestion: write-ahead (सिंक्रोनस commit के बाद 202) + idempotency + रीस्टार्ट होने पर ऑटोमैटिक रिकवरी.
- MCP agent कंट्रोल: live pipe को MCP tool के रूप में expose किया जाता है (host allowlist·rate-limit·op TTL guard). हालांकि, bot evasion और large-scale scraping इसका लक्ष्य नहीं है.
- secure-by-default: admin authentication डिफ़ॉल्ट रूप से ON (Jupyter-शैली auto token), सर्वर response eval(
script)·बाहरी beacon(beacon) execution boundary, fingerprinting का उपयोग नहीं. - शून्य लागत·पोर्टेबिलिटी: SQLite + in-memory queue + एकल FastAPI. बाहरी पेड service 0.
uvके साथ OS-agnostic reproducibility. MIT.
पब्लिक साइटों से कलेक्शन के लिए ब्राउज़र की Private Network Access पाबंदियों के कारण public URL की ज़रूरत होती है, जिसे ENABLE_TUNNEL=1 से cloudflared temporary tunnel चलाकर बायपास किया जाता है (वास्तविक परीक्षण: असली न्यूज़ साइटों से कलेक्शन सफल).
अभी कोई टिप्पणी नहीं है.