improved email maker using capcha solver
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
from selenium import webdriver
|
||||
from PIL import Image
|
||||
import numpy as np
|
||||
import time
|
||||
|
||||
url="https://patrickhlauke.github.io/recaptcha/"
|
||||
|
||||
|
||||
def searchCaptcha(filename):
|
||||
Img=Image.open(filename)
|
||||
img=np.array(Img)
|
||||
for y in range(len(img)):
|
||||
for x in range(len(img[0])):
|
||||
if img[y][x][0]!=39: continue
|
||||
if img[y][x][1]!=67: continue
|
||||
if img[y][x][2]!=153: continue
|
||||
if img[y][x][3]!=255: continue
|
||||
color00=list(img[y][x])
|
||||
color10=list(img[y][x+1])
|
||||
color01=list(img[y+1][x])
|
||||
color11=list(img[y+1][x+1])
|
||||
if not (color00==[39,67,153,255] and color10==[38,68,164,255] and color01==[38,68,151,255] and color11==[37,66,158,255]):
|
||||
continue
|
||||
X=x-234
|
||||
Y=y+34
|
||||
return [X,Y]
|
||||
return None
|
||||
|
||||
|
||||
def resolveCaptcha(url):
|
||||
driver=webdriver.Chrome('/Users/olivierpartensky/Programs/Library/Selenium/chromedriver')
|
||||
action=webdriver.common.action_chains.ActionChains(driver)
|
||||
driver.get(url)
|
||||
#action.move_by_offset(36,156)
|
||||
#gris en 27 138 => [193,193,193,255]
|
||||
#bleu claire 270 127 => [39,67,153,255]
|
||||
#36-270=
|
||||
#151-127=
|
||||
#36 151 middle
|
||||
result=searchCaptcha("training.png")
|
||||
print(result)
|
||||
if not result:
|
||||
raise Exception("Captcha could not be found.")
|
||||
action.move_by_offset(result[0],result[1])
|
||||
action.click()
|
||||
action.perform()
|
||||
|
||||
|
||||
#driver.save_screenshot("training.png")
|
||||
|
||||
resolveCaptcha(url)
|
||||
|
||||
|
||||
"""
|
||||
[ 39 67 153 255]
|
||||
[ 38 68 164 255]
|
||||
[ 38 68 151 255]
|
||||
[ 37 66 158 255]
|
||||
"""
|
||||
#Img.show()
|
||||
|
||||
|
||||
"""
|
||||
|
||||
imin,imax=200,255
|
||||
img2=[[255*(img[y][x]-imin)/(imax-imin) for x in range(len(img[0]))] for y in range(len(img))]
|
||||
|
||||
noise=np.random.normal(0,7,img.shape)
|
||||
Img3=Image.fromarray(img+noise).convert("L")
|
||||
Img3.show()
|
||||
Img3.filter(ImageFilter.BoxBlur(1)).show()
|
||||
Img3.show()
|
||||
"""
|
||||
@@ -1,22 +1,22 @@
|
||||
from selenium import webdriver
|
||||
import time
|
||||
|
||||
def createMailAddress(adress,password):
|
||||
url = 'https://protonmail.com/'
|
||||
driver = webdriver.Chrome('/Users/olivierpartensky/Programs/Library/Selenium/chromedriver')
|
||||
driver.get(url)
|
||||
driver.find_element_by_xpath('//*[@title="Sign Up"]').click()
|
||||
time.sleep(2)
|
||||
driver.find_element_by_class_name('panel-heading').click()
|
||||
time.sleep(4)
|
||||
driver.find_element_by_id('freePlan').click()
|
||||
time.sleep(2)
|
||||
driver.find_element_by_id('username').send_keys(adress)
|
||||
time.sleep(2)
|
||||
driver.find_element_by_id('password').send_keys(password)
|
||||
time.sleep(2)
|
||||
driver.find_element_by_id('passwordc').send_keys(password)
|
||||
time.sleep(2)
|
||||
driver.find_element_by_class_name('signUpProcess-btn-create').click()
|
||||
time.sleep(1)
|
||||
driver.find_element_by_id('confirmModalBtn').click()
|
||||
url = 'https://protonmail.com/'
|
||||
|
||||
driver = webdriver.Chrome('/Users/johnfisher/Downloads/chromedriver')
|
||||
driver.get(url)
|
||||
driver.find_element_by_xpath('//*[@title="Sign Up"]').click()
|
||||
time.sleep(2)
|
||||
driver.find_element_by_class_name('panel-heading').click()
|
||||
time.sleep(4)
|
||||
driver.find_element_by_id('freePlan').click()
|
||||
time.sleep(2)
|
||||
driver.find_element_by_id('username').send_keys('usernameForUser')
|
||||
time.sleep(1.5)
|
||||
driver.find_element_by_id('password').send_keys('passwordForUser')
|
||||
time.sleep(2)
|
||||
driver.find_element_by_id('passwordc').send_keys('passwordForUser')
|
||||
time.sleep(2)
|
||||
driver.find_element_by_class_name('signUpProcess-btn-create').click()
|
||||
time.sleep(1)
|
||||
driver.find_element_by_id('confirmModalBtn').click()
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import smtplib
|
||||
import credentials
|
||||
|
||||
|
||||
def send_email(subject, msg, receiver):
|
||||
try:
|
||||
server=smtplib.SMTP('smtp.gmail.com:587')
|
||||
@@ -17,7 +16,7 @@ def send_email(subject, msg, receiver):
|
||||
|
||||
|
||||
subject = "Test"
|
||||
msg = "Je pratique le test de l'envoie de mail automatique par python et tu es mon cobaye."
|
||||
receiver="alexandre.bigot@gmail.com"
|
||||
msg = "je test ta patience"
|
||||
receiver="valentin.colin78@gmail.com"
|
||||
|
||||
send_email(subject, msg, receiver)
|
||||
|
||||
+63
-8
@@ -1,10 +1,31 @@
|
||||
from selenium import webdriver
|
||||
from selenium.webdriver.common.keys import Keys
|
||||
from PIL import Image
|
||||
|
||||
import smtplib
|
||||
import credentials
|
||||
import pyautogui
|
||||
import urllib
|
||||
|
||||
|
||||
import random
|
||||
alea=lambda :str(random.randint(1000,10000))
|
||||
password="je te chie un mot de passe"
|
||||
|
||||
import time
|
||||
|
||||
def createMailAddress(adress,password):
|
||||
receiver="valentin.colin78@gmail.com"
|
||||
title="enorme test"
|
||||
message="tu pues vraiment la merde"
|
||||
|
||||
|
||||
|
||||
|
||||
def createMail(adress="unnamed.beaucoup",password="password"):
|
||||
try:
|
||||
url = 'https://protonmail.com/'
|
||||
driver = webdriver.Chrome('/Users/olivierpartensky/Programs/Library/Selenium/chromedriver')
|
||||
action = webdriver.common.action_chains.ActionChains(driver)
|
||||
driver.get(url)
|
||||
driver.find_element_by_xpath('//*[@title="Sign Up"]').click()
|
||||
time.sleep(2)
|
||||
@@ -19,21 +40,55 @@ def createMailAddress(adress,password):
|
||||
driver.find_element_by_id('passwordc').send_keys(password)
|
||||
time.sleep(2)
|
||||
driver.find_element_by_class_name('signUpProcess-btn-create').click()
|
||||
time.sleep(1)
|
||||
time.sleep(2)
|
||||
driver.find_element_by_id('confirmModalBtn').click()
|
||||
time.sleep(2)
|
||||
element=driver.find_element_by_id('id-signup-radio-captcha')
|
||||
element.click()
|
||||
#element=driver.find_element_by_id('id-signup-radio-donate')
|
||||
action.move_to_element_with_offset(element,20,160)
|
||||
action.click()
|
||||
action.perform()
|
||||
time.sleep(2)
|
||||
#img=driver.find_element_by_xpath('//*[@id="rc-imageselect-target"]') #/table/tbody/tr[1]/td[1]/div/div[1]/img
|
||||
#xpath //*[@id="rc-imageselect-target"]/table/tbody/tr[1]/td[1]/div/div[1]/img
|
||||
element=driver.find_element_by_tag_name("html")
|
||||
element.send_keys(Keys.END)
|
||||
time.sleep(2)
|
||||
driver.save_screenshot("captcha.png")
|
||||
|
||||
|
||||
#src=img.get_attribute('src')
|
||||
time.sleep(2)
|
||||
#urllib.urlretrieve(src,"captcha.png")
|
||||
Img=Image.open("captcha.png")
|
||||
Img.show()
|
||||
|
||||
#x,y=element.location["x"],element.location["y"]
|
||||
#pyautogui.moveTo(x,y)
|
||||
#print(pyautogui.position())
|
||||
#time.sleep(2)
|
||||
#pyautogui.moveTo(x+50,y)
|
||||
#driver.find_element_by_class_name('recaptcha-checkbox-checkmark').click()
|
||||
#print(pyautogui.position())
|
||||
#time.sleep(2)
|
||||
print("Email created.")
|
||||
except:
|
||||
raise Exception("Failed to create email adress.")
|
||||
|
||||
|
||||
def sendEmail(subject,msg,receiver):
|
||||
def sendMail(title,message,receiver):
|
||||
try:
|
||||
server=smtplib.SMTP('smtp.gmail.com:587')
|
||||
server.ehlo()
|
||||
server.starttls()
|
||||
server.login(credentials.SENDER, credentials.PASSWORD)
|
||||
message = 'Subject: {}\n\n{}'.format(subject, msg)
|
||||
server.sendmail(credentials.SENDER, receiver, message)
|
||||
server.login(credentials.SENDER,credentials.PASSWORD)
|
||||
message='Subject: {}\n\n{}'.format(title,message)
|
||||
server.sendmail(credentials.SENDER,receiver,message)
|
||||
server.quit()
|
||||
print("Success: Email sent!")
|
||||
print("Email sent.")
|
||||
except:
|
||||
print("Email failed to send.")
|
||||
raise Exception("Failed to send email.")
|
||||
|
||||
createMail(password=password)
|
||||
#sendMail(title,message,receiver)
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
from captcha_solver import CaptchaSolver
|
||||
|
||||
solver = CaptchaSolver('browser')
|
||||
raw_data = open('captcha.png', 'rb').read()
|
||||
print(solver.solve_captcha(raw_data))
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 46 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 25 KiB |
@@ -0,0 +1,5 @@
|
||||
from captcha_solver import CaptchaSolver
|
||||
|
||||
solver = CaptchaSolver('browser')
|
||||
raw_data = open('captcha.png', 'rb').read()
|
||||
print(solver.solve_captcha(raw_data))
|
||||
Reference in New Issue
Block a user