Deploy grok2api (jiujiu532) to HF Space: port 7860, bucket persistence at /app/data
48d895c verified | #!/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") | |