├── .gitignore ├── LICENSE ├── README.md └── mailgen ├── accLog.txt ├── chromegen.py ├── generator.py └── launch.cmd /.gitignore: -------------------------------------------------------------------------------- 1 | .temp 2 | .env -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Michi4 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 | # protonMailGenerator 2 | A E-Mail Generator 3 | 4 | 5 | ## WHAT MAKES THIS BETTER 6 | 7 | 8 | The mail is ready when the script is done. It will already be VERIFIED and NO further manual VERIFICATION needed not like at other generators 9 | 10 | ### USAGE 11 | 12 | It is used to generate a protonmail mail for you which you can fully access 13 | 14 | Firefox as standard browser is recommended but not must have (for chrome or other browsers just use the chromegen.py) 15 | 16 | 17 | 18 | ## HOW TO USE 19 | 20 | install python: https://www.python.org/downloads/ 21 | and don't forget to add python to your PATH 22 | 23 | open cmd and type in: 24 | 25 | pip install Pillow 26 | 27 | pip install pyautogui 28 | 29 | (write everything individually) 30 | 31 | then start by either writing py generator.py/chromegen.py in your commandline or 32 | clicking the launch.cmd 33 | be sure to click nothing while the script is running otherwise you could interfere with it! 34 | when finished you can find the mail and password in the accLog.txt 35 | enjoy! 36 | 37 | #### EXCUSES: 38 | My first python code ever kinda bad but it works. Rn I am working on a selenium version of this because using the webbrowser and pyautogui is really bad for this usecase ig. 39 | -------------------------------------------------------------------------------- /mailgen/accLog.txt: -------------------------------------------------------------------------------- 1 | mail:password -------------------------------------------------------------------------------- /mailgen/chromegen.py: -------------------------------------------------------------------------------- 1 | #! python3 2 | #Michi4 3 | from PIL import Image 4 | import pyautogui 5 | import sys 6 | import time 7 | import random 8 | import string 9 | import webbrowser 10 | import ctypes 11 | import re 12 | 13 | CF_TEXT = 1 14 | 15 | kernel32 = ctypes.windll.kernel32 16 | kernel32.GlobalLock.argtypes = [ctypes.c_void_p] 17 | kernel32.GlobalLock.restype = ctypes.c_void_p 18 | kernel32.GlobalUnlock.argtypes = [ctypes.c_void_p] 19 | user32 = ctypes.windll.user32 20 | user32.GetClipboardData.restype = ctypes.c_void_p 21 | 22 | def getClip6digit(): 23 | user32.OpenClipboard(0) 24 | try: 25 | if user32.IsClipboardFormatAvailable(CF_TEXT): 26 | data = user32.GetClipboardData(CF_TEXT) 27 | data_locked = kernel32.GlobalLock(data) 28 | text = ctypes.c_char_p(data_locked) 29 | value = text.value 30 | kernel32.GlobalUnlock(data_locked) 31 | return str(re.findall(r'(\d{6})', (str(value)))) 32 | finally: 33 | user32.CloseClipboard() 34 | 35 | def getMail(): 36 | user32.OpenClipboard(0) 37 | try: 38 | if user32.IsClipboardFormatAvailable(CF_TEXT): 39 | data = user32.GetClipboardData(CF_TEXT) 40 | data_locked = kernel32.GlobalLock(data) 41 | text = ctypes.c_char_p(data_locked) 42 | value = text.value 43 | kernel32.GlobalUnlock(data_locked) 44 | if "@dropmail.me" in str(value) or "@emltmp.com" in str(value) or "@spymail.one" in str(value) or "@10mail.org" in str(value): 45 | match = re.search(r'[\w.+-]+@[\w-]+\.[\w.-]+', str(value)) 46 | return str(match.group(0)) 47 | return False 48 | finally: 49 | user32.CloseClipboard() 50 | webbrowser.open('https://account.proton.me/signup?plan=free') 51 | time.sleep(5) 52 | 53 | 54 | 55 | def randomize( 56 | _option_, 57 | _length_ 58 | ): 59 | 60 | if _length_ > 0 : 61 | 62 | # Options:6Ww$oRvfSVk95tyM 6Ww$oRvfSVk95tyM 63 | # -p for letters, numbers and symbols 64 | # -s for letters and numbers 65 | # -l for letters only 66 | # -n for numbers only 67 | # -m for month selection 68 | # -d for day selection 69 | # -y for year selection 70 | 71 | if _option_ == '-p': 72 | string._characters_='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()_+' 73 | elif _option_ == '-s': 74 | string._characters_='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890' 75 | elif _option_ == '-l': 76 | string._characters_='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' 77 | elif _option_ == '-n': 78 | string._characters_='1234567890' 79 | elif _option_ == '-m': 80 | string._characters_='JFMASOND' 81 | 82 | if _option_ == '-d': 83 | _generated_info_=random.randint(1,28) 84 | elif _option_ == '-y': 85 | _generated_info_=random.randint(1950,2000) 86 | else: 87 | _generated_info_='' 88 | for _counter_ in range(0,_length_) : 89 | _generated_info_= _generated_info_ + random.choice(string._characters_) 90 | 91 | return _generated_info_ 92 | 93 | else: 94 | return 'error' 95 | 96 | # Username 97 | _username_=randomize('-s',5)+randomize('-s',5)+randomize('-s',5) 98 | pyautogui.typewrite(_username_ + '\t\t') 99 | print("Username:" + _username_) 100 | 101 | # Password 102 | _password_=randomize('-p',16) 103 | pyautogui.typewrite(_password_+'\t'+_password_+'\t') 104 | print("Password:" + _password_) 105 | 106 | pyautogui.typewrite('\n') 107 | time.sleep(5) 108 | pyautogui.typewrite('\t\t\t\n') 109 | 110 | pyautogui.keyDown('ctrlleft'); pyautogui.typewrite('t'); pyautogui.keyUp('ctrlleft') 111 | 112 | time.sleep(10) 113 | pyautogui.typewrite('https://dropmail.me/\n') 114 | 115 | 116 | pyautogui.keyDown('shift');pyautogui.keyDown('down'); pyautogui.keyUp('down'); pyautogui.keyUp('shift') 117 | time.sleep(10) 118 | 119 | newMail = True 120 | while True: 121 | if not newMail: 122 | pyautogui.keyDown('ctrlleft'); pyautogui.typewrite('r'); pyautogui.keyUp('ctrlleft') 123 | time.sleep(5) 124 | pyautogui.typewrite('\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t') 125 | pyautogui.keyDown('ctrlleft') 126 | pyautogui.keyDown('shiftleft') 127 | pyautogui.keyDown('shiftright') 128 | pyautogui.press('down') 129 | pyautogui.keyUp('shiftleft') 130 | pyautogui.keyUp('shiftright') 131 | pyautogui.keyUp('ctrlleft') 132 | pyautogui.keyDown('ctrlleft'); pyautogui.typewrite('c'); pyautogui.keyUp('ctrlleft') 133 | newMail = getMail() 134 | if newMail: 135 | print("10 min mail: " + newMail) 136 | break 137 | 138 | pyautogui.keyDown('ctrlleft'); pyautogui.typewrite('\t'); pyautogui.keyUp('ctrlleft') 139 | time.sleep(1) 140 | #äpyautogui.typewrite(newMail) 141 | pyautogui.keyDown('ctrlleft'); pyautogui.typewrite('v'); pyautogui.keyUp('ctrlleft') 142 | pyautogui.press('backspace') 143 | pyautogui.typewrite('\n') 144 | 145 | time.sleep(10) 146 | 147 | pyautogui.keyDown('ctrlleft'); pyautogui.typewrite('\t'); pyautogui.keyUp('ctrlleft') 148 | time.sleep(1) 149 | 150 | #pyautogui.typewrite('\t\t\t\t\t\t\t\t\t\t\t\t\t\n') 151 | 152 | #time.sleep(5) 153 | 154 | 155 | pyautogui.keyDown('ctrlleft'); pyautogui.typewrite('a'); pyautogui.keyUp('ctrlleft') 156 | pyautogui.keyDown('ctrlleft'); pyautogui.typewrite('c'); pyautogui.keyUp('ctrlleft') 157 | 158 | 159 | pyautogui.keyDown('ctrlleft'); pyautogui.typewrite('\t'); pyautogui.keyUp('ctrlleft') 160 | time.sleep(5) 161 | pyautogui.typewrite(str(getClip6digit()) + '\n') 162 | 163 | 164 | time.sleep(5) 165 | pyautogui.typewrite('\n') 166 | time.sleep(5) 167 | pyautogui.typewrite('\t\t\t\t\n') 168 | time.sleep(1) 169 | pyautogui.typewrite('\t\n') 170 | 171 | print(_username_+"@proton.me:" + _password_) 172 | 173 | logfile = open("accLog.txt", "a") 174 | logfile.write(_username_ + "@proton.me:" + _password_ + "\n") 175 | logfile.close() 176 | 177 | 178 | 179 | # CHAPTCHA 180 | #pyautogui.typewrite('\t') 181 | #pyautogui.typewrite('\t') 182 | #pyautogui.typewrite('\t') 183 | #pyautogui.typewrite('\t') 184 | #pyautogui.typewrite('\t') 185 | #pyautogui.typewrite('\t') 186 | #pyautogui.typewrite('\t') 187 | 188 | #pyautogui.typewrite('\n') -------------------------------------------------------------------------------- /mailgen/generator.py: -------------------------------------------------------------------------------- 1 | #! python3 2 | #Michi4 3 | from PIL import Image 4 | import pyautogui 5 | import sys 6 | import time 7 | import random 8 | import string 9 | import webbrowser 10 | import ctypes 11 | import re 12 | 13 | CF_TEXT = 1 14 | 15 | kernel32 = ctypes.windll.kernel32 16 | kernel32.GlobalLock.argtypes = [ctypes.c_void_p] 17 | kernel32.GlobalLock.restype = ctypes.c_void_p 18 | kernel32.GlobalUnlock.argtypes = [ctypes.c_void_p] 19 | user32 = ctypes.windll.user32 20 | user32.GetClipboardData.restype = ctypes.c_void_p 21 | 22 | def getClip6digit(): 23 | user32.OpenClipboard(0) 24 | try: 25 | if user32.IsClipboardFormatAvailable(CF_TEXT): 26 | data = user32.GetClipboardData(CF_TEXT) 27 | data_locked = kernel32.GlobalLock(data) 28 | text = ctypes.c_char_p(data_locked) 29 | value = text.value 30 | kernel32.GlobalUnlock(data_locked) 31 | return str(re.findall(r'(\d{6})', (str(value)))) 32 | finally: 33 | user32.CloseClipboard() 34 | 35 | def getMail(): 36 | user32.OpenClipboard(0) 37 | try: 38 | if user32.IsClipboardFormatAvailable(CF_TEXT): 39 | data = user32.GetClipboardData(CF_TEXT) 40 | data_locked = kernel32.GlobalLock(data) 41 | text = ctypes.c_char_p(data_locked) 42 | value = text.value 43 | kernel32.GlobalUnlock(data_locked) 44 | if "@dropmail.me" in str(value) or "@10mail.org" in str(value) or "@emlpro.com" in str(value) or "@emltmp.com" in str(value): # 45 | match = re.search(r'[\w.+-]+@[\w-]+\.[\w.-]+', str(value)) 46 | return str(match.group(0)) 47 | return False 48 | finally: 49 | user32.CloseClipboard() 50 | webbrowser.open('https://google.com') 51 | 52 | time.sleep(5) 53 | pyautogui.keyDown('ctrlleft'); pyautogui.keyDown('shift'); pyautogui.typewrite('p'); pyautogui.keyUp('ctrlleft'); pyautogui.keyUp('shift') 54 | pyautogui.typewrite('https://account.proton.me/signup?plan=free\n') 55 | time.sleep(5) 56 | 57 | 58 | 59 | def randomize( 60 | _option_, 61 | _length_ 62 | ): 63 | 64 | if _length_ > 0 : 65 | 66 | # Options: 67 | # -p for letters, numbers and symbols 68 | # -s for letters and numbers 69 | # -l for letters only 70 | # -n for numbers only 71 | # -m for month selection 72 | # -d for day selection 73 | # -y for year selection 74 | 75 | if _option_ == '-p': 76 | string._characters_='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()_+' 77 | elif _option_ == '-s': 78 | string._characters_='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890' 79 | elif _option_ == '-l': 80 | string._characters_='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' 81 | elif _option_ == '-n': 82 | string._characters_='1234567890' 83 | elif _option_ == '-m': 84 | string._characters_='JFMASOND' 85 | 86 | if _option_ == '-d': 87 | _generated_info_=random.randint(1,28) 88 | elif _option_ == '-y': 89 | _generated_info_=random.randint(1950,2000) 90 | else: 91 | _generated_info_='' 92 | for _counter_ in range(0,_length_) : 93 | _generated_info_= _generated_info_ + random.choice(string._characters_) 94 | 95 | return _generated_info_ 96 | 97 | else: 98 | return 'error' 99 | 100 | # Username 101 | _username_=randomize('-s',5)+randomize('-s',5)+randomize('-s',5) 102 | pyautogui.typewrite(_username_ + '\t\t') 103 | print("Username:" + _username_) 104 | 105 | # Password 106 | _password_=randomize('-p',16) 107 | pyautogui.typewrite(_password_+'\t'+_password_+'\t') 108 | print("Password:" + _password_) 109 | 110 | pyautogui.typewrite('\n') 111 | time.sleep(5) 112 | pyautogui.typewrite('\t\t\t\n') 113 | 114 | pyautogui.keyDown('ctrlleft'); pyautogui.typewrite('t'); pyautogui.keyUp('ctrlleft') 115 | 116 | time.sleep(10) 117 | pyautogui.typewrite('https://dropmail.me/\n') 118 | 119 | 120 | pyautogui.keyDown('shift');pyautogui.keyDown('down'); pyautogui.keyUp('down'); pyautogui.keyUp('shift') 121 | time.sleep(10) 122 | 123 | newMail = True 124 | while True: 125 | if not newMail: 126 | pyautogui.keyDown('ctrlleft'); pyautogui.typewrite('r'); pyautogui.keyUp('ctrlleft') 127 | time.sleep(5) 128 | pyautogui.typewrite('\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t')#28 129 | pyautogui.keyDown('ctrlleft') 130 | pyautogui.keyDown('shiftleft') 131 | pyautogui.keyDown('shiftright') 132 | pyautogui.press('down') 133 | pyautogui.keyUp('shiftleft') 134 | pyautogui.keyUp('shiftright') 135 | pyautogui.keyUp('ctrlleft') 136 | pyautogui.keyDown('ctrlleft'); pyautogui.typewrite('c'); pyautogui.keyUp('ctrlleft') 137 | newMail = getMail() 138 | if newMail: 139 | print("10 min mail: " + newMail) 140 | break 141 | 142 | pyautogui.keyDown('ctrlleft'); pyautogui.typewrite('\t'); pyautogui.keyUp('ctrlleft') 143 | time.sleep(1) 144 | #äpyautogui.typewrite(newMail) 145 | pyautogui.keyDown('ctrlleft'); pyautogui.typewrite('v'); pyautogui.keyUp('ctrlleft') 146 | pyautogui.press('backspace') 147 | pyautogui.typewrite('\n') 148 | 149 | time.sleep(10) 150 | 151 | pyautogui.keyDown('ctrlleft'); pyautogui.typewrite('\t'); pyautogui.keyUp('ctrlleft') 152 | time.sleep(1) 153 | 154 | #pyautogui.typewrite('\t\t\t\t\t\t\t\t\t\t\t\t\t\n') 155 | 156 | #time.sleep(5) 157 | 158 | 159 | pyautogui.keyDown('ctrlleft'); pyautogui.typewrite('a'); pyautogui.keyUp('ctrlleft') 160 | pyautogui.keyDown('ctrlleft'); pyautogui.typewrite('c'); pyautogui.keyUp('ctrlleft') 161 | 162 | 163 | pyautogui.keyDown('ctrlleft'); pyautogui.typewrite('\t'); pyautogui.keyUp('ctrlleft') 164 | time.sleep(5) 165 | pyautogui.typewrite(str(getClip6digit()) + '\n') 166 | 167 | 168 | time.sleep(5) 169 | pyautogui.typewrite('\n') 170 | time.sleep(5) 171 | pyautogui.typewrite('\t\t\t\t\n') 172 | time.sleep(1) 173 | pyautogui.typewrite('\t\n') 174 | 175 | print(_username_+"@proton.me:" + _password_) 176 | 177 | logfile = open("accLog.txt", "a") 178 | logfile.write(_username_ + "@proton.me:" + _password_ + "\n") 179 | logfile.close() 180 | 181 | 182 | 183 | # CHAPTCHA 184 | #pyautogui.typewrite('\t') 185 | #pyautogui.typewrite('\t') 186 | #pyautogui.typewrite('\t') 187 | #pyautogui.typewrite('\t') 188 | #pyautogui.typewrite('\t') 189 | #pyautogui.typewrite('\t') 190 | #pyautogui.typewrite('\t') 191 | 192 | #pyautogui.typewrite('\n') -------------------------------------------------------------------------------- /mailgen/launch.cmd: -------------------------------------------------------------------------------- 1 | py generator.py --------------------------------------------------------------------------------