| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- import asyncio
- import httpx
- import sys
- from pathlib import Path
- sys.path.append(str(Path(__file__).parent.parent.absolute()))
- print(sys.path)
- from config.logu import get_logger
- from routers.mihomo import MihomoMetaWithURL
- logger = get_logger('client',file=False)
- BASE_URL = "http://localhost:5010"
- def get_proxies() -> dict:
- url = f"{BASE_URL}/subscriptions/proxies"
- response = httpx.get(url)
- return response.json()
- def startup():
- url = f"{BASE_URL}/mihomo/startup"
- response = httpx.post(url,timeout=30)
- response.raise_for_status() # 确保请求成功
- return response.json()
- def proxy_delay(provider_name, external_controller: str):
- '''
- 失败: {'message': 'get delay: all proxies timeout'}
- 成功: {'自动选择': 34, '🇦🇺澳大利亚悉尼': 159, '🇦🇺澳大利亚悉尼2': 1577,...}
- '''
- # http://127.0.0.1:9351/group/FSCloud/delay?url=https%3A%2F%2Fwww.gstatic.com%2Fgenerate_204&timeout=2000
- url = f"http://{external_controller}/group/{provider_name}/delay?url=https%3A%2F%2Fwww.gstatic.com%2Fgenerate_204&timeout=2000"
- response = httpx.get(url,timeout=30)
- return response.json()
- def main():
- res = startup()
- for item in res:
- logger.info(f"服务商: {item}")
- res = proxy_delay(item.get('provider_name'),item.get('external_controller'))
- logger.info(f"延迟: {res}")
- if __name__ == "__main__":
- main()
|