• 16-07-2025, 22:35:13
    #1
    - Ücretsiz bir api'ye bağlı ve proxy kullanmıyor entegre etmedim. Tek seferde 1000 adete kadar tarama sağlayabilir fakat proxysiz olduğundan dolayı engel yememesi için thread sayısı 2 olarak sınırlandırıldı.
    - Yüklenen mailleri otomatik düzenleyebilir (örn: qwe@gmailcom12323 >> qwe@gmail.com)
    - Sıkıntısız mailleri canli.txt , telefon onayına düşen ve devredışı olan mailleri kapalı.txt dosyasına kaydeder
    - Çalıştırabilmeniz için programla aynı konumda emails.txt dosyası olması gerekir.

    Geliştirmek isteyenler olursa açık kaynak kodlarıyla beraber linkini bırakıyorum üzerinde çalışabilirsiniz

    KAYNAK KOD ;
    import requests
    import os
    import sys
    import ctypes
    import time
    import random
    import re
    import time
    from colorama import init, Fore
    from concurrent.futures import ThreadPoolExecutor, as_completed
    from threading import Lock
    
    init(autoreset=True)
    
    if os.name == 'nt':
        import msvcrt
    
    lock = Lock()
    live_count = 0
    error_count = 0
    remaining = 0
    
    key_list = [
        "282288a503b1e4664a0fdd0ce4d8ea59\n\n\n\n",
        "45128e4a6a1ac07f4e0718ce9c06504a\n\n\n\n",
        "7bbbd5e49444d9a730d22da47154d804\n\n\n\n",
        "5cc352f7c1ac115948fe81bb8541926c\n\n\n\n",
        "6a028ab5f59cfeb17b780900df81f17d\n\n\n\n",
        "f6623b8a2490dce03f1750f2d31f3e87\n\n\n\n",
        "f74cb4f76a11a204b51865b6149a8eec\n\n\n\n",
        "b7feba9db01a48ca8bc72b98628ae2b8\n\n\n\n",
        "00695fd0e7f318ecd2ebe518f795067a\n\n\n\n",
        "9c45fe11f1b80bbe140468003e0f9b21\n\n\n\n",
        "bb2a037f216f582bf792706d77abba7e\n\n\n\n",
        "f855cd26998981ccfaaf496527f30f09\n\n\n\n"
    ]
    
    def set_console_title(title: str):
        if os.name == 'nt':
            ctypes.windll.kernel32.SetConsoleTitleW(title)
        else:
            sys.stdout.write(f"\33]0;{title}\a")
            sys.stdout.flush()
    
    def wait_for_1_key():
        if os.name == 'nt':
            print("> Başlamak için [1] tuşuna basınız...")
            while True:
                if msvcrt.kbhit():
                    key = msvcrt.getch()
                    if key == b'1':
                        break
        else:
            while True:
                key = input("> Başlamak için [1] yazıp Enter'a basınız: ").strip()
                if key == '1':
                    break
    
    def normalize_email(email):
        match = re.match(r'^(.+@gmail\.com)', email)
        return match.group(1) if match else email.strip()
    
    def check_email(email, url, headers, total):
        global live_count, error_count, remaining
    
        email = normalize_email(email)
        key_value = random.choice(key_list)
    
        data = {
            "fastCheck": True,
            "key": key_value,
            "mail": [email]
        }
    
        try:
            response = requests.post(url, json=data, headers=headers, timeout=10)
        except Exception:
            with lock:
                error_count += 1
                remaining -= 1
                print(Fore.RED + f"{email} | KAPALI (İstek Hatası)")
                set_console_title(f"Kalan Mail : {remaining}")
            return
    
        if response.status_code in [401, 403, 400]:
            print(Fore.RED + "Api Key Error! HTTP Status: " + str(response.status_code))
            sys.exit(1)
    
        try:
            result = response.json()
        except Exception:
            with lock:
                error_count += 1
                remaining -= 1
                print(Fore.RED + f"{email} | KAPALI (Geçersiz JSON)")
                set_console_title(f"Kalan Mail : {remaining}")
            return
    
        if result.get("status") is False:
            message = result.get("message", "").lower()
            if "key" in message or "api key" in message or "invalid" in message or "unauthorized" in message:
                print(Fore.RED + "Api Key Error! Mesaj: " + result.get("message", ""))
                sys.exit(1)
    
        status = "error"
        try:
            status_value = result["data"][0]["status"].lower()
            if status_value == "live":
                status = "live"
        except (KeyError, IndexError, TypeError):
            status = "error"
    
        with lock:
            if status == "live":
                live_count += 1
                print(Fore.GREEN + f"{email} | CANLI")
                with open("canli.txt", "a", encoding="utf-8") as f:
                    f.write(email + "\n")
            else:
                error_count += 1
                print(Fore.RED + f"{email} | KAPALI")
                with open("kapali.txt", "a", encoding="utf-8") as f:
                    f.write(email + "\n")
            remaining -= 1
            set_console_title(f"Kalan Mail : {remaining}")
    
    def main():
        global remaining
    
        set_console_title("Gmail Checker [v0.1]")
    
        try:
            with open("emails.txt", "r", encoding="utf-8") as f:
                emails = [normalize_email(line.strip()) for line in f if line.strip()]
        except FileNotFoundError:
            print("emails.txt dosyası bulunamadı! Program sonlandırılıyor.")
            return
    
        total = len(emails)
        remaining = total
        print(f"> R10.Net | Fivefingerx ")
        print(f"> Toplam yüklenen mail sayısı : {total}")
        wait_for_1_key()
    
        url = "https://gmailver.com/php/check1.php"
        headers = {
            "Content-Type": "application/json"
        }
    
        start_time = time.time()
    
        with ThreadPoolExecutor(max_workers=2) as executor:
            futures = [executor.submit(check_email, email, url, headers, total) for email in emails]
            for _ in as_completed(futures):
                pass
    
        end_time = time.time()
        elapsed = end_time - start_time
        minutes = int(elapsed // 60)
        seconds = int(elapsed % 60)
    
        print()
        print(f"Toplam geçen süre : {minutes} dakika {seconds} saniye   |   Toplam Live : {live_count}   |   Toplam Error : {error_count}")
    
        if os.name == 'nt':
            print("\nÇıkmak için bir tuşa basın...")
            os.system("pause >nul")
        else:
            input("\nÇıkmak için Enter'a basın...")
    
    if __name__ == "__main__":
        main()



  • 16-07-2025, 22:42:49
    #2
    Teşekkürler hocam
  • 16-07-2025, 22:43:47
    #3
    ELLAS adlı üyeden alıntı: mesajı görüntüle
    Teşekkürler hocam
    Ben teşekkür ederim hocam
  • 16-07-2025, 22:45:02
    #4
    Hocam checkerler ne işe yarıyor?
  • 16-07-2025, 22:46:03
    #5
    Ravoze adlı üyeden alıntı: mesajı görüntüle
    Hocam checkerler ne işe yarıyor?
    Maile şifreyle giriş yapmadan mailin aktif olup olmadığını, telefon onayına düşüp düşmediğini vs kontrol ediyor hocam gmail alım satım yapanlar hesap satmadan önce checkerdan geçirir genelde hesapların sağlam olduğundan emin olmak için
  • 16-07-2025, 22:46:48
    #6
    fivefingerx adlı üyeden alıntı: mesajı görüntüle
    Maile şifreyle giriş yapmadan mailin aktif olup olmadığını, telefon onayına düşüp düşmediğini vs kontrol ediyor hocam gmail alım satım yapanlar hesap satmadan önce checkerdan geçirir genelde hesapların sağlam olduğundan emin olmak için
    Eyvallah hocam teşekkürler.
  • 16-07-2025, 22:47:20
    #7
    Ravoze adlı üyeden alıntı: mesajı görüntüle
    Eyvallah hocam teşekkürler.
    Rica ederim hocam
  • 16-07-2025, 22:56:05
    #8
    Teşekkürler
  • 16-07-2025, 23:06:07
    #9
    Ek bir tool a gerek yokmuş hocam sitede

    https://gmailver.com/