summaryrefslogtreecommitdiff
path: root/backend/main.py
diff options
context:
space:
mode:
authorSefa Eyeoglu <contact@scrumplex.net>2022-08-18 23:50:59 +0200
committerGitHub <noreply@github.com>2022-08-18 14:50:59 -0700
commit43dee863cd5b9d43d79c603021b747ef290ab544 (patch)
treeb36768640e0cdd545de75d1c6fad41163b305eb1 /backend/main.py
parent55a76826633ba0678f30aca21153cfc446964f0c (diff)
downloaddecky-loader-43dee863cd5b9d43d79c603021b747ef290ab544.tar.gz
decky-loader-43dee863cd5b9d43d79c603021b747ef290ab544.zip
Add CEF Remote Debugging toggle (#129)v2.0.5-pre14
* feat: add CEF Remote Debugging toggle * feat: disable remote debugger on startup * refactor: stop debugger instead of disable * feat: add option to allow remote debugging by default Co-authored-by: TrainDoctor <traindoctor@protonmail.com>
Diffstat (limited to 'backend/main.py')
-rw-r--r--backend/main.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/backend/main.py b/backend/main.py
index 07b086e4..07e82d92 100644
--- a/backend/main.py
+++ b/backend/main.py
@@ -13,7 +13,7 @@ from subprocess import call
# local modules
from browser import PluginBrowser
-from helpers import csrf_middleware, get_csrf_token, get_user, get_user_group, set_user, set_user_group
+from helpers import csrf_middleware, get_csrf_token, get_user, get_user_group, set_user, set_user_group, stop_systemd_unit, REMOTE_DEBUGGER_UNIT
from injector import inject_to_tab, tab_has_global_var
from loader import Loader
from updater import Updater
@@ -28,8 +28,9 @@ set_user_group()
USER = get_user()
GROUP = get_user_group()
HOME_PATH = "/home/"+USER
+HOMEBREW_PATH = HOME_PATH+"/homebrew"
CONFIG = {
- "plugin_path": getenv("PLUGIN_PATH", HOME_PATH+"/homebrew/plugins"),
+ "plugin_path": getenv("PLUGIN_PATH", HOMEBREW_PATH+"/plugins"),
"chown_plugin_path": getenv("CHOWN_PLUGIN_PATH", "1") == "1",
"server_host": getenv("SERVER_HOST", "127.0.0.1"),
"server_port": int(getenv("SERVER_PORT", "1337")),
@@ -47,6 +48,9 @@ async def chown_plugin_dir(_):
if code_chown != 0 or code_chmod != 0:
logger.error(f"chown/chmod exited with a non-zero exit code (chown: {code_chown}, chmod: {code_chmod})")
+def remote_debugging_allowed():
+ return path.exists(HOMEBREW_PATH + "/allow_remote_debugging")
+
class PluginManager:
def __init__(self) -> None:
self.loop = get_event_loop()
@@ -66,6 +70,8 @@ class PluginManager:
self.web_app.on_startup.append(chown_plugin_dir)
self.loop.create_task(self.loader_reinjector())
self.loop.create_task(self.load_plugins())
+ if not remote_debugging_allowed():
+ self.loop.create_task(stop_systemd_unit(REMOTE_DEBUGGER_UNIT))
self.loop.set_exception_handler(self.exception_handler)
self.web_app.add_routes([get("/auth/token", self.get_auth_token)])