通过境外服务器反向代理 OpenRouter AI API,解决区域访问限制问题。

背景(SCQA)

S - 情境

海外 AI 服务(如生图、对话等)通常通过 OpenRouter 等聚合平台提供统一 API 接入,使用方式与 OpenAI SDK 兼容。

C - 冲突

这些服务对中国大陆地区实施了访问限制——请求来源 IP 若被识别为中国境内,将直接拒绝服务。

Q - 问题

如何从中国境内正常访问 OpenRouter API,且不暴露代理服务的存在?

A - 方案

在美国服务器上部署 Nginx 反向代理,使所有请求以境外 IP 发出。通过自定义域名 openrouter.ai.XXX 访问,根路径返回伪装页面,仅 /api/v1 路径提供代理服务。

部署

https://github.com/hi-unc1e/reverse_openrouter

docker build -t openrouter-proxy .
docker run -d -p 80:80 --restart unless-stopped openrouter-proxy

使用

将 API 地址改为代理域名即可,API Key 不变:

  • iOSKelivo — 设置中填入自定义 API 地址 https://openrouter.ai.XXX/api/v1 及 OpenRouter API Key
  • AndroidRikka Hub(暂未配置)

代码调用同理:

client = OpenAI(
    base_url="https://openrouter.ai.XXX/api/v1",
    api_key="<YOUR_OPENROUTER_KEY>",
)

最终效果,🐶