From 7de2dfe7cce7c0845cbe115e8725b050d3b652eb Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 1 Aug 2024 08:51:12 +0200 Subject: [PATCH] Fix when Shadowsocks-libev is not installed --- debian/changelog | 6 ++++++ omr-admin.py | 22 ++++++++++++---------- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/debian/changelog b/debian/changelog index dec5e34..7a9cd94 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +omr-vps-admin (0.12+20240801) unstable; urgency=medium + + * Fix when Shadowsocks-libev is not installed + + -- OpenMPTCProuter Thu, 01 Aug 2024 08:50:17 +0200 + omr-vps-admin (0.12+20240725) unstable; urgency=medium * Add server workers diff --git a/omr-admin.py b/omr-admin.py index 332f712..a9c681c 100755 --- a/omr-admin.py +++ b/omr-admin.py @@ -1488,22 +1488,24 @@ async def config(userid: Optional[int] = Query(None), serial: Optional[str] = Qu if 'proxy' in omr_config_data['users'][0][username]: proxy = omr_config_data['users'][0][username]['proxy'] - with open('/etc/shadowsocks-libev/manager.json') as f: - content = f.read() - content = re.sub(",\s*}", "}", content) # pylint: disable=W1401 - try: - data = json.loads(content) - except ValueError as e: - data = {'port_key': '', 'server_port': 65101, 'method': 'chacha20'} + if os.path.isfile('/etc/shadowsocks-libev/manager.js'): + with open('/etc/shadowsocks-libev/manager.json') as f: + content = f.read() + content = re.sub(",\s*}", "}", content) # pylint: disable=W1401 + try: + data = json.loads(content) + except ValueError as e: + data = {'server_port': 65101, 'method': 'chacha20'} + else: + data = {'server_port': 65101, 'method': 'chacha20'} #shadowsocks_port = data["server_port"] shadowsocks_port = current_user.shadowsocks_port + shadowsocks_key = '' if shadowsocks_port is not None: if 'port_key' in data: shadowsocks_key = data["port_key"][str(shadowsocks_port)] - else: + elif 'port_conf' in data: shadowsocks_key = data["port_conf"][str(shadowsocks_port)]["key"] - else: - shadowsocks_key = '' shadowsocks_method = data["method"] if 'fast_open' in data: shadowsocks_fast_open = data["fast_open"]