Files
LangBot/pkg/utils/proxy.py
2025-05-10 18:04:58 +08:00

37 lines
1.2 KiB
Python

from __future__ import annotations
import os
from ..core import app
class ProxyManager:
"""代理管理器"""
ap: app.Application
forward_proxies: dict[str, str]
def __init__(self, ap: app.Application):
self.ap = ap
self.forward_proxies = {}
async def initialize(self):
self.forward_proxies = {
'http://': os.getenv('HTTP_PROXY') or os.getenv('http_proxy'),
'https://': os.getenv('HTTPS_PROXY') or os.getenv('https_proxy'),
}
if 'http' in self.ap.instance_config.data['proxy'] and self.ap.instance_config.data['proxy']['http']:
self.forward_proxies['http://'] = self.ap.instance_config.data['proxy']['http']
if 'https' in self.ap.instance_config.data['proxy'] and self.ap.instance_config.data['proxy']['https']:
self.forward_proxies['https://'] = self.ap.instance_config.data['proxy']['https']
# 设置到环境变量
os.environ['HTTP_PROXY'] = self.forward_proxies['http://'] or ''
os.environ['HTTPS_PROXY'] = self.forward_proxies['https://'] or ''
def get_forward_proxies(self) -> dict:
return self.forward_proxies.copy()