diff --git a/README.MD b/README.MD index b992eeb..93f6821 100644 --- a/README.MD +++ b/README.MD @@ -14,6 +14,8 @@ Сам файл БД вы можете хранить где угодно, хоть в паблик выкладывать. Главное его сохранять в нескольких местах :) +Скрипт keymaster.sh предназначен для запуска программы с рабочего стола, нужно только отредактировать путь к программе. + Благодарности, вопросы и реквесты фич складывать здесь или в комментариях к [этому посту]. Лицензия на код и документацию MIT. Вы можете свободно использовать, изменять и продавать код при условии сохранения diff --git a/keymaster.sh b/keymaster.sh new file mode 100755 index 0000000..7a7ca44 --- /dev/null +++ b/keymaster.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash +cd /home/anton/PycharmProjects/keymaster || exit +nohup ./main.py \ No newline at end of file diff --git a/main.py b/main.py index 263406e..b177d0f 100755 --- a/main.py +++ b/main.py @@ -1,13 +1,14 @@ #!/usr/bin/env python3 -# Key Master v1.03 -# 02/07/2023 -# https://t.me/ssleg © 2021 +# Key Master v1.04 +# 04/12/2023 +# https://t.me/ssleg © 2020 – 2023 import sqlite3 from hashlib import md5, sha256 -from os import path +from os import path, getppid, kill from random import randint +from signal import SIGKILL import PySimpleGUI as Sg import cryptocode @@ -42,7 +43,7 @@ class LoginCard: def is_valid(self): control_string = self.__name + self.__login + self.__password - if type(control_string) == str: + if isinstance(control_string, str): control_hash = md5(control_string.encode()).hexdigest() if control_hash == self.__hash: return True @@ -236,7 +237,7 @@ def system_init(): [Sg.InputText(size=(20, 1), border_width=3)], [Sg.Text('Повторите пароль:')], [Sg.InputText(size=(20, 1), border_width=3)], - [Sg.Button('Ok'), Sg.Text('', key='Err_text', text_color='firebrick1', font='style:bold')]] + [Sg.Button('Ok'), Sg.Text('', key='Err_text', text_color='violetred4', font='Helvetica 15 bold')]] window = Sg.Window("KeyMaster - приветствие", layout) while True: event, values = window.read() @@ -269,7 +270,7 @@ def system_login(): status = False password = '' layout = [[Sg.Text('Пароль:'), Sg.InputText(size=(20, 1), border_width=3, password_char='*')], - [Sg.Button('Ok'), Sg.Text('', key='Err_text', text_color='firebrick1', font='style:bold')]] + [Sg.Button('Ok'), Sg.Text('', key='Err_text', text_color='violetred4', font='Helvetica 15 bold')]] window = Sg.Window("KeyMaster - вход", layout, return_keyboard_events=True) while True: event, values = window.read() @@ -322,7 +323,7 @@ def confirm_delete(card_name): confirm_flag = False layout = [[Sg.Text('Вы уверены, что хотите удалить карточку:')], [Sg.Text(card_name + '?')], - [Sg.Text('Это необратимое действие!!!', text_color='firebrick1', font='style:bold')], + [Sg.Text('Это необратимое действие!!!', text_color='violetred4', font='Helvetica 15 bold')], [Sg.Button('Ok'), Sg.Button('Отменить', focus=True)]] window = Sg.Window("KeyMaster - подтверждение", layout, modal=True) while True: @@ -488,6 +489,8 @@ def main(): # начало исполнения кода. if __name__ == '__main__': + kill(getppid(), SIGKILL) + if not path.exists('base.sqlite'): login_status, master_key = system_init() if login_status: