diff --git a/hiddifypanel/models/domain.py b/hiddifypanel/models/domain.py index 9687585d0..b9ed10f26 100644 --- a/hiddifypanel/models/domain.py +++ b/hiddifypanel/models/domain.py @@ -86,6 +86,10 @@ def get_cdn_ips_parsed(self): return res def to_dict(self, dump_ports=False, dump_child_id=False): + try: + extra=json.loads(self.extra_params or "{}") + except: + extra={} data = { 'domain': self.domain.lower(), 'mode': self.mode, @@ -98,7 +102,7 @@ def to_dict(self, dump_ports=False, dump_child_id=False): 'download_domain':self.download_domain.domain if self.download_domain else "", 'show_domains': [dd.domain for dd in self.show_domains], # type: ignore "resolve_ip":self.resolve_ip, - "extra_params":json.loads(self.extra_params or "{}") + "extra_params":extra } if dump_child_id: data['child_id'] = self.child_id diff --git a/hiddifypanel/panel/run_commander.py b/hiddifypanel/panel/run_commander.py index 99aff0b95..db507deea 100644 --- a/hiddifypanel/panel/run_commander.py +++ b/hiddifypanel/panel/run_commander.py @@ -80,7 +80,7 @@ def commander(command: Command, run_in_background=True, **kwargs: str | int) -> else: raise Exception('WTF is happening!') if run_in_background: - t = threading.Thread(target=cmd_in_back, daemon=True) + t = threading.Thread(target=cmd_in_back, args=(base_cmd,), daemon=True) t.start() else: return subprocess.check_output(base_cmd, cwd=str(os.environ['HIDDIFY_CONFIG_PATH'])).decode()