Compare commits

..

4 commits

2 changed files with 57 additions and 2 deletions

View file

@ -14,6 +14,42 @@ import threading
import signal import signal
import sys import sys
app_name = "Dislocker"
dislocker_dir = os.getcwd()
os.chdir(dislocker_dir)
config_dir_path = "./config/"
client_config_path = config_dir_path + "client.json"
if not os.path.isfile(client_config_path):
if not os.path.isdir(config_dir_path):
os.mkdir(config_dir_path)
client_config = {
"initial": 1,
"auth_host_url": "http://localhost",
"pc_number": 1,
"master_password_hash": "",
"testing": 0
}
elif os.path.isfile(client_config_path):
with open(client_config_path, "r") as r:
client_config = json.load(r)
def init(**kwargs):
master_password = master_password_gen()
msgbox = tkinter.messagebox.showinfo(title=f"{app_name} | 初回起動を検出", message=f"初回起動のようです。\nマスターパスワードを記録しておいてください。\nこれ以降二度と表示されることはないでしょう。\n\n{master_password["password"]}\n\nまた、認証先サーバーの接続先を指定してください。ロックを解除できなくなります。")
client_config["master_password_hash"] = master_password["password_hash"]
client_config["initial"] = 0
if "pc_number" in kwargs:
client_config["pc_number"] = int(kwargs["pc_number"])
else:
client_config["pc_number"] = 1
with open(client_config_path, "w") as w:
json.dump(client_config, w, indent=4)
class App(customtkinter.CTk): class App(customtkinter.CTk):
def __init__(self): def __init__(self):
super().__init__() super().__init__()
@ -42,7 +78,7 @@ class App(customtkinter.CTk):
keyboard.block_key(i) keyboard.block_key(i)
def block_taskmgr(self): def block_taskmgr(self):
block = subprocess.run(['reg', 'add', 'HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System', '/v', 'DisableTaskMgr', '/t', 'REG_DWORD', '/d', 'f', '1']) block = subprocess.run(['reg', 'add', 'HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\System', '/v', 'DisableTaskMgr', '/t', 'REG_DWORD', '/d', '1', '/f'])
print(block) print(block)
def unlock_taskmgr(self): def unlock_taskmgr(self):
@ -289,8 +325,8 @@ def master_password_gen():
result = {"password": password, "password_hash": password_hash} result = {"password": password, "password_hash": password_hash}
return result return result
app_name = "Dislocker"
<<<<<<< HEAD
config_dir_path = "./config/" config_dir_path = "./config/"
client_config_path = config_dir_path + "client.json" client_config_path = config_dir_path + "client.json"
if not os.path.isfile(client_config_path): if not os.path.isfile(client_config_path):
@ -335,6 +371,21 @@ else:
monitor.signal_handler() monitor.signal_handler()
else: else:
print("引数エラー。") print("引数エラー。")
=======
if __name__ == '__main__':
args = sys.argv
if len(args) >= 2:
if args[1] == "stop":
monitor = Monitor()
monitor.signal_handler()
elif args[1] == "setup":
init(pc_number=args[2])
else:
print("引数エラー。")
else:
if client_config["initial"] == 1:
init()
>>>>>>> testing_2
else: else:
app = App() app = App()
app.protocol("WM_DELETE_WINDOW", app.handler_close) app.protocol("WM_DELETE_WINDOW", app.handler_close)

4
requirements_client.txt Normal file
View file

@ -0,0 +1,4 @@
customtkinter
winotify
keyboard
requests