🎉 Sessions Kullanarak Instagram'da Hesap Oluşturma

Hichigo

Uzman üye
30 Ağu 2015
1,190
42
github.com/tarik0
Elimden geldiğince kodları açık ve yorumlu yazmaya çalıştım. Gereksiz yazdığım kodlar olabilir tek tek araştırmadım. Sessions ile bir çok şey yapabilirsiniz bu onlardan sadece birisi.


Kod hakkındaki sorularınızı sorabilirsiniz ancak nasıl çalıştırırım veya "açtım böyle hata verdi" gibi sorulara cevap vermeyeceğim. Bu kod eğitim amaçlı pratik değil.


Programı aşağıdaki link ile indiriniz!


https://github.com/tarik0/sessions-instagram-dersi/blob/master/iua.py





Kod:
[COLOR=#d4d4d4][FONT=Droid Sans Mono][COLOR=#6a9955]# -*- coding: utf-8 -*-[/COLOR]

[COLOR=#c586c0]try[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#c586c0]from[/COLOR][COLOR=#d4d4d4] requests [/COLOR][COLOR=#c586c0]import[/COLOR][COLOR=#d4d4d4] Session[/COLOR]
[COLOR=#c586c0]except[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#ce9178]"[-] 'requests' Modülünüz yüklü değil yüklemek için; pip install requests"[/COLOR][COLOR=#d4d4d4])[/COLOR]

[COLOR=#c586c0]try[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#c586c0]from[/COLOR][COLOR=#d4d4d4] random [/COLOR][COLOR=#c586c0]import[/COLOR][COLOR=#d4d4d4] choice[/COLOR]
[COLOR=#c586c0]except[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#ce9178]"[-] 'random' Modülünüz yüklü değil? Python indiridğinize emin misiniz? Yüklemek için; pip install requests"[/COLOR][COLOR=#d4d4d4])[/COLOR]

[COLOR=#c586c0]from[/COLOR][COLOR=#d4d4d4] requests [/COLOR][COLOR=#c586c0]import[/COLOR][COLOR=#d4d4d4] Session[/COLOR]
[COLOR=#c586c0]from[/COLOR][COLOR=#d4d4d4] random [/COLOR][COLOR=#c586c0]import[/COLOR][COLOR=#d4d4d4] choice[/COLOR]

[COLOR=#ce9178]"""[/COLOR]
[COLOR=#ce9178]Requestlerimizde kullanacağımız User-Agent'leri buraya koyuyorum.[/COLOR]
[COLOR=#ce9178]Arasından rastgele bir tanesini seçip onu kullanacağım.[/COLOR]
[COLOR=#ce9178]"""[/COLOR]

[COLOR=#d4d4d4]USER_AGENTS [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] [[/COLOR][COLOR=#ce9178]"Mozilla/5.0 (Android 4.4; Mobile; rv:41.0) Gecko/41.0 Firefox/41.0"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#ce9178]"Mozilla/5.0 (Windows NT x.y; rv:10.0) Gecko/20100101 Firefox/10.0"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#ce9178]"Mozilla/5.0 (Windows NT x.y; Win64; x64; rv:10.0) Gecko/20100101 Firefox/10.0"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#ce9178]"Mozilla/5.0 (Windows NT x.y; WOW64; rv:10.0) Gecko/20100101 Firefox/10.0"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#ce9178]"Mozilla/5.0 (Macintosh; Intel Mac OS X x.y; rv:10.0) Gecko/20100101 Firefox/10.0"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#ce9178]"Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20100101 Firefox/10.0"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#ce9178]"Mozilla/5.0 (Android; Mobile; rv:40.0) Gecko/40.0 Firefox/40.0"[/COLOR][COLOR=#d4d4d4]][/COLOR]


[COLOR=#ce9178]"""[/COLOR]
[COLOR=#ce9178]Opener Sınıfı Argümanları:[/COLOR]
[COLOR=#ce9178]    args:[/COLOR]
[COLOR=#ce9178]        email: E-Posta adresi.[/COLOR]
[COLOR=#ce9178]        full_name: Tam isim.[/COLOR]
[COLOR=#ce9178]        username: Kullanıcı adı.[/COLOR]
[COLOR=#ce9178]        password: Şifre.[/COLOR]
[COLOR=#ce9178]        proxy: SSL Destekli HTTPS Proxy'si[/COLOR]

[COLOR=#ce9178]Proxy Format Örneği: 1.1.1.1:8080[/COLOR]

[COLOR=#ce9178]Eğer proxy'siz açmak istiyorsanız "proxy"[/COLOR]
[COLOR=#ce9178]değerini "None" yapmalısınız.[/COLOR]
[COLOR=#ce9178]"""[/COLOR]

[COLOR=#569cd6]class[/COLOR][COLOR=#4ec9b0]Opener[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#569cd6]def[/COLOR][COLOR=#dcdcaa]__init__[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4],[/COLOR][COLOR=#9cdcfe]args[/COLOR][COLOR=#d4d4d4]):[/COLOR]

[COLOR=#ce9178]"""[/COLOR]
[COLOR=#ce9178]        Argümanların yeterliliğini onaylamak için "next_stage" isimli[/COLOR]
[COLOR=#ce9178]        bir bool oluşturuyorum eğer sınıfa verilen argümanlar yetersiz[/COLOR]
[COLOR=#ce9178]        ise "next_stage" değişkeni "False" olup hesap oluşturma bölümüne[/COLOR]
[COLOR=#ce9178]        geçemeyecek.[/COLOR]
[COLOR=#ce9178]        """[/COLOR]

[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].next_stage [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#569cd6]True[/COLOR]

[COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] (args[[/COLOR][COLOR=#ce9178]"email"[/COLOR][COLOR=#d4d4d4]] [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#569cd6]None[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#ce9178]"[-] Lütfen bir e-posta giriniz!"[/COLOR][COLOR=#d4d4d4])[/COLOR]
[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].next_stage [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#569cd6]False[/COLOR]
[COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] (args[[/COLOR][COLOR=#ce9178]"username"[/COLOR][COLOR=#d4d4d4]] [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#569cd6]None[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#ce9178]"[-] Lütfen bir kullanıcı adı giriniz!"[/COLOR][COLOR=#d4d4d4])[/COLOR]
[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].next_stage [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#569cd6]False[/COLOR]
[COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] (args[[/COLOR][COLOR=#ce9178]"full_name"[/COLOR][COLOR=#d4d4d4]] [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#569cd6]None[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#ce9178]"[-] Lütfen bir tam isim giriniz!"[/COLOR][COLOR=#d4d4d4])[/COLOR]
[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].next_stage [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#569cd6]False[/COLOR]
[COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] (args[[/COLOR][COLOR=#ce9178]"password"[/COLOR][COLOR=#d4d4d4]] [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#569cd6]None[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#ce9178]"[-] Lütfen bir şifre giriniz!"[/COLOR][COLOR=#d4d4d4])[/COLOR]
[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].next_stage [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#569cd6]False[/COLOR]

[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].username [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] args[[/COLOR][COLOR=#ce9178]"username"[/COLOR][COLOR=#d4d4d4]][/COLOR]
[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].full_name [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] args[[/COLOR][COLOR=#ce9178]"full_name"[/COLOR][COLOR=#d4d4d4]][/COLOR]
[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].password [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] args[[/COLOR][COLOR=#ce9178]"password"[/COLOR][COLOR=#d4d4d4]][/COLOR]
[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].email [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] args[[/COLOR][COLOR=#ce9178]"email"[/COLOR][COLOR=#d4d4d4]][/COLOR]

[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].requestNumber [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#b5cea8]0[/COLOR]

[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].user_agent [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] choice(USER_AGENTS)[/COLOR]

[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].ses [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] Session()[/COLOR]

[COLOR=#d4d4d4]        ipcheck_response [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].ses.get([/COLOR][COLOR=#ce9178]"https://api.ipify.org?format=json"[/COLOR][COLOR=#d4d4d4])[/COLOR]
[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].normalip [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] ipcheck_response.json()[[/COLOR][COLOR=#ce9178]"ip"[/COLOR][COLOR=#d4d4d4]][/COLOR]

[COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] (args[[/COLOR][COLOR=#ce9178]"proxy"[/COLOR][COLOR=#d4d4d4]] [/COLOR][COLOR=#d4d4d4]!=[/COLOR][COLOR=#569cd6]None[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].proxy [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] args[[/COLOR][COLOR=#ce9178]"proxy"[/COLOR][COLOR=#d4d4d4]][/COLOR]
[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].ses.proxies.update({[/COLOR]
[COLOR=#ce9178]"https"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"https://"[/COLOR][COLOR=#d4d4d4]+[/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].proxy,[/COLOR]
[COLOR=#d4d4d4]            })[/COLOR]
[COLOR=#c586c0]try[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#d4d4d4]                ipcheck_response [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].ses.get([/COLOR][COLOR=#ce9178]"https://api.ipify.org?format=json"[/COLOR][COLOR=#d4d4d4])[/COLOR]
[COLOR=#d4d4d4]                proxyip [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] ipcheck_response.json()[[/COLOR][COLOR=#ce9178]"ip"[/COLOR][COLOR=#d4d4d4]][/COLOR]
[COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] (proxyip [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].normalip):[/COLOR]
[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].next_stage [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#569cd6]False[/COLOR]
[COLOR=#c586c0]except[/COLOR][COLOR=#4ec9b0]Exception[/COLOR][COLOR=#c586c0]as[/COLOR][COLOR=#d4d4d4] e:[/COLOR]
[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].next_stage [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#569cd6]False[/COLOR]


[COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] ([/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].next_stage [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#569cd6]False[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].ses.close()[/COLOR]

[COLOR=#569cd6]def[/COLOR][COLOR=#dcdcaa]UpdateHeaders[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#ce9178]"""[/COLOR]
[COLOR=#ce9178]        Session'umuzda kullanacağımız headerleri tek tek[/COLOR]
[COLOR=#ce9178]        ayarlamak yerine direk bu fonksiyon ile ayarlamak[/COLOR]
[COLOR=#ce9178]        istedim.[/COLOR]

[COLOR=#ce9178]        Bu headerleri nerden buldum derseniz öncelikle instagram'a[/COLOR]
[COLOR=#ce9178]        yeni bir hesap ile kayıt oldum ve gelen requestleri inceledim[/COLOR]
[COLOR=#ce9178]        bunu siz de Öğeyi denetle'den Network veya Ağ yazan yerde inceleye-[/COLOR]
[COLOR=#ce9178]        bilirsiniz.[/COLOR]

[COLOR=#ce9178]        Header'leri yazarken dikkat etmelisiniz tek yazım hatası yaptığınız[/COLOR]
[COLOR=#ce9178]        request'leri bozabilir.[/COLOR]

[COLOR=#ce9178]        Content-Length ve Cookie gibi gerekli olmayan header'leri[/COLOR]
[COLOR=#ce9178]        koymak zorunda değilsiniz. Cookie önemli gibi görünebilir[/COLOR]
[COLOR=#ce9178]        ama zaten Cookie'lerimize kolayca erişebiliyorlar.[/COLOR]

[COLOR=#ce9178]        Buradaki çoğu header'in ne anlama geldiğini Mozilla'nın sitesinden[/COLOR]
[COLOR=#ce9178]        bakabilirsiniz.[/COLOR]

[COLOR=#ce9178]        X-Instagram-AJAX Yapılan requestlerin sayısıyla ilgili bir şey[/COLOR]
[COLOR=#ce9178]        galiba o yüzden hep sayıyı hep aynı tutmak istemiyorum.[/COLOR]
[COLOR=#ce9178]        """[/COLOR]

[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].requestNumber [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].requestNumber [/COLOR][COLOR=#d4d4d4]+[/COLOR][COLOR=#b5cea8]1[/COLOR]

[COLOR=#d4d4d4]        headers [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] {[/COLOR]
[COLOR=#ce9178]"Accept"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"*/*"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#ce9178]"Accept-Encoding"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"gzip,deflate,br"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#ce9178]"Accept-Language"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"en-US,en;q=0.5"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#ce9178]"Connection"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"keep-alive"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#ce9178]"Content-Type"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"application/x-www-form-urlencoded"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#ce9178]"DNT"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"1"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#ce9178]"Host"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"www.instagram.com"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#ce9178]"Referer"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"https://www.instagram.com/accounts/emailsignup/"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#ce9178]"TE"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"Trailers"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#ce9178]"User-Agent"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].user_agent,[/COLOR]
[COLOR=#ce9178]"X-CSRFToken"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].ses.cookies.get_dict()[[/COLOR][COLOR=#ce9178]"csrftoken"[/COLOR][COLOR=#d4d4d4]],[/COLOR]
[COLOR=#ce9178]"X-Instagram-AJAX"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#4ec9b0]str[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].requestNumber),[/COLOR]
[COLOR=#ce9178]"X-Requested-With"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"XMLHttpRequest"[/COLOR]
[COLOR=#d4d4d4]        }[/COLOR]

[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].ses.headers.update(headers)[/COLOR]

[COLOR=#569cd6]def[/COLOR][COLOR=#dcdcaa]GETAndUpdate[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4],[/COLOR][COLOR=#9cdcfe]url[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#ce9178]"""[/COLOR]
[COLOR=#ce9178]        Normal bir GET requestinden bir farkı yok sadece[/COLOR]
[COLOR=#ce9178]        geri donüş kodu 200 ise yani request başarılı ise[/COLOR]
[COLOR=#ce9178]        çerezleri güncelliyor.[/COLOR]
[COLOR=#ce9178]        """[/COLOR]
[COLOR=#d4d4d4]        response [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].ses.get(url)[/COLOR]
[COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] (response.status_code [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#b5cea8]200[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].ses.cookies.update(response.cookies)[/COLOR]
[COLOR=#c586c0]return[/COLOR][COLOR=#d4d4d4] response[/COLOR]

[COLOR=#569cd6]def[/COLOR][COLOR=#dcdcaa]POSTAndUpdate[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4],[/COLOR][COLOR=#9cdcfe]url[/COLOR][COLOR=#d4d4d4],[/COLOR][COLOR=#9cdcfe]data[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#ce9178]"""[/COLOR]
[COLOR=#ce9178]        GETAndUpdate fonksiyonuyla aynı sadece POST requesti[/COLOR]
[COLOR=#ce9178]        yolluyor.[/COLOR]
[COLOR=#ce9178]        """[/COLOR]

[COLOR=#d4d4d4]        response [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].ses.post(url,[/COLOR][COLOR=#9cdcfe]data[/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4]data)[/COLOR]
[COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] (response.status_code [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#b5cea8]200[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].ses.cookies.update(response.cookies)[/COLOR]
[COLOR=#c586c0]return[/COLOR][COLOR=#d4d4d4] response[/COLOR]

[COLOR=#569cd6]def[/COLOR][COLOR=#dcdcaa]Register[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#ce9178]"""[/COLOR]
[COLOR=#ce9178]        Register fonksiyonunun dönüş formatı:[/COLOR]
[COLOR=#ce9178]        {[/COLOR]
[COLOR=#ce9178]            "status": "False" veya "True",[/COLOR]
[COLOR=#ce9178]            "message": "Hata mesajı." veya "None"[/COLOR]
[COLOR=#ce9178]        }[/COLOR]
[COLOR=#ce9178]        """[/COLOR]

[COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] ([/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].next_stage [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#569cd6]False[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#c586c0]return[/COLOR][COLOR=#d4d4d4] {[/COLOR]
[COLOR=#ce9178]"status"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#569cd6]False[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#ce9178]"message"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"Verilen argumanlarda eksiklik var veya Proxy bozuk"[/COLOR]
[COLOR=#d4d4d4]            }[/COLOR]

[COLOR=#6a9955]# Bu yaptığımız request Cookie'leri almak ve Header'leri yüklemek içindi.[/COLOR]
[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].GETAndUpdate([/COLOR][COLOR=#ce9178]"https://www.instagram.com/accounts/emailsignup/"[/COLOR][COLOR=#d4d4d4])[/COLOR]
[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].UpdateHeaders()[/COLOR]
[COLOR=#6a9955]# Bu yaptığımız request hani username yazarız bu kullanılıyor vs der onu denemek için.[/COLOR]
[COLOR=#d4d4d4]        web_create_response [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].POSTAndUpdate([/COLOR][COLOR=#ce9178]"https://www.instagram.com/accounts/web_create_ajax/attempt/"[/COLOR][COLOR=#d4d4d4],{[/COLOR]
[COLOR=#ce9178]"email"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].email,[/COLOR]
[COLOR=#ce9178]"first_name"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].full_name,[/COLOR]
[COLOR=#ce9178]"opt_into_one_tap"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"false"[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#6a9955]# Bunun ne olduğunu bende bilmiyorum ama gerekli galiba :D[/COLOR]
[COLOR=#ce9178]"password"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].password,[/COLOR]
[COLOR=#ce9178]"username"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].username[/COLOR]
[COLOR=#d4d4d4]        })[/COLOR]
[COLOR=#6a9955]# Şimdi yaptığımız request başarılı mı diye bakacağız.[/COLOR]
[COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] (web_create_response.status_code [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#b5cea8]200[/COLOR][COLOR=#569cd6]and[/COLOR][COLOR=#d4d4d4] web_create_response.json()[[/COLOR][COLOR=#ce9178]"dryrun_passed"[/COLOR][COLOR=#d4d4d4]] [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#569cd6]True[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#6a9955]# Tamamdır şimdi asıl kayıt olma requestine giriyoruz.[/COLOR]
[COLOR=#d4d4d4]            register_response [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].POSTAndUpdate([/COLOR][COLOR=#ce9178]"https://www.instagram.com/accounts/web_create_ajax/"[/COLOR][COLOR=#d4d4d4],{[/COLOR]
[COLOR=#ce9178]"email"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].email,[/COLOR]
[COLOR=#ce9178]"first_name"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].full_name.replace([/COLOR][COLOR=#ce9178]" "[/COLOR][COLOR=#d4d4d4],[/COLOR][COLOR=#ce9178]"+"[/COLOR][COLOR=#d4d4d4]),[/COLOR]
[COLOR=#ce9178]"opt_into_one_tap"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"false"[/COLOR][COLOR=#d4d4d4], [/COLOR][COLOR=#6a9955]# Bunun ne olduğunu bende bilmiyorum ama gerekli galiba :D[/COLOR]
[COLOR=#ce9178]"password"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].password,[/COLOR]
[COLOR=#ce9178]"seamless_login_enabled"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"1"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#ce9178]"tos_version"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"row"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#ce9178]"username"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].username[/COLOR]
[COLOR=#d4d4d4]            })[/COLOR]
[COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] (register_response.status_code [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#b5cea8]200[/COLOR][COLOR=#569cd6]and[/COLOR][COLOR=#d4d4d4] register_response.json()[[/COLOR][COLOR=#ce9178]"account_created"[/COLOR][COLOR=#d4d4d4]] [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#569cd6]True[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#c586c0]return[/COLOR][COLOR=#d4d4d4] {[/COLOR]
[COLOR=#ce9178]"status"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#569cd6]True[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#ce9178]"message"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#569cd6]None[/COLOR]
[COLOR=#d4d4d4]                }[/COLOR]
[COLOR=#c586c0]else[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#c586c0]return[/COLOR][COLOR=#d4d4d4] {[/COLOR]
[COLOR=#ce9178]"status"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#569cd6]False[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#ce9178]"message"[/COLOR][COLOR=#d4d4d4]:register_response.text[/COLOR]
[COLOR=#d4d4d4]                }[/COLOR]
[COLOR=#c586c0]else[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#c586c0]return[/COLOR][COLOR=#d4d4d4] {[/COLOR]
[COLOR=#ce9178]"status"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#569cd6]False[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#ce9178]"message"[/COLOR][COLOR=#d4d4d4]:web_create_response.text[/COLOR]
[COLOR=#d4d4d4]            }[/COLOR]

[COLOR=#ce9178]"""[/COLOR]
[COLOR=#ce9178]Profil oluşturmak için bir sitenin API'sini kullanıyorum.[/COLOR]
[COLOR=#ce9178]http://rp.burakgarci.net/#api[/COLOR]

[COLOR=#ce9178]E-Mail içinse bir 10 dakikalık E-Mail adresi kullanıyorum.[/COLOR]
[COLOR=#ce9178]https://10minutemail.net/address.api.php?new=1[/COLOR]
[COLOR=#ce9178]"""[/COLOR]

[COLOR=#569cd6]class[/COLOR][COLOR=#4ec9b0]Profile[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#569cd6]def[/COLOR][COLOR=#dcdcaa]__init__[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].ses [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] Session()[/COLOR]
[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].response [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#569cd6]None[/COLOR]

[COLOR=#569cd6]def[/COLOR][COLOR=#dcdcaa]Generate[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#d4d4d4]        response [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].ses.get([/COLOR][COLOR=#ce9178]"http://rp.burakgarci.net/api.php"[/COLOR][COLOR=#d4d4d4])[/COLOR]
[COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] (response.status_code [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#b5cea8]200[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].response [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] response[/COLOR]
[COLOR=#c586c0]return[/COLOR][COLOR=#d4d4d4] response.json()[/COLOR]
[COLOR=#c586c0]else[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#c586c0]return[/COLOR][COLOR=#569cd6]None[/COLOR]

[COLOR=#569cd6]def[/COLOR][COLOR=#dcdcaa]GenerateUserName[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] ([/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].response [/COLOR][COLOR=#d4d4d4]!=[/COLOR][COLOR=#569cd6]None[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#d4d4d4]            names [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].response.json()[[/COLOR][COLOR=#ce9178]"tam_isim"[/COLOR][COLOR=#d4d4d4]].split([/COLOR][COLOR=#ce9178]" "[/COLOR][COLOR=#d4d4d4])[/COLOR]
[COLOR=#d4d4d4]            username [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].response.json()[[/COLOR][COLOR=#ce9178]"kullanici_adi"[/COLOR][COLOR=#d4d4d4]] [/COLOR][COLOR=#d4d4d4]+[/COLOR][COLOR=#ce9178]"_"[/COLOR][COLOR=#d4d4d4]+[/COLOR][COLOR=#4ec9b0]str[/COLOR][COLOR=#d4d4d4](choice([/COLOR][COLOR=#dcdcaa]range[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#b5cea8]100[/COLOR][COLOR=#d4d4d4])))[/COLOR]
[COLOR=#c586c0]return[/COLOR][COLOR=#d4d4d4] username[/COLOR]
[COLOR=#c586c0]else[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#c586c0]return[/COLOR][COLOR=#569cd6]None[/COLOR]

[COLOR=#569cd6]def[/COLOR][COLOR=#dcdcaa]GenerateMail[/COLOR][COLOR=#d4d4d4]([/COLOR][COLOR=#9cdcfe]self[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] ([/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].response [/COLOR][COLOR=#d4d4d4]!=[/COLOR][COLOR=#569cd6]None[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#d4d4d4]            response [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#569cd6]self[/COLOR][COLOR=#d4d4d4].ses.get([/COLOR][COLOR=#ce9178]"https://10minutemail.net/address.api.php?new=1"[/COLOR][COLOR=#d4d4d4])[/COLOR]
[COLOR=#c586c0]if[/COLOR][COLOR=#d4d4d4] (response.status_code [/COLOR][COLOR=#d4d4d4]==[/COLOR][COLOR=#b5cea8]200[/COLOR][COLOR=#d4d4d4]):[/COLOR]
[COLOR=#c586c0]return[/COLOR][COLOR=#d4d4d4] response.json()[[/COLOR][COLOR=#ce9178]"mail_get_mail"[/COLOR][COLOR=#d4d4d4]][/COLOR]
[COLOR=#c586c0]else[/COLOR][COLOR=#d4d4d4]:[/COLOR]
[COLOR=#c586c0]return[/COLOR][COLOR=#569cd6]None[/COLOR]

[COLOR=#d4d4d4]    profilegenerator [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] Profile()[/COLOR]
[COLOR=#d4d4d4]    info [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] profilegenerator.Generate()[/COLOR]
[COLOR=#d4d4d4]    account_opener [/COLOR][COLOR=#d4d4d4]=[/COLOR][COLOR=#d4d4d4] Opener({[/COLOR]
[COLOR=#ce9178]"email"[/COLOR][COLOR=#d4d4d4]:profilegenerator.GenerateMail(),[/COLOR]
[COLOR=#ce9178]"full_name"[/COLOR][COLOR=#d4d4d4]: info[[/COLOR][COLOR=#ce9178]"tam_isim"[/COLOR][COLOR=#d4d4d4]],[/COLOR]
[COLOR=#ce9178]"username"[/COLOR][COLOR=#d4d4d4]: profilegenerator.GenerateUserName(),[/COLOR]
[COLOR=#ce9178]"password"[/COLOR][COLOR=#d4d4d4]:[/COLOR][COLOR=#ce9178]"XHO7abrjxW"[/COLOR][COLOR=#d4d4d4],[/COLOR]
[COLOR=#ce9178]"proxy"[/COLOR][COLOR=#d4d4d4]: [/COLOR][COLOR=#ce9178]"36.89.75.225:36940/"[/COLOR]
[COLOR=#d4d4d4]    })[/COLOR]
[COLOR=#dcdcaa]print[/COLOR][COLOR=#d4d4d4](account_opener.Register())[/COLOR]
[/FONT][/COLOR]
 

xnv

Yeni üye
11 Ağu 2018
10
0
1Eqr0D.jpg
 

FoxZoby

Katılımcı Üye
19 Şub 2016
762
0
Mantık güzel ama pek işe yaramaz bu kod, instagram spam olduğunu kolayca algılar. Ayrıca Open IP Adresleriyle de kullanılamaz.

Dediğin gibi, pratikte değil, teoride işe yarayabilecek kod.

Başarılar...
 

Hichigo

Uzman üye
30 Ağu 2015
1,190
42
github.com/tarik0
Mantık güzel ama pek işe yaramaz bu kod, instagram spam olduğunu kolayca algılar. Ayrıca Open IP Adresleriyle de kullanılamaz.

Dediğin gibi, pratikte değil, teoride işe yarayabilecek kod.

Başarılar...


Kodu incelerseniz içerisinde "proxy" de kullanılabileceğini görebilirsiniz.


Open IP'den kastınız bedava verilen proxy'ler ise dediğiniz doğru instagram bir süre sonra
kullanılan proxyleri arşivleyip spam olarak algılıyor.
 

FoxZoby

Katılımcı Üye
19 Şub 2016
762
0
Kodu incelerseniz içerisinde "proxy" de kullanılabileceğini görebilirsiniz.


Open IP'den kastınız bedava verilen proxy'ler ise dediğiniz doğru instagram bir süre sonra
kullanılan proxyleri arşivleyip spam olarak algılıyor.

Evet, inceledim. Proxy desteği eklemişsiniz, mantık olarak başarılı, ama bu sistemi ayağa kaldırmak için spama düşmemiş IP adresleri olmalı Open Proxy/IP olmamalı. Spam olmayan IP adresleri de şu an tanesi 1$'dan başlamakta. Yani bu sistemle bot hesap oluşturmak baya masraflı olur.

Ki her bir Proxy IP için 1$ verseniz dahi, hesapların telefon doğrulamasına takılma şansı aşırı derecede yüksektir.

Yine de beğendim.

Bol şanslar...
 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.