ArachneControl – Sunucunun tarayıcıyı uzaktan kontrol ederek veri topladığı açık kaynaklı veri toplama sistemi
(github.com/TaewonyNet)Kullanıcının gerçek tarayıcı oturumu ile veri toplarken, neyin nasıl toplanacağını sunucunun çalışma anında dinamik olarak yayımladığı self-hosted bir toplama sistemidir. Sunucunun istemciyi (tarayıcıyı) uzaktan kontrol ettiği Komut-Yürüt-Raporla (Command-Execute-Report) deseni.
Yeni bir crawler her yazıldığında yaşanan üç sorunu — hedef backend yükü/engelleme, giriş duvarı ve toplama mantığı her değiştiğinde istemcinin yeniden dağıtılması — tasarımla çözüyor.
- Zero-Footprint: Hedef sunucuya doğrudan istek göndermek yerine zaten giriş yapmış kullanıcı tarayıcısı veri toplar → giriş duvarının iç kısmına da insanla aynı şekilde erişir, backend yükü ve engellemelerden kaçınır.
- Sunucu tarafında dinamik kontrol: Bookmarklet bir kez kaydedildikten sonra kalıcı ve değişmez. Toplama kuralları (selector·action·extract) sunucu tarafından türlenmiş komutlar olarak yayımlanır → mantık değiştiğinde istemciyi yeniden dağıtma ihtiyacı 0. Tek bir Pydantic kaynağından TS tipleri otomatik üretilir.
- Tıklayarak tarif oluşturma: WebUI'de öğeye tıklanınca selector otomatik oluşturulur, action dizileri (click·drag·scroll·swipe) → extract tarifi olarak kaydedilir.
scripteval yasaklıdır (allowlist). - Kayıpsız yükleme: write-ahead (senkron commit sonrası 202) + idempotency + yeniden başlatmada otomatik kurtarma.
- MCP ajan kontrolü: Canlı pipe, MCP aracı olarak açığa çıkarılır (host allowlist·rate-limit·op TTL guard). Ancak bot kaçırma ve büyük ölçekli scraping hedeflenmiyor.
- Varsayılan olarak güvenli: Yönetici kimlik doğrulaması varsayılan olarak AÇIK (Jupyter benzeri otomatik token), sunucu yanıtı eval(
script)·harici beacon(beacon) yürütme sınırları, fingerprinting kullanılmıyor. - Maliyetsiz ve taşınabilir: SQLite + bellek içi kuyruk + tek FastAPI. Harici ücretli servis 0.
uvile işletim sisteminden bağımsız yeniden üretilebilir. MIT.
Herkese açık sitelerden veri toplamada, tarayıcının Private Network Access kısıtları nedeniyle herkese açık bir URL gerekir; bunu aşmak için ENABLE_TUNNEL=1 ile geçici bir cloudflared tüneli açılır (gerçek ölçüm: gerçek haber sitelerinde toplama başarılı).
Henüz yorum yok.