Add files via upload

This commit is contained in:
Dima YaFlay
2022-05-25 21:31:28 +03:00
committed by GitHub
parent 1f82a431ab
commit be90757091
5 changed files with 239 additions and 0 deletions

3
__init__.py Normal file
View File

@@ -0,0 +1,3 @@
# __init__.py
__version__ = '1.0.3'
__author__ = 'YaFlay'

4
__main__.py Normal file
View File

@@ -0,0 +1,4 @@
# github.com/yaflay
import tkinter as tk
from commands import *

232
commands.py Normal file
View File

@@ -0,0 +1,232 @@
import os, smtplib
from random import randint
from tkinter import *
from simplecrypt import encrypt, decrypt
from tkinter.messagebox import showerror, showinfo, askokcancel
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
class path_take():
main_path = os.path.abspath(__file__).replace(os.path.basename(__file__), '')
with open(f'{main_path}/fromaddr.cfg', 'rb') as file:
crypted_data = file.read()
global fromaddr
fromaddr = decrypt('if_u_jailbreak_here_u_gay', crypted_data).decode('utf8')
file.close()
with open(f'{main_path}/mypass.cfg', 'rb') as file:
crypted_data = file.read()
global mypass
mypass = decrypt('if_u_jailbreak_here_u_gay', crypted_data).decode('utf8')
file.close()
# decrypting e-mail and password
class forgot_password():
def forgot():
login = entry_labels_etc.login_entry.get()
toaddr = entry_labels_etc.email_entry.get()
encrypt_code = entry_labels_etc.encrypting.get()
with open(f'{path_take.main_path}/{login}_email.cfg', 'rb+') as file:
email_decrypted = decrypt(encrypt_code, file.read()).decode('utf8')
if email_decrypted == toaddr:
forgot_password.email(toaddr=toaddr, login=login)
else: showerror(title='LogIn', message='E-mail don`t correct! Try again!')
# if u forgot password, u can delete account
class email():
def email(toaddr, login, type_msg, password, encrypt_code):
code = randint(10000, 99999)
if type_msg == "debug":
print("Debuging....")
elif type_msg == 'forgot':
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = f"{code}. LogIn creating account"
body = f"Your code: {code} \nIf you don`t asked this code, ignore the email."
elif type_msg == 'registration' or 'login':
msg = MIMEMultipart()
msg['From'] = fromaddr
msg['To'] = toaddr
msg['Subject'] = f"{code}. LogIn creating account"
body = f"{code}"
messageReg = MIMEMultipart()
messageReg['From'] = fromaddr
messageReg['To'] = toaddr
messageReg['Subject'] = f"LogIn creating account"
bodyReg = f'''Your LogIn: {login}
Your password: {password}
Your decrypt phrase: {encrypt_code}
Thanks for using my app!
Made in Russia with love!'''
messageReg.attach(MIMEText(bodyReg, 'plain'))
textReg = messageReg.as_string()
else:
showerror('Oh no!', 'Oh no! Creator idiot! Send this program in my Telegram: @bebra_YaFlay')
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login(fromaddr, mypass)
text = msg.as_string()
server.sendmail(fromaddr, toaddr, text)
def command():
if type_msg == 'forgot':
if getCode.get() in body:
newWindow.destroy()
os.remove(f'{path_take.main_path}/{login}.cfg')
os.remove(f'{path_take.main_path}/{login}_email.cfg')
deleting_text.del_text(when='all')
server.quit()
else:
showerror(title='LogIn', message='Code isnt correct')
elif type_msg == 'registration':
if getCode.get() in body:
newWindow.destroy()
server.sendmail(fromaddr, toaddr, textReg)
server.quit()
creating_account.creating_account(login=login, password=password, encrypt_code=encrypt_code, toaddr=toaddr)
else:
showerror(title='LogIn', message='code isnt correct')
elif type_msg == 'login':
if getCode.get() in body:
newWindow.destroy()
logging_account.loging(login=login, password=password, encrypt_code=encrypt_code)
else:
showerror(title='LogIn', message='Code isnt correct')
newWindow = Toplevel(window)
newWindow.title("LogIn code")
newWindow.geometry("200x200")
getCode = Entry(newWindow, width=10)
getCode.grid(row=1)
button = Button(newWindow, text='Creating account', command=command)
button.grid(row=2)
server.quit()
# send code for ur mail
class creating_account():
def creating_account(login, password, encrypt_code, toaddr):
password2 = encrypt(encrypt_code, password)
if not os.path.isfile(f'{path_take.main_path}/{login}.cfg'):
with open(f'{path_take.main_path}/{login}.cfg', 'wb+') as file:
file.write(password2)
file.close()
showinfo(title='LogIn', message='Account created!')
else:
showerror(title='LogIn', message='Account already created!')
with open(f'{path_take.main_path}/{login}_email.cfg', 'wb+') as file:
toaddr2 = encrypt(encrypt_code, toaddr)
file.write(toaddr2)
file.close()
deleting_text.del_text(when='all')
# creating files with ur e-mail and password. All encrypted
class logging_account():
def loging(login, password, encrypt_code):
try:
with open(f'{path_take.main_path}/{login}.cfg', 'rb+') as file:
passwordDecrypted = decrypt(encrypt_code, file.read()).decode('utf8')
file.close()
if password == passwordDecrypted:
askokcancel(title='LogIn', message='LogIn succesful!')
deleting_text.del_text(when='all')
else:
showerror(title='LogIn', message='Password or login don`t correct. Try again!')
deleting_text.del_text(when='all')
except Exception as e:
print(e)
showerror(title='LogIn', message='Account don`t created!')
# log in function. u can use this for ur program
class deleting_text():
def del_text(when):
if when == 'login_entry':
entry_labels_etc.login_entry.delete(0, END)
elif when == 'password_entry':
entry_labels_etc.password_entry.delete(0, END)
elif when == 'encrypting':
entry_labels_etc.encrypting.delete(0, END)
elif when == 'email_entry':
entry_labels_etc.email_entry.delete(0, END)
elif when == 'all':
entry_labels_etc.login_entry.delete(0, END)
entry_labels_etc.password_entry.delete(0, END)
entry_labels_etc.encrypting.delete(0, END)
entry_labels_etc.email_entry.delete(0, END)
# delete text login, password, encrypt code and email
class buttons_treatment():
def clicked():
login = entry_labels_etc.login_entry.get()
encrypt_code = entry_labels_etc.encrypting.get()
password = entry_labels_etc.password_entry.get()
toaddr = entry_labels_etc.email_entry.get()
email.email(toaddr=toaddr, login=login, password=password, encrypt_code=encrypt_code, type_msg='login')
# login button
def creating_account_def():
login = entry_labels_etc.login_entry.get()
password = entry_labels_etc.password_entry.get()
encrypt_code = entry_labels_etc.encrypting.get()
toaddr = entry_labels_etc.email_entry.get()
if login == ['mypass', 'fromaddr', 'debug']:
showerror(title='LogIn', message='This login blocked!')
deleting_text.del_text(when='login_entry')
else:
email.email(toaddr=toaddr, login=login, password=password, encrypt_code=encrypt_code, type_msg='registration')
# creating account button
def closed():
window.destroy()
# window close button
class entry_labels_etc():
login_label = Label(text='Login:')
password_label = Label(text='Password:')
encrypt_code_label = Label(text='En(De)crypt code:')
email_label = Label(text='Your e-mail:')
# labels for entry
login_entry = Entry(width=20)#, window )
# login entry
password_entry = Entry(width=20, show='*')#,window)
# password entrywith seeked symbols
encrypting = Entry( width=20, show='*')#,window)
# encrypt code with seeked symbols
email_entry = Entry( width=20)#,window)
# email entry
create_account_button = Button( text='Create account', command=buttons_treatment.creating_account_def)#,window)
# create account button
login_button = Button( text='LogIn', command=buttons_treatment.clicked)#,window)
# log in button
forgot_but = Button(text='Forgot password?', command=forgot_password.forgot)#,window)
# forgot password button
close = Button(text='Close', command=buttons_treatment.closed)#,window)
# close app button
# buttons and entry
window = Tk()
window.title('LogIn App')
window.geometry('415x180')
# window create
entry_labels_etc.email_entry.grid(column=2, row=3)
entry_labels_etc.password_entry.grid(column=2, row=1)
entry_labels_etc.encrypting.grid(column=2, row=2)
entry_labels_etc.login_entry.grid(column=2,row=0)
# entry
entry_labels_etc.create_account_button.grid(row=1, column=3)
entry_labels_etc.close.grid(column=3, row=3)
entry_labels_etc.forgot_but.grid(row=2, column=3)
entry_labels_etc.login_button.grid(row=0, column=3)
# buttons
entry_labels_etc.login_label.grid(column=1, row=0)
entry_labels_etc.password_label.grid(column=1, row=1)
entry_labels_etc.encrypt_code_label.grid(column=1, row=2)
entry_labels_etc.email_label.grid(column=1, row=3)
# labels
# grid for buttons and entry
window.mainloop()
# Thanks for watching my shit-code!
# If u seeked a bug, write me in Telegram: @bebra_yaflay or in VK(russian facebook and instagram): https://vk.com/bebra_yaflay

BIN
fromaddr.cfg Normal file

Binary file not shown.

BIN
mypass.cfg Normal file

Binary file not shown.