From 6790a8626ba6cff8abd194f9ad8ad63a4546a8b8 Mon Sep 17 00:00:00 2001 From: anton <1537206@mail.ru> Date: Mon, 4 Dec 2023 07:54:25 +0300 Subject: [PATCH] =?UTF-8?q?v1.04=20-=20=D0=B0=D0=B2=D1=82=D0=BE=D0=BC?= =?UTF-8?q?=D0=B0=D1=82=D0=B8=D1=87=D0=B5=D1=81=D0=BA=D0=B8=20=D0=B7=D0=B0?= =?UTF-8?q?=D0=BA=D1=80=D1=8B=D0=B2=D0=B0=D0=B5=D1=82=20=D0=BE=D0=BA=D0=BD?= =?UTF-8?q?=D0=BE=20=D1=82=D0=B5=D1=80=D0=BC=D0=B8=D0=BD=D0=B0=D0=BB=D0=B0?= =?UTF-8?q?=20=D0=BD=D0=B0=20=D1=81=D1=82=D0=B0=D1=80=D1=82=D0=B5.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.MD | 2 ++ keymaster.sh | 3 +++ main.py | 19 +++++++++++-------- 3 files changed, 16 insertions(+), 8 deletions(-) create mode 100755 keymaster.sh 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: