mirror of
https://github.com/langbot-app/LangBot.git
synced 2025-11-26 03:44:58 +08:00
37 lines
1.2 KiB
Python
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()
|