Menu

AntiGate görevleriyle her captcha nasıl bypass edilir

AntiGate görevleri eğitiminin yeni bir video sürümüne buradan ulaşabilirsiniz.

Yıllarca süren araştırma ve geliştirmeden sonra, robotlarınızın insanlar tarafından hazırlanan captcha kapılarından geçmesine yardımcı olacak evrensel bir çözüm sunuyoruz. Buna "AntiGate" adını verdik ve bunlar, insan iş gücümüzün görevleri gerçekleştirmek için kullandıkları senaryo şablonlarıdır.

Belirli bir noktada, uygulamanız yeni bir tür captcha, karmaşık tarayıcı komut dosyaları veya başka bir otomasyon koruması "ağ geçidi" ile karşılaşır. İşte burada AntiGate görevlerimiz devreye girer. Gerçek insan tarayıcı oturumu oluşturmak için çalışanlarımızdan birine yetki verirsiniz.
  • İlk olarak bir şablon seçin Mevcut bir şablonu kullanabilir veya kendi şablonunuzu oluşturabilirsiniz. Bir şablon, çalışanların gerçekleştirdikleri bir adımlı talimatlar dizisidir.
  • İkinci olarak, doldurulacak bir girdinin değeri, bir girdinin CSS seçicisi veya gitmemiz gereken web adresi gibi şablonun gerektirdiği ek verileri sağlayın. Birazdan şablonlar hakkında daha fazla bilgi vereceğiz.
  • Üçüncü ve opsiyonel olarak - proxy’ler. Bir web sitesi her oturum çerezini kesin bir IP adresiyle ilişkilendirirse proxy’lere ihtiyacınız olur.
Bu üçüne sahip olduğunuzda API'mızla bir görev oluşturursunuz. Bir çalışan, özel tarayıcı eklentimizle web sitenize gider ve tüm senaryo adımlarını manuel veya otomatik olarak yürütür. Komut dosyasının sonunda, çerezler, localStorage değerleri, tarayıcı parmak izi gibi tüm tarayıcı oturumu bilgilerini alıp uygulamanıza geri iletiyoruz. Geriye kalan tek şey bu verileri kullanarak çalışan oturumumuzu geri yüklemek ve sanki bir insan kullanıcıymış gibi işlemlere devam etmek. Muhteşem değil mi? :)

AntiGate şablonları nedir?

Bir AntiGate şablonu, çalışanlarımızın geçmesi gereken kesin bir senaryoyu tanımlar. Şablonlar, tümü sırayla gerçekleştirilen adımlardan oluşur. Bir adım tamamlandığı zaman, çalışan bir sonraki adıma geçer. Tüm adımlar tamamlandığında görev tamamlanır ve çalışan oturumunun bir ekran görüntüsü alınır ve uygulamanıza gönderilir.

Ne tür adımlar mevcut?
  • Bir metin girdi alanını otomatik olarak veya elle doldurun.
  • Sayfada bir metin örneğinin görünmesini (veya sayfadan kaybolmasını) bekleyin.
  • CSS tarafından tanımlanan bir DOM ögesinin sayfada görünmesini (veya sayfadan kaybolmasını) bekleyin.
  • Bir anahtar kelimenin çalışanın mevcut tarayıcı URL adresinde görünmesini (veya buradan kaybolmasını) bekleyin.
Şablonun "çalışanlar için açıklaması" metin alanı, çalışandan beklediğiniz diğer adımları anlatabilir. Örneğin: "Bir captcha çöz ve gönder butonuna bas".
Şimdi bir örneğe bakalım. Geliştirici Merkezine gidin ve test için ücretsiz bir şablon oluşturun. Merak etmeyin, hiçbir şeyi bozmayacaksınız!
Şablonu eklemek için tıklayın
Bir örnek yüklemek için tıklayın
Adımlar bölümüne göz atın
Bir demo örnek yüklediniz. Bunu hesabınıza kaydedebilir ve daha sonra kendiniz test edebilirsiniz. Şimdi eksiksiz şablon özellikleri listesine bir bakalım:
  • Şablon adı. Kaydedildikten sonra bu değiştirilemez. Yayınladığınızda şablonunuz API'de bu adla kullanılabilir hale gelir.
  • Müşteriler için açıklama. Genel şablonlar şablonlar kataloğu dizinimizde nmevcuttur.
  • Çalışanlar için açıklama. Bu, çalışanlarımızın sayfanın üst kısmında gördüğü metindir.
    Çalışan arayüzü örneği
  • Değişkenler. Bu, adımlarda kalıcı değerler yerine kullanmak üzere ekleyebileceğiniz değişken adlarının bir listesidir. Bu örnekte 2 değişkenimiz var, "kullanıcı adı" ve "şifre". Bu ikisi, demo oturum açma formunu doldurmak için 1. ve 2. adımlarda kullanılır. Bu şekilde, şablona kalıcı bir kullanıcı adı ve şifre kodlamak yerine bu değerleri API aracılığıyla sağlayabilirsiniz.
    1. ve 2. adımlarda kullanılan değişkenler
  • Burada senaryo adımlarının sırasını düzenleyebilir ve değiştirebilirsiniz. Örneğimizde aşağıdakileri yapıyoruz:
    1. Metin alanını CSS seçicisi "#login" ile otomatik olarak doldur. Metin alanı değeri, "kullanıcı adı" değişkeni tarafından belirlenir.
    2. Metin alanını CSS seçicisi "#password" ile otomatik olarak doldur. Metin alanı değeri, "şifre" değişkeni tarafından belirlenir.
    3. Bir kontrol metninin sayfada görülmesini bekleyin. Kalıcı olarak "Test kullanıcı adı ile geçildi" değerine ayarlanmıştır.

Artık şablonu kaydedebilirsiniz, Geliştirici Merkezinizde görüntülenir. "Sandbox" statüsüne sahip olduğuna dikkat edin; bu, yalnızca sizin için kullanılabilir olduğu ve API'da mevcut olmadığı anlamına gelir. Buradan yeni oluşturduğunuz şablonunuzu kendi çalışanınız gibi test etmeyi deneyebilirsiniz.

Test şablonları

Bu noktada, Chrome tarayıcısını kullanmanız gerekir ve profilin çerezlerine erişimi olan eklentimizi yüklememiz gerekeceği için bu tarayıcıda yeni bir kullanıcı profili oluşturmanızı öneririz.
Çalışan arayüzü örneği
Daha sonra, şablon kartında "test" butonuna basın.
Talimatları izleyin ve platformunuz için eklentiyi indirin. Ardından, etkili olması için sayfayı yeniden yükleyin, "login" ve "password" değişkenlerini bazı rastgele değerlerle doldurun ve "Launch Test" düğmesine basın. Şuna benzeyen yeni bir sayfa açılmalıdır:

Adres çubuğunun yanında, eklentinin hedef sayfanın üst kısmına eklediği mavi bir çubuk bulunur. Çalışanlar bu sayede görevlerini bilir ve görevin tamamlanmasını kontrol ederler.

Ayrıca, değişkenlerle doldurulurken kullanıcı adı ve şifre alanlarının gizlendiğini unutmayın. Bu kasıtlı olarak yapılır. Çalışanlar, geliştirici konsolu aracılığıyla görev verilerine tam erişime sahip olsa da, %99,99'u sahne arkasında neler olduğunu inceleme zahmetine girmez.
Recaptcha çözmek için "Giriş" butonuna basın. Şablonun son adımı olan "WAIT_CONTROL_TEXT_PRESENT" geçilir. Eklenti, şablonunuzda kalıcı olarak tanımlanan "Test giriş yapılarak geçildi" kontrol ifadesini arar. Sekme otomatik olarak kapanır ve oturum özeti sonuçlar alanında görüntülenir.
Sonuç örneği

Bu özet verileri API’dan da alınabilir. Ancak şablonunuzu API'da kullanılabilir hale getirmek için önce onu yayınlamamız gerekir.

Şablonları yayınlama

Bir şablon yayınlarken 2 seçeneğiniz bulunur: özel veya genel şablon.
  • Özel şablonlara sadece sizin API anahtarınızla ulaşılabilir. Diğer müşteriler bunları kullanamaz. Gözden geçirme ve yayınlama maliyeti: 1$.
  • Genel şablonlar herkese açıktır. Bu şablonla her müşterinin harcamalarından %5 kazanırsınız. Şablonunuzla ilgili bir şey ters giderse, müşterilerimizin yardımınıza başvurabilmesi için bazı iletişim bilgileri bırakmanız gerekecek. Gözden geçirme ve yayınlama maliyeti: 1$.
Her şablonu dikkatle gözden geçiriyoruz. Üretim moduna başarılı bir şekilde geçmek için bazı temel gereksinimleri yerine getirmeniz gerekiyor:
  • Her türlü yasa dışı faaliyet yasaktır.
  • Şablonlar, mevcut şablonların kopyası olmamalıdır.
  • Deneme veya test şablonları göndermeyin.
  • Gözden geçirilmesi için örnek bir web adresi ve değişken değerleri sağlayın. Bir test yapacağız ve bu testin tüm adımlarının başarıyla tamamlanması gerekir.

API talepleri

Yukarıdaki AntiGate şablonu için API'ya bir görev oluşturma isteği bunun kadar basit görünür:

curl -i -H "Accept: application/json" \
     -H "Content-Type: application/json" \
     -X POST -d '{
    "clientKey":"YOUR_API_KEY",
    "task":
        {
            "type":"AntiGateTask",
            "websiteURL":"https://anti-captcha.com/demo/?page=recaptcha_v2_textarea",
            "templateName":"Demo sign-in at anti-captcha.com #123456",
            "variables": {
                "login":"some value",
                "password":"some value"
            }
        }
}' https://api.anti-captcha.com/createTask

Yani, şablonu doldurmak için "templateName" ve "variables" parametrelerini iletirsiniz.

Görev sonuçlarını kullanarak

Başarıyla tamamlanan AntiGate görevleri, "cookies", "localStorage", "fingerprint" ve "url" içeren bir çözüm getirir. Yazılımınızın yapması gereken, bu talepte "cookies" kullanarak "url "ye gitmek ve en azından tarayıcının Kullanıcı Aracısı için "fingerprint.self.navigator.userAgent" değerini kullanmaktır. Daha karmaşık web siteleri, önemli verileri çerezlerin bir tür modern versiyonu olan localStorage'da depolar. Bu durumda, herhangi bir Javascript'i çalıştırmadan önce bu verileri sayfaya enjekte etmeniz gerekecektir. Bunlar Puppeteer gibi geliştirme ortamlarında yapılabilir. Bu konu muhtemelen başka bir makalede anlatılmayı hak ediyor.

Kendi şablonlarınızı oluşturarak

Örnek şablonu yüklemeden yukarıdaki adımları izlemeniz yeterli. Tüm bilgileri girin ve adımları dikkatlice ekleyin. Tüm adımların sırasıyla gerçekleştirileceğini unutmayın. Eklenti, mevcut adım tamamlanmadan bir sonraki adımın gerçekleştirilmesine izin vermez. Şablonunuzu istediğiniz zaman kaydedebilir ve çalışanın tarayıcı eklentisi ile bunu test edebilirsiniz.

Fiyatlar

1000 görev için güncel fiyatımız 2$’dır. Ayrıca, görev gerçekleştirmenin her saniyesi, görev fiyatının 1/60'ına mal olur. Örneğin, görevin maliyeti 0,002$ ve çalışan bunu çözmek için 20 saniye harcadı diyelim.
Nihai maliyeti $0,00266 = 0.002 + (0.002 / 60 * 20) olacaktır.