更新配置文件和代理池实现,添加获取代理 URL 的方法

- 在 config.py 中新增静态方法 get_proxy_url(),用于获取代理 API 地址
- 在 proxy_pool.py 中将代理 API 地址修改为使用 config.get_proxy_url() 方法
- 在 Dockerfile 中添加默认的 PROXY_URL 环境变量设置
This commit is contained in:
danial
2025-05-18 18:17:50 +08:00
parent 0eb84fc15c
commit 9960122efe
3 changed files with 10 additions and 2 deletions

View File

@@ -24,6 +24,7 @@ ENV FLASK_APP=app.py
ENV PROXY_USER=""
ENV PROXY_PASS=""
ENV PROXY_TYPE="default"
ENV PROXY_URL="https://overseas.proxy.qg.net/get"
# 添加健康检查
HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \

View File

@@ -25,3 +25,10 @@ class Config:
if not env:
env = ProxyPoolType.DEFAULT
return ProxyPoolType(env)
@staticmethod
def get_proxy_url() -> str:
env = os.getenv("PROXY_URL", "https://overseas.proxy.qg.net/get")
if not env:
env = "https://share.proxy.qg.net/get"
return env

View File

@@ -90,7 +90,7 @@ class DefaultProxyPool(BaseProxyPool):
def __init__(self):
super().__init__()
self.order_proxy_map: Dict[str, str] = {}
self.proxy_api_url = "https://overseas.proxy.qg.net/get"
self.proxy_api_url = Config.get_proxy_url()
def get_proxy(self, order_id: str = "") -> Optional[str]:
"""获取指定订单的代理
@@ -185,7 +185,7 @@ class ExpiringProxyPool(BaseProxyPool):
self.current_proxy: Optional[Tuple[str, float]] = None # 当前代理及其过期时间
self.expire_time = expire_time # 代理有效期
self.invalid_proxies: set = set() # 存储无效的代理
self.proxy_api_url = "https://overseas.proxy.qg.net/get"
self.proxy_api_url = Config.get_proxy_url()
def get_proxy(self, order_id: str = "") -> Optional[str]:
"""获取指定订单的代理