26 lines
No EOL
960 B
Python
26 lines
No EOL
960 B
Python
from core.services.encrypted_proxy.hysteria_service import enable_hysteria, disable_hysteria
|
|
|
|
class HysteriaController:
|
|
def __init__(self, socks5_port: int):
|
|
self.socks5_port = socks5_port
|
|
|
|
def enable(self, username: str, password: str,
|
|
server_host: str, observer=None) -> bool:
|
|
if not username or not isinstance(username, str):
|
|
if observer:
|
|
observer.notify("error", "Invalid username")
|
|
return False
|
|
if not password or not server_host:
|
|
if observer:
|
|
observer.notify("error", "Missing password or server_host")
|
|
return False
|
|
return enable_hysteria(
|
|
username=username,
|
|
password=password,
|
|
server_host=server_host,
|
|
socks5_port=self.socks5_port,
|
|
observer=observer,
|
|
)
|
|
|
|
def disable(self, observer=None) -> bool:
|
|
return disable_hysteria(observer=observer) |