#!/usr/bin/env python3 """SOCKS Manager — 启动入口。""" import os import sys from app import create_app app = create_app() if __name__ == "__main__": port = int(os.environ.get("SM_PORT", 5000)) host = os.environ.get("SM_HOST", "0.0.0.0") debug = os.environ.get("SM_DEBUG", "false").lower() == "true" # 启动时同步实例 try: app.instance_manager.sync_instances() except OSError as e: print(f"⚠️ 部分实例启动失败(端口冲突?): {e}", flush=True) # 记录流量快照 from services.stats_service import record_traffic_snapshot import threading def _snapshot_loop(): import time while True: try: record_traffic_snapshot() except Exception: pass time.sleep(3600) # 每小时记录一次 t = threading.Thread(target=_snapshot_loop, daemon=True, name="traffic-snapshot") t.start() print(f"\n ╔══════════════════════════════════════════╗") print(f" ║ SOCKS Manager — 代理管理平台 ║") print(f" ║ 面板: http://{host}:{port} ║") print(f" ║ 用户: admin ║") pwd = os.environ.get("SM_ADMIN_PASSWORD", "") print(f" ║ 密码: {'*' * len(pwd) if pwd else '未设置(请先设 SM_ADMIN_PASSWORD)'}{' '*(20-len(pwd) if pwd else 22)}║") print(f" ╚══════════════════════════════════════════╝\n") app.run(host=host, port=port, debug=debug, use_reloader=False)