grok2api / scripts /init_proxy_config.py
looknicemm1's picture
Deploy grok2api (jiujiu532) to HF Space: port 7860, bucket persistence at /app/data
48d895c verified
Raw
History Blame Contribute Delete
1.79 kB
#!/usr/bin/env python3
"""
Init script: 在 grok2api 启动前写入代理配置到 data/config.toml。
用于 docker-compose.warp.yml 的 init-config 服务。
"""
import pathlib
DATA_DIR = pathlib.Path("/app/data")
CONFIG_PATH = DATA_DIR / "config.toml"
PROXY_CONFIG = """
[proxy.egress]
mode = "single_proxy"
proxy_url = "http://privoxy:8118"
resource_proxy_url = "http://privoxy:8118"
proxy_pool = []
resource_proxy_pool = []
skip_ssl_verify = false
[proxy.clearance]
mode = "flaresolverr"
cf_cookies = ""
user_agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36"
browser = "chrome136"
flaresolverr_url = "http://flaresolverr:8191"
timeout_sec = 60
refresh_interval = 3600
"""
DATA_DIR.mkdir(parents=True, exist_ok=True)
if not CONFIG_PATH.exists():
CONFIG_PATH.write_text(PROXY_CONFIG.strip() + "\n")
print("[init-config] Created config.toml with proxy settings")
else:
content = CONFIG_PATH.read_text()
if "privoxy" not in content:
# 替换已有的 proxy 配置段,或追加
import re
# 移除旧的 proxy.egress 和 proxy.clearance 段
content = re.sub(
r'\[proxy\.egress\].*?(?=\[|\Z)',
'',
content,
flags=re.DOTALL,
)
content = re.sub(
r'\[proxy\.clearance\].*?(?=\[|\Z)',
'',
content,
flags=re.DOTALL,
)
content = content.rstrip() + "\n" + PROXY_CONFIG.strip() + "\n"
CONFIG_PATH.write_text(content)
print("[init-config] Updated config.toml with proxy settings")
else:
print("[init-config] Proxy settings already present, skipping")