Zurück zur Startseite

Telega-Detektor in Chats auf Go: VK Calls API

Go-Utility antitelega scannt Telegram-Chats nach Telega-Benutzern über öffentliche VK Calls API. Beschreibt Architektur, Banschutz mit jitter und risk_level, typische Fehler mit gotgproto.

Go-Bot zum Suchen von Telega in Telegram-Chats
Advertisement 728x90

Telega-Nutzerdetektor für Telegram-Chats: Go-Implementierung

Die Installation des Telega-Clients von VK registriert Ihre Telegram-ID in der VK-Calls-Datenbank ohne explizite Zustimmung des Nutzers. Dies geschieht über einen anonymen Login bei calls.okcdn.ru. Die Zuordnung von Telegram-ID zu OK-ID wird über eine unauthentifizierte API öffentlich zugänglich.

Der auf Go basierende Anti-Telega-Detektor scannt Chats, holt Mitglieder-IDs und prüft, ob sie in der Datenbank sind. Der gesamte Prozess umfasst nur drei HTTP-Anfragen: anonymer Login, OK-ID-Suche nach externer ID und Parsen der Antwort.

POST https://calls.okcdn.ru/api/auth/anonymLogin

application_key=CHKIPMKGDIHBABABA
session_data={"device_id":"antitelega","version":2,...}

Der Schlüssel CHKIPMKGDIHBABABA stammt aus der Telega-APK (appId: 512001570726). Der Server antwortet mit einem session_key für Folgeanfragen.

Google AdInline article slot
POST https://calls.okcdn.ru/api/vchat/getOkIdByExternalId

application_key=CHKIPMKGDIHBABABA
session_key=<aus Schritt 1>
externalId=123456789

Eine Antwort mit ok_id bestätigt die Registrierung; ein 300-Fehler bedeutet, kein Eintrag gefunden.

Scanner-Architektur: Vom /scan-Befehl bis zum Bericht

Der Bot startet mit /scan @chatname in den Gespeicherten Nachrichten. Der Ablauf umfasst:

  • Auflistung: Mitglieder via ChannelsGetParticipants mit Pagination, Jitter und Filterung von Bots/gelöschten Accounts.
  • Cache-Abfrage: Prüfung im SQLite-Cache (TTL 6 Stunden).
  • Batch-Prüfung: Verteilung über Worker-Pool mit Rate-Limiting und Jitter.
  • Bericht: Formatierte Ausgabe in Gespeicherten Nachrichten, bei >3800 Zeichen in Chunks aufgeteilt.

Binärdatei ~26 MB, reines Go mit modernc.org/sqlite, kein CGO. ARM-Unterstützung inklusive.

Google AdInline article slot

Risikostufe: Voreinstellungen gegen Bans

func jitteredDuration(d time.Duration, jitterPct float64) time.Duration {
    factor := 1.0 + jitterPct*(2*rand.Float64()-1)
    return time.Duration(float64(d) * factor)
}

Jitter simuliert menschliches Verhalten, um Erkennung zu vermeiden. Risikostufen-Voreinstellungen:

  • paranoid: 1 Worker, 1 Anfr./s, 30 Mitglieder/Seite, ±50% Jitter (16 Min. für 700 User).
  • careful (Standard): 2 Worker, 3 Anfr./s, 80/Seite, ±40% (5 Min.).
  • normal: 4 Worker, 6 Anfr./s, 150/Seite, ±30% (2,5 Min.).
  • aggressive: Kein Jitter, Max-Geschwindigkeit (hohes Ban-Risiko).

Häufige Fallstricke bei Userbot-Entwicklung

  • Falsche DeviceConfig: gotgproto verwendet standardmäßig GoTGProto, Helsinki, was Bans auslöst. Lösung: DeviceConfig wie Telegram Desktop verwenden.
  • Feste Intervalle: Genau 350 ms ist ein klares Anti-Spam-Signal. Jitter ist essenziell.
  • API-Änderungen: Endpoint von getOkIdsByExternalIds zu Singular gewechselt; Schlüssel kann von OK widerrufen werden. application_key konfigurierbar machen.

Methodenbeschränkungen

Ein positiver ok_id zeigt eine frühere Telega-Installation, nicht aktuellen Gebrauch. Es spiegelt Telegas Protokoll exakt wider – keine Exploits.

Wichtige Punkte:

Google AdInline article slot
  • Zuordnung entsteht bei erstem Telega-anonymLogin.
  • API öffentlich; Schlüssel aus APK.
  • Userbots riskieren Bans – Wegwerf-Accounts nutzen.
  • Cache und Jitter reduzieren Erkennungsrisiko.
  • ~2000 Zeilen Go, MIT-Lizenz.

— Editorial Team

Advertisement 728x90

Weiterlesen