From 0caef367c6348dc32185c20f3f75bd107b201f18 Mon Sep 17 00:00:00 2001 From: Loren Eteval Date: Sun, 23 Feb 2025 15:05:09 +0800 Subject: [PATCH] Use functools.partial in core launcher Signed-off-by: Loren Eteval --- Furious/Core/Hysteria1.py | 5 ++++- Furious/Core/Hysteria2.py | 5 ++++- Furious/Core/Tun2socks.py | 5 ++++- Furious/Core/XrayCore.py | 5 ++++- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/Furious/Core/Hysteria1.py b/Furious/Core/Hysteria1.py index 79345cd..b4b43ec 100644 --- a/Furious/Core/Hysteria1.py +++ b/Furious/Core/Hysteria1.py @@ -26,6 +26,7 @@ from typing import Union import time import logging +import functools import multiprocessing logger = logging.getLogger(__name__) @@ -47,7 +48,9 @@ def startHysteria1(jsonString, rule, mmdb, msgQueue: multiprocessing.Queue): redirect = True StdoutRedirectHelper.launch( - msgQueue, lambda: hysteria.startFromJSON(jsonString, rule, mmdb), redirect + msgQueue, + functools.partial(hysteria.startFromJSON, jsonString, rule, mmdb), + redirect, ) diff --git a/Furious/Core/Hysteria2.py b/Furious/Core/Hysteria2.py index 163671c..b28ed4d 100644 --- a/Furious/Core/Hysteria2.py +++ b/Furious/Core/Hysteria2.py @@ -26,6 +26,7 @@ from typing import Union import time import logging +import functools import multiprocessing logger = logging.getLogger(__name__) @@ -47,7 +48,9 @@ def startHysteria2(jsonString: str, msgQueue: multiprocessing.Queue): redirect = True StdoutRedirectHelper.launch( - msgQueue, lambda: hysteria2.startFromJSON(jsonString), redirect + msgQueue, + functools.partial(hysteria2.startFromJSON, jsonString), + redirect, ) diff --git a/Furious/Core/Tun2socks.py b/Furious/Core/Tun2socks.py index 0168fff..f6f0fdb 100644 --- a/Furious/Core/Tun2socks.py +++ b/Furious/Core/Tun2socks.py @@ -23,6 +23,7 @@ from Furious.Library import * from Furious.Utility import * import time +import functools import multiprocessing __all__ = ['Tun2socks'] @@ -42,7 +43,9 @@ def startTun2socks(msgQueue: multiprocessing.Queue, *args): redirect = True StdoutRedirectHelper.launch( - msgQueue, lambda: tun2socks.startFromArgs(*args), redirect + msgQueue, + functools.partial(tun2socks.startFromArgs, *args), + redirect, ) diff --git a/Furious/Core/XrayCore.py b/Furious/Core/XrayCore.py index c4aca89..a81062c 100644 --- a/Furious/Core/XrayCore.py +++ b/Furious/Core/XrayCore.py @@ -27,6 +27,7 @@ from typing import Union import io import time import threading +import functools import multiprocessing __all__ = ['XrayCore'] @@ -48,7 +49,9 @@ def startXrayCore(jsonString: str, msgQueue: multiprocessing.Queue): if not isPythonw(): return StdoutRedirectHelper.launch( - msgQueue, lambda: xray.startFromJSON(jsonString), redirect + msgQueue, + functools.partial(xray.startFromJSON, jsonString), + redirect, ) if not redirect: