├── Gmail creator └── source │ ├── gmail_generator.py │ └── images │ ├── gmail_form.png │ ├── gmail_form2.png │ └── start_button.png ├── LICENSE └── README.md /Gmail creator/source/gmail_generator.py: -------------------------------------------------------------------------------- 1 | #! python3 2 | 3 | # Author : Petar I 4 | # GitHub : https://github.com/Ipetar69 5 | # Year : 2021. 6 | # Description : Script that generates random Gmail account. 7 | 8 | import pyautogui 9 | import sys 10 | import time 11 | import random 12 | import string 13 | import os 14 | 15 | # Printing funtion with 3 modes 16 | # 1 : Normal message 17 | # 2 : Information message 18 | # 3 : Caution message 19 | def msg( 20 | _option_, 21 | _message_ 22 | ): 23 | if _option_ == 1: 24 | print('\x1b[0;32;40m> %s\x1b[0m' % _message_) 25 | elif _option_ == 2: 26 | print('\x1b[0;32;40m>\x1b[0m %s' % _message_) 27 | elif _option_ == 3: 28 | print('\n\x1b[0;32;40m[\x1b[0m%s\x1b[0;32;40m]\x1b[0m' % _message_) 29 | else: 30 | print('\n\x1b[0;31;40m[ERROR]\x1b[0m') 31 | 32 | # Exiting function 33 | def ext(): 34 | msg(1,'Exiting...') 35 | sys.exit() 36 | 37 | 38 | # Function used to open Firefox 39 | def open_firefox(): 40 | 41 | # Printing basic message 42 | msg(1,'Opening Firefox...') 43 | 44 | # Location the start button 45 | _start_button_=pyautogui.locateOnScreen('images/start_button.png') 46 | _location_=pyautogui.center(_start_button_) 47 | 48 | # Clicking the start button 49 | if not pyautogui.click(_location_): 50 | msg(1,'Opened start menu successfully!') 51 | else: 52 | msg(3,'Failed to open start menu!') 53 | ext() 54 | 55 | time.sleep(2) 56 | 57 | # Search for Firefox in the menu search 58 | pyautogui.typewrite('firefox') 59 | pyautogui.typewrite('\n') 60 | 61 | # Print message 62 | msg(1,'Firefox is now open and running.') 63 | 64 | 65 | # Function used to locate GMail 66 | def locate_gmail(): 67 | 68 | #Sleep for a while and wait for Firefox to open 69 | time.sleep(3) 70 | 71 | # Printing message 72 | msg(1,'Opening Gmail...') 73 | 74 | # Typing the website on the browser 75 | pyautogui.keyDown('ctrlleft'); pyautogui.typewrite('a'); pyautogui.keyUp('ctrlleft') 76 | pyautogui.typewrite('https://accounts.google.com/SignUp?service=mail&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F<mpl=default') 77 | pyautogui.typewrite('\n') 78 | 79 | # Wait for a while until the website responds 80 | time.sleep(6) 81 | 82 | # Print a simple message 83 | msg(1,'Locating the form...') 84 | 85 | # Locate the form 86 | pyautogui.press('tab') 87 | 88 | time.sleep(2) 89 | 90 | _gmail_ = pyautogui.locateOnScreen('images/gmail_form.png') 91 | formx, formy = pyautogui.center(_gmail_) 92 | pyautogui.click(formx, formy) 93 | 94 | # Check and print message 95 | if not pyautogui.click(formx, formy): 96 | msg(1,'Located the form.') 97 | else: 98 | msg(3,'Failed to locate the form.') 99 | ext() 100 | 101 | 102 | # Function used to randomize credentials 103 | def randomize( 104 | _option_, 105 | _length_ 106 | ): 107 | 108 | if _length_ > 0 : 109 | 110 | # Options: 111 | # -p for letters, numbers and symbols 112 | # -l for letters only 113 | # -n for numbers only 114 | # -m for month selection 115 | # -d for day selection 116 | # -y for year selection 117 | 118 | if _option_ == '-p': 119 | string._characters_='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()_+' 120 | elif _option_ == '-l': 121 | string._characters_='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' 122 | elif _option_ == '-n': 123 | string._characters_='1234567890' 124 | elif _option_ == '-m': 125 | string._characters_='JFMASOND' 126 | 127 | if _option_ == '-d': 128 | _generated_info_=random.randint(1,28) 129 | elif _option_ == '-y': 130 | _generated_info_=random.randint(1950,2000) 131 | else: 132 | _generated_info_='' 133 | for _counter_ in range(0,_length_) : 134 | _generated_info_= _generated_info_ + random.choice(string._characters_) 135 | 136 | return _generated_info_ 137 | 138 | else: 139 | msg(3,'No valid length specified...') 140 | ext() 141 | 142 | 143 | # Function used to generate the credential information 144 | def generate_info(): 145 | 146 | # Print message 147 | msg(1,'Generating credentials...') 148 | 149 | # First and last name 150 | _first_name_=randomize('-l',7) 151 | pyautogui.typewrite(_first_name_) 152 | pyautogui.typewrite('\t') 153 | _last_name_=randomize('-l',8) 154 | pyautogui.typewrite(_last_name_) 155 | pyautogui.typewrite('\t') 156 | msg(2,'\x1b[0;33;40mName:\x1b[0m %s %s' % (_first_name_,_last_name_)) 157 | 158 | # Username 159 | _username_=randomize('-l',10) 160 | pyautogui.typewrite(_username_) 161 | pyautogui.typewrite('\t') 162 | msg(2,'\x1b[0;33;40mUsername:\x1b[0m %s' % _username_) 163 | 164 | # Password 165 | _password_=randomize('-p',16) 166 | pyautogui.typewrite(_password_+'\t'+_password_+'\t') 167 | msg(2,'\x1b[0;33;40mPassword:\x1b[0m %s' % _password_) 168 | 169 | # Date of birth 170 | _month_=randomize('-m',1) 171 | _day_=randomize('-d',1) 172 | _year_=randomize('-y',1) 173 | pyautogui.typewrite(_month_+'\t'+str(_day_)+'\t'+str(_year_)+'\t') 174 | msg(2,'\x1b[0;33;40mDate of birth:\x1b[0m %s/%d/%d' % (_month_,_day_,_year_)) 175 | 176 | # Gender (set to 'Rather not say') 177 | pyautogui.typewrite('R\t') 178 | msg(2,'\x1b[0;33;40mGender:\x1b[0m Rather not say') 179 | 180 | # Skip the rest 181 | pyautogui.typewrite('\t\t\t\t\n') 182 | 183 | # Close the browser 184 | browserExe = "firefox" 185 | os.system("pkill "+browserExe) 186 | 187 | 188 | # Main function 189 | if __name__=='__main__': 190 | 191 | if open_firefox() : 192 | msg(3,'Failed to execute "open_firefox" command.') 193 | ext() 194 | 195 | if locate_gmail() : 196 | msg(3,'Failed to execute "locate_gmail" command.') 197 | ext() 198 | 199 | if generate_info() : 200 | msg(3,'Failed to execute "generate_info" command.') 201 | ext() 202 | 203 | msg(1,'Done...') 204 | ext() 205 | -------------------------------------------------------------------------------- /Gmail creator/source/images/gmail_form.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ipetar69/Gmail-creator/6b7498451d2b5458bd15499c4e58ef2f1de28d1e/Gmail creator/source/images/gmail_form.png -------------------------------------------------------------------------------- /Gmail creator/source/images/gmail_form2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ipetar69/Gmail-creator/6b7498451d2b5458bd15499c4e58ef2f1de28d1e/Gmail creator/source/images/gmail_form2.png -------------------------------------------------------------------------------- /Gmail creator/source/images/start_button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Ipetar69/Gmail-creator/6b7498451d2b5458bd15499c4e58ef2f1de28d1e/Gmail creator/source/images/start_button.png -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Ipetar69 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |