├── log.md ├── __pycache__ ├── proxy_config.cpython-39.pyc └── plugin_config.cpython-39.pyc ├── proxy_config.py ├── proxies.txt ├── README.md ├── plugin_config.py ├── .github └── workflows │ └── log.yml ├── address.csv └── main.py /log.md: -------------------------------------------------------------------------------- 1 | 2 | Thu May 11 23:12:51 UTC 2023 3 | Thu Aug 3 02:25:55 UTC 2023 4 | Thu Aug 1 14:16:31 UTC 2024 5 | -------------------------------------------------------------------------------- /__pycache__/proxy_config.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Setiawan007/Gmail-Maker-BOTV2/HEAD/__pycache__/proxy_config.cpython-39.pyc -------------------------------------------------------------------------------- /__pycache__/plugin_config.cpython-39.pyc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Setiawan007/Gmail-Maker-BOTV2/HEAD/__pycache__/plugin_config.cpython-39.pyc -------------------------------------------------------------------------------- /proxy_config.py: -------------------------------------------------------------------------------- 1 | try: 2 | with open(r'C:\Users\Gmail-BOTV2\proxies.txt', 'r') as file: 3 | proxy = [line.rstrip() for line in file.readlines()] 4 | except FileNotFoundError: 5 | raise Exception('proxies.txt tidak ada.') 6 | -------------------------------------------------------------------------------- /proxies.txt: -------------------------------------------------------------------------------- 1 | 103.167.33.31:45785:Selsharmashubham859:F4s1LzV 2 | 103.199.185.150:45785:Selsharmashubham859:F4s1LzV 3 | 103.199.187.220:45785:Selsharmashubham859:F4s1LzV 4 | 103.242.116.209:45785:Selsharmashubham859:F4s1LzV 5 | 103.199.185.216:45785:Selsharmashubham859:F4s1LzV 6 | 103.167.33.218:45785:Selsharmashubham859:F4s1LzV 7 | 103.167.32.126:45785:Selsharmashubham859:F4s1LzV 8 | 103.199.187.249:45785:Selsharmashubham859:F4s1LzV 9 | 103.199.187.217:45785:Selsharmashubham859:F4s1LzV 10 | 103.167.32.223:45785:Selsharmashubham859:F4s1LzV -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # GMAIL MAKER BOTV2 2 | 3 | - Gmail Maker Bypass OTP BOT 4 | 5 | # Tools 🚀 6 | 7 | - Python 3xx 8 | - Google Chrome 9 | 10 | # SETUP 🎨 11 | 12 | - git clone https://github.com/Setiawan007/Gmail-Maker-BOTV2 13 | 14 | - cd Gmail-BOTV2 15 | 16 | - python main.py 17 | 18 | # SETUP NOTE 🤖 19 | 20 | - Perlu Di Perhatikan Di Bagian File Name Ini => https://github.com/Setiawan007/Gmail-Maker-BOTV2/blob/main/proxy_config.py#L2 21 | 22 | - Ini Ganti Juga => https://github.com/Setiawan007/Gmail-Maker-BOTV2/blob/main/main.py#L353 23 | 24 | - Sampai Ke Bawah 25 | 26 | # NOTE 💡 27 | 28 | - Perlu Di Perhatikan Penggunan Script Ini 29 | - Pastikan Internet Kamu Kencang 30 | - Jika Modules Error Ketik Aja `pip install nama modulesnya` 31 | 32 | # Working ON? 33 | 34 | - Android => RDP Client 👍 35 | - Windows => 7,8,10,11 ON 👍 36 | - Ubuntu => ON 👍 37 | -------------------------------------------------------------------------------- /plugin_config.py: -------------------------------------------------------------------------------- 1 | manifest_json = """ 2 | { 3 | "version": "1.0.0", 4 | "manifest_version": 2, 5 | "name": "Chrome Proxy", 6 | "permissions": [ 7 | "proxy", 8 | "tabs", 9 | "unlimitedStorage", 10 | "storage", 11 | "", 12 | "webRequest", 13 | "webRequestBlocking" 14 | ], 15 | "background": { 16 | "scripts": ["background.js"] 17 | }, 18 | "minimum_chrome_version":"22.0.0" 19 | } 20 | """ 21 | 22 | background_js = """ 23 | var config = { 24 | mode: "fixed_servers", 25 | rules: { 26 | singleProxy: { 27 | scheme: "http", 28 | host: "%s", 29 | port: parseInt(%s) 30 | }, 31 | bypassList: ["localhost"] 32 | } 33 | }; 34 | 35 | chrome.proxy.settings.set({value: config, scope: "regular"}, function() {}); 36 | 37 | function callbackFn(details) { 38 | return { 39 | authCredentials: { 40 | username: "%s", 41 | password: "%s" 42 | } 43 | }; 44 | } 45 | 46 | chrome.webRequest.onAuthRequired.addListener( 47 | callbackFn, 48 | {urls: [""]}, 49 | ['blocking'] 50 | ); 51 | """ -------------------------------------------------------------------------------- /.github/workflows/log.yml: -------------------------------------------------------------------------------- 1 | # This is a basic workflow to help you get started with Actions 2 | 3 | name: CI 4 | 5 | # Controls when the workflow will run 6 | on: 7 | # Triggers the workflow on push or pull request events but only for the main branch 8 | push: 9 | branches: [ main ] 10 | workflow_dispatch: 11 | schedule: 12 | - cron: '0 */1 * * *' 13 | 14 | pull_request: 15 | branches: [ main ] 16 | 17 | # Allows you to run this workflow manually from the Actions tab 18 | 19 | # A workflow run is made up of one or more jobs that can run sequentially or in parallel 20 | jobs: 21 | # This workflow contains a single job called "build" 22 | build: 23 | # The type of runner that the job will run on 24 | runs-on: ubuntu-latest 25 | 26 | # Steps represent a sequence of tasks that will be executed as part of the job 27 | steps: 28 | # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it 29 | - uses: actions/checkout@v3 30 | 31 | # Runs a single command using the runners shell 32 | - name: first commit 33 | run: date >> log.md 34 | 35 | # Runs a set of commands using the runners shell 36 | - name: second commit 37 | run: | 38 | git add . 39 | git config user.name 'Setiawan007' 40 | git config user.email 'febriantobagussetiawan@gmail.com' 41 | git commit -m "Jangan Lupa Follow @Setiawan007" 42 | git push 43 | 44 | - name: third commit 45 | run: sed -i '$ d' log.md 46 | 47 | - name: finishing 48 | run: | 49 | git add . 50 | git config user.name 'Setiawan007' 51 | git config user.email 'febriantobagussetiawan@gmail.com' 52 | git commit -m "Jangan Lupa Follow @Setiawan007" 53 | git push 54 | -------------------------------------------------------------------------------- /address.csv: -------------------------------------------------------------------------------- 1 | FirstName,LastName,EmailId,Password,Dob,proxyused 2 | Kamal,Gurjar,KamalGurjar4566189@gmail.com,"rl?6!Qr0(nw,8-8-1994,103.167.32.126:45785:Selsharmashubham859:F4s1LzV 9 | Dhyanendra,Mohanty,DhyanendraMohanty5419371@gmail.com,*4rnW_2.d^EzvKKP5qPLYI)gC-,1-4-1990,103.199.187.249:45785:Selsharmashubham859:F4s1LzV 10 | Baikunth,Ghosh,BaikunthGhosh2121654@gmail.com,=asx3ZkXvCOED*aW_hiu^,13-10-1996,103.199.187.217:45785:Selsharmashubham859:F4s1LzV 11 | Virat,Saini,ViratSaini4533274@gmail.com,^kB706hOg0,9-1-1992,103.167.33.31:45785:Selsharmashubham859:F4s1LzV 12 | Harsh,Pujari,HarshPujari3850165@gmail.com,"9NxP_68^mg,#tLl",11-9-1994,103.199.185.150:45785:Selsharmashubham859:F4s1LzV 13 | Abhijeet,Guru,AbhijeetGuru575959@gmail.com,OG-N.0wcmO7?r!mhj!.,27-10-1993,103.199.187.220:45785:Selsharmashubham859:F4s1LzV 14 | Shankar,Khattar,ShankarKhattar610717@gmail.com,-O2vm6UGZPyb,21-9-1997,103.199.185.216:45785:Selsharmashubham859:F4s1LzV 15 | Vignesh,Agnihotri,VigneshAgnihotri3667493@gmail.com,pej&oYU&b<9i4T,5-12-1995,103.167.33.218:45785:Selsharmashubham859:F4s1LzV 16 | Narayan,Goyal,NarayanGoyal3822368@gmail.com,"h%w19.B+K7+L0w&j,JI",2-11-1995,103.167.32.126:45785:Selsharmashubham859:F4s1LzV 17 | Nitesh,Swaraj,NiteshSwaraj3796285@gmail.com,$B3>>-nnaO2ba,22-11-1994,103.199.187.217:45785:Selsharmashubham859:F4s1LzV 18 | Raghu,Bala,RaghuBala3735488@gmail.com,A?tZJoF?pv(-S<8A,2-1-1991,103.199.185.150:45785:Selsharmashubham859:F4s1LzV 19 | Pushkar,Bhatnagar,PushkarBhatnagar849827@gmail.com,*VhYd5Sju6b*-MGNo^D3kiHa,3-8-1992,103.199.187.220:45785:Selsharmashubham859:F4s1LzV 20 | Omprakash,Gunji,OmprakashGunji3255873@gmail.com,FYdprN15.hO,21-10-1991,103.242.116.209:45785:Selsharmashubham859:F4s1LzV 21 | Rudra,Patnaik,RudraPatnaik3622264@gmail.com,LN-1H)11W8nJs,12-7-1995,103.199.185.216:45785:Selsharmashubham859:F4s1LzV 22 | Rajat,Mistry,RajatMistry548896@gmail.com,s%Z0*0!_X6,7Z,18-6-1993,103.199.185.150:45785:Selsharmashubham859:F4s1LzV 31 | Shivpoojan,Thakkar,ShivpoojanThakkar3724014@gmail.com,(&s)g3V2px2yGh,26-11-1997,103.199.187.220:45785:Selsharmashubham859:F4s1LzV 32 | Premshankar,Khatri,PremshankarKhatri931345@gmail.com,tt?9$D#yj-gNUN&6,10-5-1996,103.242.116.209:45785:Selsharmashubham859:F4s1LzV 33 | Shekhar,Dikshit,ShekharDikshit3680563@gmail.com,oO<0mWlpz,2-11-1996,103.167.33.218:45785:Selsharmashubham859:F4s1LzV 34 | Yash,Khattar,YashKhattar1231835@gmail.com,onnGVZIf+Dk)G8NB<3>O,2-3-1994,103.199.187.249:45785:Selsharmashubham859:F4s1LzV 35 | Kamal,Gurjar,KamalGurjar5209456@gmail.com,qi^F9$c_OPy,20-3-1991,103.199.187.217:45785:Selsharmashubham859:F4s1LzV 36 | Vivasvan,Mantri,VivasvanMantri3975273@gmail.com,x9P)#fGJfy,16-5-1995,103.167.33.31:45785:Selsharmashubham859:F4s1LzV 37 | Abhilesh,Goswami,AbhileshGoswami5443291@gmail.com,D_PJp8P79K2kj+!,23-6-1997,103.167.33.218:45785:Selsharmashubham859:F4s1LzV 42 | Sarthak,Kannaujiya,SarthakKannaujiya5115782@gmail.com,aD^n#qW1I,1-5-1997,103.167.32.126:45785:Selsharmashubham859:F4s1LzV 43 | Raghu,Gambhir,RaghuGambhir4620113@gmail.com,mfHRC1jiQM(aGKOL%liA*9U,29-4-1997,103.199.187.249:45785:Selsharmashubham859:F4s1LzV 44 | Kaushal,Bhogle,KaushalBhogle5305691@gmail.com,ULDq+ES0LB7,19-6-1990,103.199.187.217:45785:Selsharmashubham859:F4s1LzV 45 | Kesari,Dhumal,KesariDhumal617536@gmail.com,3ZiDvw%2P^U-A>K?hT9I3o_8x,2-10-1992,103.167.33.31:45785:Selsharmashubham859:F4s1LzV 46 | Sudesh,Mazumdar,SudeshMazumdar4261844@gmail.com,xEim9uZsO!,23-10-1992,103.167.33.31:45785:Selsharmashubham859:F4s1LzV 47 | Arpit,Jahagirdar,ArpitJahagirdar1074697@gmail.com,CwAOo-LW<1xoAsWTigR,11-4-1992,103.199.185.150:45785:Selsharmashubham859:F4s1LzV 48 | Surya,Kadam,SuryaKadam4454978@gmail.com,sVC+dpk$_Mv3j#Z+OL,24-1-1993,103.199.187.220:45785:Selsharmashubham859:F4s1LzV 49 | Gomed,Bansal,GomedBansal2753846@gmail.com,"kC)#4dl1twDA,cK?OF=h",6-8-1992,103.242.116.209:45785:Selsharmashubham859:F4s1LzV 50 | Raghu,Bhattacharya,RaghuBhattacharya184399@gmail.com,2cJeFnC_%8unq,12-5-1995,103.199.185.216:45785:Selsharmashubham859:F4s1LzV 51 | Prateek,Mohanty,PrateekMohanty1138869@gmail.com,"?,S3c1jY%HFzg9",18-4-1995,103.167.33.218:45785:Selsharmashubham859:F4s1LzV 52 | Rakesh,Suryavanshi,RakeshSuryavanshi2882111@gmail.com,"L=V,D0vJeo",11-3-1997,103.167.32.126:45785:Selsharmashubham859:F4s1LzV 53 | Virat,Gaitonde,ViratGaitonde1075681@gmail.com,H&o1+Gn?P-nmD22QUcOAnzXI,18-12-1990,103.199.187.249:45785:Selsharmashubham859:F4s1LzV 54 | Pramad,Mishra,PramadMishra1990553@gmail.com,i!TU7H!QhSp+m4kRNqSJL2j)k,13-12-1993,103.199.187.217:45785:Selsharmashubham859:F4s1LzV 55 | Premnarayan,Javdekar,PremnarayanJavdekar5556963@gmail.com,0-6X6+-oKAW&rrR6pnux(Q4 timedelta(minutes=2): 61 | return None 62 | 63 | if "STATUS_OK" in response: 64 | _otp = response.split(":")[1] 65 | print("OTP is", _otp) 66 | return _otp.strip() 67 | else: 68 | status_url = f"http://api.sms-man.com/stubs/handler_api.php?action=getStatus&api_key={api_key}&id={id}" 69 | response = requests.get(status_url).text 70 | 71 | 72 | def enter_name_details(driver: webdriver.Chrome, f_name, l_name, username, password, wait): 73 | first_name = wait.until(EC.element_to_be_clickable( 74 | (By.XPATH, "/html/body/div[1]/div[1]/div[2]/div[1]/div[2]/div/div/div[2]/div/div[1]/div/form/span/section/div/div/div[1]/div[1]/div[1]/div/div[1]/div/div[1]/input"))) 75 | slow_type(first_name, f_name) 76 | 77 | last_name = wait.until(EC.element_to_be_clickable( 78 | (By.XPATH, "/html/body/div[1]/div[1]/div[2]/div[1]/div[2]/div/div/div[2]/div/div[1]/div/form/span/section/div/div/div[1]/div[1]/div[2]/div/div[1]/div/div[1]/input"))) 79 | slow_type(last_name, l_name) 80 | 81 | user_name = wait.until(EC.element_to_be_clickable((By.XPATH, 82 | "/html/body/div[1]/div[1]/div[2]/div[1]/div[2]/div/div/div[2]/div/div[1]/div/form/span/section/div/div/div[2]/div[1]/div/div[1]/div/div[1]/input") 83 | )) 84 | slow_type(user_name, username) 85 | 86 | pass1 = wait.until(EC.element_to_be_clickable((By.XPATH, 87 | "/html/body/div[1]/div[1]/div[2]/div[1]/div[2]/div/div/div[2]/div/div[1]/div/form/span/section/div/div/div[3]/div[1]/div/div/div[1]/div/div[1]/div/div[1]/input") 88 | )) 89 | slow_type(pass1, password) 90 | 91 | pass2 = wait.until(EC.element_to_be_clickable((By.XPATH, 92 | "/html/body/div[1]/div[1]/div[2]/div[1]/div[2]/div/div/div[2]/div/div[1]/div/form/span/section/div/div/div[3]/div[1]/div/div/div[2]/div/div[1]/div/div[1]/input") 93 | )) 94 | slow_type(pass2, password) 95 | 96 | next_button = wait.until(EC.element_to_be_clickable((By.XPATH, 97 | "/html/body/div[1]/div[1]/div[2]/div[1]/div[2]/div/div/div[2]/div/div[2]/div/div[1]/div/div/button"))).click() 98 | 99 | 100 | def Enter_Phone_Details(driver: webdriver.Chrome, phn_num, phn_id, wait): 101 | enter_phone_number = wait.until(EC.element_to_be_clickable((By.XPATH, 102 | "/html/body/div[1]/div[1]/div[2]/div[1]/div[2]/div/div/div[2]/div/div[1]/div/form/span/section/div/div/div[2]/div/div[2]/div[1]/label/input") 103 | )) 104 | enter_phone_number.clear() 105 | slow_type(enter_phone_number, phn_num) 106 | 107 | next_button_2 = wait.until(EC.element_to_be_clickable((By.XPATH, 108 | "/html/body/div[1]/div[1]/div[2]/div[1]/div[2]/div/div/div[2]/div/div[2]/div/div[1]/div/div/button"))).click() 109 | 110 | time.sleep(3) 111 | 112 | try: 113 | check_phn_validity = wait.until(EC.element_to_be_clickable((By.XPATH, 114 | "/html/body/div[1]/div[1]/div[2]/div[1]/div[2]/div/div/div[2]/div/div[1]/div/form/span/section/div/div/div[2]/div/div[2]/div[2]/div") 115 | )) 116 | if "used too many times" in check_phn_validity.text: 117 | phn_id, phn_num = phone_number_gen() 118 | phn_id, phn_num = Enter_Phone_Details( 119 | driver=driver, phn_num=phn_num, phn_id=phn_id, wait=wait) 120 | 121 | except: 122 | pass 123 | 124 | return phn_num, phn_id 125 | 126 | 127 | def Enter_Verify_Otp(driver: webdriver.Chrome, phn_id, phn_num, wait): 128 | 129 | get_code = check_otp(phn_id) 130 | 131 | while(get_code == None): 132 | back_button = wait.until(EC.element_to_be_clickable( 133 | (By.XPATH, "/html/body/div[1]/div[1]/div[2]/div[1]/div[2]/div/div/div[2]/div/div[2]/div[1]/div/div/button"))).click() 134 | 135 | phn_id, phn_num = phone_number_gen() 136 | 137 | phn_num, phn_id = Enter_Phone_Details( 138 | driver, phn_num=phn_num, phn_id=phn_id, wait=wait) 139 | 140 | get_code = check_otp(phn_id) 141 | 142 | time.sleep(3) 143 | 144 | enter_otp = wait.until(EC.element_to_be_clickable((By.XPATH, 145 | "/html/body/div[1]/div[1]/div[2]/div[1]/div[2]/div/div/div[2]/div/div[1]/div/form/span/section/div/div/div[2]/div/div[1]/div/div[1]/input") 146 | )) 147 | slow_type(enter_otp, get_code) 148 | time.sleep(3) 149 | try: 150 | verify_button = wait.until(EC.element_to_be_clickable((By.XPATH, 151 | "/html/body/div[1]/div[1]/div[2]/div[1]/div[2]/div/div/div[2]/div/div[2]/div[2]/div[1]/div/div/button"))).click() 152 | 153 | except: 154 | back_button = wait.until(EC.element_to_be_clickable( 155 | (By.XPATH, "/html/body/div[1]/div[1]/div[2]/div[1]/div[2]/div/div/div[2]/div/div[2]/div[1]/div/div/button"))).click() 156 | 157 | phn_id, phn_num = phone_number_gen() 158 | 159 | phn_num, phn_id = Enter_Phone_Details( 160 | driver, phn_num=phn_num, phn_id=phn_id, wait=wait) 161 | 162 | phn_num, phn_id = Enter_Verify_Otp( 163 | driver, phn_num=phn_num, phn_id=phn_id, wait=wait) 164 | 165 | return phn_id, phn_num 166 | 167 | 168 | def Enter_DOB(driver: webdriver.Chrome, day_bday, year_bday, month_bday, wait): 169 | bday_month = Select(wait.until( 170 | EC.element_to_be_clickable((By.ID, "month")))) 171 | bday_month.select_by_value(month_bday) 172 | time.sleep(3) 173 | 174 | bday_day = wait.until(EC.element_to_be_clickable((By.ID, "day"))) 175 | slow_type(bday_day, day_bday) 176 | 177 | bday_year = wait.until(EC.element_to_be_clickable((By.ID, "year"))) 178 | slow_type(bday_year, year_bday) 179 | 180 | gender = Select(wait.until(EC.element_to_be_clickable((By.ID, "gender")))) 181 | gender.select_by_value("1") 182 | time.sleep(3) 183 | 184 | next3_button = wait.until(EC.element_to_be_clickable((By.XPATH, 185 | "/html/body/div[1]/div[1]/div[2]/div[1]/div[2]/div/div/div[2]/div/div[2]/div/div[1]/div/div/button"))).click() 186 | 187 | 188 | def Generate_Details(): 189 | pwo = PasswordGenerator() 190 | pwo.minlen = 9 191 | pwo.maxlen = 26 192 | 193 | password = pwo.generate() 194 | 195 | full_name = indian_names.get_full_name(gender='male') 196 | f_name = full_name.split()[0] 197 | l_name = full_name.split()[1] 198 | username = f_name+l_name+str(random.randint(10000, 6000000)) 199 | 200 | phn_id, phn_num = phone_number_gen() 201 | 202 | month_bday = str(random.randint(1, 12)) 203 | day_bday = str(random.randint(1, 30)) 204 | year_bday = str(random.randint(1990, 1997)) 205 | 206 | return password, username, phn_id, phn_num, month_bday, day_bday, year_bday, f_name, l_name 207 | 208 | 209 | def prepare_env(): 210 | OSNAME = platform.system() 211 | 212 | if OSNAME == 'Linux': 213 | OSNAME = 'lin' 214 | with subprocess.Popen(['google-chrome', '--version'], stdout=subprocess.PIPE) as proc: 215 | version = proc.stdout.read().decode('utf-8').replace('Google Chrome', '').strip() 216 | elif OSNAME == 'Darwin': 217 | OSNAME = 'mac' 218 | process = subprocess.Popen( 219 | ['/Applications/Google Chrome.app/Contents/MacOS/Google Chrome', '--version'], stdout=subprocess.PIPE) 220 | version = process.communicate()[0].decode( 221 | 'UTF-8').replace('Google Chrome', '').strip() 222 | elif OSNAME == 'Windows': 223 | OSNAME = 'win' 224 | process = subprocess.Popen( 225 | ['reg', 'query', 'HKEY_CURRENT_USER\\Software\\Google\\Chrome\\BLBeacon', '/v', 'version'], 226 | stdout=subprocess.PIPE, stderr=subprocess.DEVNULL, stdin=subprocess.DEVNULL 227 | ) 228 | version = process.communicate()[0].decode('UTF-8').strip().split()[-1] 229 | else: 230 | print('{} OS is not supported.'.format(OSNAME)) 231 | sys.exit() 232 | 233 | major_version = version.split('.')[0] 234 | 235 | uc.TARGET_VERSION = major_version 236 | 237 | uc.install() 238 | 239 | return OSNAME 240 | 241 | 242 | def prepare_proxy(proxy): 243 | 244 | OSNAME = prepare_env() 245 | 246 | proxy_split = proxy.split(":") 247 | PROXY_HOST = proxy_split[0] 248 | PROXY_PORT = proxy_split[1] 249 | PROXY_USER = proxy_split[2] 250 | PROXY_PASS = proxy_split[3] 251 | 252 | header = Headers( 253 | browser="chrome", 254 | os=OSNAME, 255 | headers=False 256 | ).generate() 257 | agent = header['User-Agent'] 258 | 259 | options = webdriver.ChromeOptions() 260 | pluginfile = 'proxy_auth_plugin.zip' 261 | with zipfile.ZipFile(pluginfile, 'w') as zp: 262 | zp.writestr("manifest.json", manifest_json) 263 | zp.writestr("background.js", background_js % 264 | (PROXY_HOST, PROXY_PORT, PROXY_USER, PROXY_PASS)) 265 | options.add_extension(pluginfile) 266 | prefs = {"profile.default_content_setting_values.notifications": 2} 267 | options.add_experimental_option("prefs", prefs) 268 | options.add_experimental_option('prefs', { 269 | 'credentials_enable_service': False, 270 | 'profile': { 271 | 'password_manager_enabled': False 272 | } 273 | }) 274 | options.add_argument('--no-sandbox') 275 | options.add_argument('--disable-dev-shm-usage') 276 | options.add_argument("--disable-web-security") 277 | # viewport = ['2560,1440', '1920,1080'] 278 | # options.add_argument(f"--window-size={choice(viewport)}") 279 | options.add_argument("--log-level=3") 280 | options.add_argument('--disable-blink-features=AutomationControlled') 281 | options.add_experimental_option( 282 | "excludeSwitches", ["enable-automation", "enable-logging"]) 283 | options.add_experimental_option('useAutomationExtension', False) 284 | options.add_argument(f"user-agent={agent}") 285 | driver = webdriver.Chrome(options=options) 286 | 287 | return driver 288 | 289 | 290 | def main(_proxy): 291 | try: 292 | # proxy = "103.167.32.223:45785:Selsharmashubham859:F4s1LzV" 293 | 294 | driver = prepare_proxy(proxy=_proxy) 295 | wait = WebDriverWait(driver, 40) 296 | 297 | print('\033[92m' + f'Proxy: {_proxy}' + '\033[0m') 298 | 299 | warnings.filterwarnings("ignore", category=DeprecationWarning) 300 | 301 | driver.get( 302 | "https://accounts.google.com/signup/v2/webcreateaccount?flowName=GlifWebSignIn&flowEntry=SignUp") 303 | 304 | password, username, phn_id, phn_num, month_bday, day_bday, year_bday, f_name, l_name = Generate_Details() 305 | enter_name_details(driver, f_name=f_name, l_name=l_name, 306 | username=username, password=password, wait=wait) 307 | 308 | time.sleep(3) 309 | 310 | phn_num, phn_id = Enter_Phone_Details( 311 | driver, phn_num=phn_num, phn_id=phn_id, wait=wait) 312 | 313 | time.sleep(3) 314 | 315 | phn_id, phn_num = Enter_Verify_Otp( 316 | driver=driver, phn_id=phn_id, phn_num=phn_num, wait=wait) 317 | 318 | time.sleep(3) 319 | 320 | Enter_DOB(driver=driver, day_bday=day_bday, 321 | month_bday=month_bday, year_bday=year_bday, wait=wait) 322 | 323 | time.sleep(3) 324 | 325 | skip_button = wait.until(EC.element_to_be_clickable((By.XPATH, 326 | "/html/body/div[1]/div[1]/div[2]/div[1]/div[2]/div/div/div[2]/div/div[2]/div[2]/div[2]/div/div/button"))).click() 327 | 328 | time.sleep(3) 329 | 330 | i_agree_button = wait.until(EC.element_to_be_clickable((By.XPATH, 331 | "/html/body/div[1]/div[1]/div[2]/div[1]/div[2]/div/div/div[2]/div/div[2]/div/div[1]/div/div/button"))).click() 332 | 333 | dob = day_bday+"-"+month_bday+"-"+year_bday 334 | data = [f_name, l_name, username + 335 | "@gmail.com", password, dob, _proxy] 336 | print(data) 337 | 338 | time.sleep(10) 339 | driver.close() 340 | return data 341 | except Exception as e: 342 | print(e) 343 | traceback.print_exc() 344 | driver.close() 345 | 346 | 347 | if __name__ == "__main__": 348 | result = Parallel(n_jobs=3)(delayed(main)(_proxy) 349 | for _proxy in proxy) 350 | print(result) 351 | 352 | df = pd.read_csv( 353 | r"C:\Users\NamaPCMU\PATH\address.csv") 354 | 355 | for data in result: 356 | if data: 357 | df.loc[len(df)] = data 358 | 359 | df.to_csv( 360 | r"C:\Users\NamaPCMU\PATH\address.csv", index=False) 361 | 362 | # main() 363 | 364 | --------------------------------------------------------------------------------