İçeriğe geç

Telegram botları için proxy'ler: kurulum ve otomasyon

Гайды
Telegram botları için proxy'ler: kurulum ve otomasyon
Telegram botları için proxy kullanmak; bölgesel sansürü aşmanın, IP tabanlı istek limitlerini geçmenin ve anti-spam filtrelerini tetiklemeden birden fazla hesabı yönetmenin başlıca yöntemidir. Bot trafiğini GProxy gibi özel bir aracı üzerinden yönlendirerek geliştiriciler yüksek çalışma süresi sağlar ve büyük ölçekli otomasyon ile veri kazıma için gereken anonimliği korur.

Telegram geliştirmede proxy'lerin gerekliliği

Telegram katı güvenlik protokolleri ve bölgesel düzenlemeler altında çalışır. Geliştiriciler için bu kısıtlar iki temel zorluk olarak ortaya çıkar: coğrafi erişilebilirlik ve API istek limitleri. Telegram'ın kısıtlandığı bölgelerde, o yargı alanı içinde bulunan bir bot sunucusu Telegram Bot API'sine (`api.telegram.org`) veya MTProto düğümlerine bağlanamaz. Proxy'ler bunu, trafiği desteklenen bir ülkedeki sunucu üzerinden tünelleyerek çözer. İstek limitleri bir diğer kritik etkendir. Telegram, tek bir IP adresinin belirli bir zaman aralığında yapabileceği istek sayısına sınır koyar. Örneğin farklı kullanıcılara saniyede 30'dan fazla mesaj göndermek veya tek bir gruba dakikada 20 mesajı aşmak 429 Too Many Requests hatasıyla sonuçlanabilir. Bir bot filosu ya da yüksek hacimli bir bildirim servisi çalıştırırken tek bir IP adresi darboğaza dönüşür. GProxy'nin residential proxy havuzunu kullanmak, bu istekleri binlerce benzersiz IP adresine dağıtmanızı sağlar. Bu mimari tercih, otomasyon izinizi yerel bir betik yerine birden fazla gerçek kullanıcıdan gelen organik trafik gibi gösterir ve hesabın gölge banlanma ya da IP'nin kara listeye alınma riskini belirgin şekilde azaltır.
Telegram botları için proxy'ler: kurulum ve otomasyon

Proxy protokollerinin karşılaştırması: SOCKS5, HTTP ve MTProto

Doğru protokolü seçmek, botunuzun performansını iyileştirmenin ilk adımıdır. Telegram birkaç türü desteklese de, verimlilikleri Bot API mi yoksa özel bir MTProto istemcisi mi kullandığınıza göre değişir.

SOCKS5 proxy'ler

SOCKS5, Telegram otomasyonunda sektör standardıdır. Yalnızca web trafiğini işleyen HTTP proxy'lerin aksine SOCKS5 daha alt bir katmanda çalışır ve her tür trafiği veya protokolü işler. UDP'yi destekler ve veri başlıklarını yeniden yazmadığı için üstün anonimlik sağlar. Telethon veya Pyrogram gibi kütüphaneleri kullanan geliştiriciler için SOCKS5, kararlılığı ve hızı sayesinde tercih edilen seçenektir.

HTTP/HTTPS proxy'ler

HTTP proxy'ler genellikle standart Telegram Bot API'si ile webhook veya long polling üzerinden çalışırken kullanılır. Python'da requests kütüphanesini kullanan basit betiklerde kurulumu daha kolay olsa da SOCKS5'in esnekliğinden yoksundurlar. Botunuz üst düzey şifreleme gerektiriyor ve karmaşık veri akışlarını işlemesi gerekiyorsa, man-in-the-middle (MITM) saldırılarını önlemek için HTTPS proxy'ler asgari gerekliliktir.

MTProto proxy'ler

MTProto, Telegram'ın kendi tescilli protokolüdür. MTProto proxy'ler son kullanıcı uygulamalarının engelleri aşması için mükemmel olsa da, arka uçta bot geliştirmede SOCKS5'e kıyasla daha az kullanılır. Oldukça özelleşmişlerdir ve çoğu zaman kullanıcının sohbet listesinin en üstünde görünen "sponsorlu kanallar" içerirler; bu da temiz bir bot altyapısı için nadiren istenen bir durumdur.
Özellik SOCKS5 HTTP/HTTPS MTProto
Başlıca kullanım Userbot'lar & yüksek yüklü botlar Basit API entegrasyonları Sansürü aşma (son kullanıcılar)
Anonimlik Yüksek Orta Yüksek
Hız Mükemmel İyi Değişken
UDP desteği Evet Hayır Evet (tescilli)

Python tabanlı Telegram framework'lerinde proxy uygulaması

Modern Telegram botlarının çoğu, güçlü kütüphane ekosistemi nedeniyle Python ile geliştirilir. Aşağıda GProxy kimlik bilgilerini en popüler framework'lere entegre etmenin pratik örnekleri yer alıyor.

Aiogram ile proxy kullanımı (Bot API)

Aiogram, yüksek eşzamanlılık gerektiren botlar için oldukça verimli, asenkron bir framework'tür. Burada proxy kullanmak için aiohttp_socks kütüphanesine ihtiyacınız var.

import asyncio
from aiogram import Bot, Dispatcher
from aiogram.client.session.aiohttp import AiohttpSession
from aiohttp_socks import ProxyConnector

async def main():
    # GProxy SOCKS5 kimlik bilgileri
    proxy_url = "socks5://username:[email protected]:port"

    connector = ProxyConnector.from_url(proxy_url)
    session = AiohttpSession(connector=connector)

    bot = Bot(token="YOUR_BOT_TOKEN", session=session)
    dp = Dispatcher()

    # Bot mantığınız buraya
    await dp.start_polling(bot)

if __name__ == "__main__":
    asyncio.run(main())

Telethon ile proxy kullanımı (MTProto/userbot'lar)

Telethon doğrudan Telegram'ın MTProto sunucularıyla iletişim kurar. Bu, standart Bot API'nin yapamadığı otomasyon görevlerinde yaygındır: gruplara otomatik katılmak veya mesaj geçmişini kazımak gibi.

from telethon import TelegramClient
import socks

api_id = 123456
api_hash = 'your_api_hash'

# GProxy SOCKS5 yapılandırması
proxy = (socks.SOCKS5, 'proxy.gproxy.com', 8080, True, 'username', 'password')

client = TelegramClient('session_name', api_id, api_hash, proxy=proxy)

async def main():
    await client.start()
    print("Client is online with GProxy!")

with client:
    client.loop.run_until_complete(main())
Telegram botları için proxy'ler: kurulum ve otomasyon

Residential ve veri merkezi proxy'leri: doğru altyapıyı seçmek

Residential ile veri merkezi proxy'leri arasındaki tercih, Telegram otomasyonunuzun ölçeğine ve niteliğine bağlıdır. Veri merkezi proxy'leri büyük sunucu merkezlerinde barındırılır. En yüksek hızları ve en düşük gecikmeyi sunarlar; bu da tek bir hesap üzerinden dakikada binlerce gelen mesajı işlemesi gereken botlar için onları ideal kılar. Ancak IP aralıkları açıkça veri merkezlerine (AWS veya DigitalOcean gibi) ait olarak tanındığından, Telegram'ın anti-spam sistemleri bunları daha yakından izler. Veri merkezi IP'sindeki bir bot kural dışına çıkarsa, tüm aralık işaretlenebilir. GProxy tarafından sağlanan residential proxy'ler, internet servis sağlayıcıları (ISP) tarafından gerçek hanelere atanan IP adreslerini kullanır. Bunlar otomasyonun "altın standardı"dır. Gerçek kullanıcı gibi göründükleri için tespit edilmeleri ve banlanmaları çok daha zordur. Bir pazarlama botu, bir scraper çalıştırıyor ya da 50'den fazla hesap yönetiyorsanız residential proxy'ler tartışmasız gereklidir. Operasyonlarınızın otomatik doğasını etkili biçimde gizlerler. Mobil proxy'ler, hücresel ağ IP'lerini (4G/5G) kullanan residential proxy alt kümesidir. Yüzlerce meşru kullanıcı çoğu zaman CGNAT üzerinden tek bir mobil IP'yi paylaştığı için neredeyse banlanamazlar. En hassas Telegram operasyonlarında mobil proxy'ler en yüksek güven seviyesini sunar.

Ölçeklendirme ve otomasyon: proxy rotasyonu ve yönetimi

Tek bir bottan otomatik hesap filosuna geçerken statik proxy'ler bir yük hâline gelir. Bir hesap işaretlenirse, ona bağlı IP de yanar. İşte burada proxy rotasyonu zorunlu hâle gelir. GProxy, her istekte veya belirlenen bir süre sonunda IP adresini otomatik değiştiren rotasyonlu residential proxy'ler sunar (sticky oturumlar). Telegram botları için "sticky oturumlar" tercih edilir. Botunuzun bir oturum boyunca (örneğin 30 dakika) aynı IP'yi korumasını istersiniz; böylece "imkânsız seyahat" kaynaklı güvenlik uyarıları tetiklenmez — yani hesabın Londra'da oturum açıp iki dakika sonra Tokyo'da görünmesi.

Rotasyon mantığını uygulamak

Büyük ölçekli bir operasyonu yönetmek için, GProxy havuzunuzdan belirli bir proxy'yi belirli bir bot örneğine atayan bir ara katman veya proxy yöneticisi uygulamalısınız.
  1. Eşleştirme: bot_id ile belirli bir proxy_endpoint arasında bağ kuran bir veritabanı kaydı oluşturun.
  2. Sağlık kontrolleri: proxy üzerinden Telegram API'sine her 5 dakikada bir ping atan bir betik yazın. Gecikme 2000 ms'yi aşarsa veya 5xx hatası oluşursa IP'yi değiştirin.
  3. Yük dengeleme: küresel erişilebilirlik için botlarınızı farklı coğrafi bölgelere dağıtın (örneğin %30 US-East, %30 EU-West, %40 Güneydoğu Asya).

Bağlantı sorunları ve performans darboğazlarının giderilmesi

Premium proxy'lerle bile teknik engeller çıkabilir. Sorunların çoğu DNS sızıntılarından, protokol uyumsuzluklarından veya zaman aşımı ayarlarından kaynaklanır.
  • Bağlantı zaman aşımları: botunuz bağlanamıyorsa bağlantı dizesindeki timeout parametresini artırın. Proxy'ler ek gecikme katar; varsayılan 10 saniyelik zaman aşımı residential IP'ler için fazla agresif olabilir.
  • DNS çözümlemesi: proxy istemcinizin DNS'i proxy üzerinden çözecek şekilde yapılandırıldığından emin olun. Sunucunuz api.telegram.org adresini yerel olarak çözüp isteği proxy üzerinden gönderirse, bazı güvenlik duvarlarının engellediği bir uyumsuzluk oluşabilir.
  • Kimlik doğrulama hataları: GProxy kullanıcılarının çoğu kullanıcı adı/parola doğrulaması ile IP beyaz listesi arasında seçim yapar. Sunucunuzun IP'si dinamikse kullanıcı adı/parola daha güvenilirdir. Parolalardaki özel karakterler bağlantı dizesinde geçiyorsa URL kodlamasından geçirildiğinden emin olun.
  • 403 Forbidden hataları: bu genellikle ilgili IP'nin Telegram tarafından işaretlendiğini gösterir. GProxy ile havuzdan temiz bir IP almak için oturumu yenilemeniz yeterlidir.

Önemli çıkarımlar

Telegram botları için proxy kurmak, hobi düzeyindeki projelerden kararlı ve ölçeklenebilir otomasyona geçmek isteyen her geliştirici için bir zorunluluktur.
  • MTProto için SOCKS5 kullanın: Telethon veya Pyrogram kullanıyorsanız SOCKS5 hız ve uyumluluk arasında en iyi dengeyi sunar.
  • Residential IP'lere öncelik verin: çoklu hesap yönetimi ve "429 Too Many Requests" hatalarından kaçınmak için GProxy'nin residential havuzu en yüksek güven skorlarını sunar.
  • Sticky oturumlar uygulayın: tek bir hesapta hızlı IP değişimlerinden kaçının; insan davranışını taklit etmek için IP'yi en az 10-30 dakika koruyun.
  • Gecikmeyi izleyin: gerçek zamanlı yanıt veren botlar tasarlarken proxy'nin eklediği 100-500 ms'lik ek gecikmeyi daima hesaba katın.
Pratik ipucu 1: GProxy kimlik bilgilerinizi saklamak için her zaman ortam değişkenlerini kullanın. Kazara sızıntıları önlemek için bunları asla botun kaynak koduna sabit yazmayın. Pratik ipucu 2: hata ayıklarken, proxy'yi Python veya Node.js ortamınıza entegre etmeden önce basit bir curl -x komutuyla proxy'nin Telegram sunucularına bağlantısını doğrulayın. Bu, hatanın kodunuzda mı yoksa ağ katmanında mı olduğunu ayırt eder.
support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.