11from fastapi import APIRouter , BackgroundTasks , HTTPException , UploadFile , File
2- from ..schema .config .hysteria import ConfigFile , GetPortResponse , GetSniResponse , GetObfsResponse
2+ from ..schema .config .hysteria import ConfigFile , GetPortResponse , GetSniResponse , GetObfsResponse , GetMasqueradeStatusResponse
33from ..schema .response import DetailResponse , IPLimitConfig , SetupDecoyRequest , DecoyStatusResponse , IPLimitConfigResponse
44from fastapi .responses import FileResponse
55import shutil
@@ -230,8 +230,8 @@ async def check_obfs():
230230 except Exception as e :
231231 raise HTTPException (status_code = 400 , detail = f'Error checking OBFS status: { str (e )} ' )
232232
233- @router .get ('/enable-masquerade/{domain} ' , response_model = DetailResponse , summary = 'Enable Hysteria2 masquerade' )
234- async def enable_masquerade (domain : str ):
233+ @router .get ('/enable-masquerade' , response_model = DetailResponse , summary = 'Enable Hysteria2 masquerade' )
234+ async def enable_masquerade ():
235235 """
236236 Enables Hysteria2 masquerade for the given domain.
237237
@@ -245,8 +245,8 @@ async def enable_masquerade(domain: str):
245245 HTTPException: if an error occurs while enabling Hysteria2 masquerade.
246246 """
247247 try :
248- cli_api .enable_hysteria2_masquerade (domain )
249- return DetailResponse (detail = 'Hysteria2 masquerade enabled successfully.' )
248+ response = cli_api .enable_hysteria2_masquerade ()
249+ return DetailResponse (detail = response )
250250 except Exception as e :
251251 raise HTTPException (status_code = 400 , detail = f'Error: { str (e )} ' )
252252
@@ -268,6 +268,13 @@ async def disable_masquerade():
268268 except Exception as e :
269269 raise HTTPException (status_code = 400 , detail = f'Error: { str (e )} ' )
270270
271+ @router .get ('/check-masquerade' , response_model = GetMasqueradeStatusResponse , summary = 'Check Hysteria2 Masquerade Status' )
272+ async def check_masquerade ():
273+ try :
274+ status_message = cli_api .get_hysteria2_masquerade_status ()
275+ return GetMasqueradeStatusResponse (status = status_message )
276+ except Exception as e :
277+ raise HTTPException (status_code = 400 , detail = f'Error checking Masquerade status: { str (e )} ' )
271278
272279@router .get ('/file' , response_model = ConfigFile , summary = 'Get Hysteria2 configuration file' )
273280async def get_file ():
0 commit comments