本地 hosts 劫持 api.openai.com 域名转发到另一个位置可行吗? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
a33291

本地 hosts 劫持 api.openai.com 域名转发到另一个位置可行吗?

  •  
  •   a33291 14 天前 1378 次点击
    RT,一些 IDE 并不提供 apibase 的修改设置,但是默认支持 openai 官方的 key
    此时,如果我修改本机 hosts 将 api.openai.com 直接指向(或者中间有一个什么中转也可以) 其他的 openai 兼容地址上,比如 deepseek 的接口地址,从而实现使用国内模型的目的

    有可能做到吗,是否会存在证书之类的问题?

    可能无法透明转发流量的话,中间有一层中转逻辑也可以,比如 IDE->openai 域名->本地域名拦截请求->deepseek->返回响应到 IDE

    是否有现成的工具或者方案? v2 上的信息比较少,而 ai 本身建议使用 mitmproxy 配合自定义脚本实现
    第 1 条附言    14 天前
    初步测试成功,步骤
    1. mitmdump --map-remote '|//api.openai.com/|//api.longcat.chat/openai/' -k --listen-host 127.0.0.1 --listen-port 443
    2. 修改 hosts 127.0.0.1 api.openai.com
    3. 测试
    curl -v -k https://api.openai.com/v1/chat/completions -H "Content-Type: application/json" -H "Authorization: Bearer ak_xxx" -d '{
    "model":"LongCat-Flash-Chat",
    "messages":[
    {"role":"system","content":"You are a helpful assistant."},
    {"role":"user","content":"你是什么模型"}
    ],
    "temperature":0.2
    }'
    响应
    {"id":"5f21ee882bf6407893a3bc31d40064ff","object":"chat.completion","created":1775745942,"model":"longcat-flash-chatai-api","usage":{"completion_tokens":30,"prompt_tokens":22,"total_tokens":52,"cache_write_tokens":0,"cache_read_tokens":0,"input_tokens":0,"output_tokens":0,"cached_tokens":0},choices":[{"index":0,"message":{"role":"assistant","content":"我是美团研发的大模型 LongCat ,也是一位 AI 助手。如果您有任何问题或需要帮助,请随时告诉我,我将竭诚为您服务。"},"finish_reason":"stop","matched_stop":2,"logprobs":null}]}

    发现 vscode 的 kilo 插件可以直接以 key 方式添加 openai 了,只是模型不被 longcat 这边识别报 404
    然后 trae 这边添加会失败,报错 997
    第 2 条附言    13 天前
    补充找到的资料和工具

    https://github.com/BiFangKNT/mtga 这个更完善,和第一条附言的做法类似,只是有 ui
    https://github.com/Noyze-AI/TRAE-Ollama-Bridge 这个相比之下多利用了 netsh 配置端口流量转发,但是经过测试实际上不需要,也能完成目标

    https://tyuans.com/trae%E4%BD%BF%E7%94%A8%E8%87%AA%E5%AE%9A%E4%B9%89%E6%A8%A1%E5%9E%8B%E4%BD%BF%E7%94%A8%E8%8B%B1%E4%BC%9F%E8%BE%BE%E5%B9%B3%E5%8F%B0%E6%A8%A1%E5%9E%8B/

    最终结果
    可行(国内版和国内版都是可以的,操作方式如附言 1 即可,mtga 太重了感觉没必要,并且这个天然支持 linux)

    之前报 997 的原因是,trae 是 ssh 远程在其他电脑,此时添加模型的时候他应该走的是 vscode-server 发出真正的 openai 请求,导致我本地 hosts 修改实际上无效,一旦切换到本地再添加 openai 就 ok 了
    14 条回复    2026-04-13 08:32:43 +08:00
    potatowish
        1
    potatowish  
       14 天前 via iPhone   1
    本地启一个 caddy 服务,把 openai 的 base api 转发到指定地址,我在 trae 配置本地模型搞过
    Meteora626
        2
    Meteora626  
       14 天前   1
    这种软件很多啊,git 上嗖嗖 当时 trae 不能自定义模型,好多人这么搞
    neteroster
        3
    neteroster  
       14 天前   1
    mitmproxy 一下就行
    dianso
        4
    dianso  
       14 天前   1
    为什么不行

    我去年就搞过劫持 kiro warp windsurf 做网关,不用切好,ide 随意用。
    neteroster
        5
    neteroster  
       14 天前   1
    如果你用 mac+surge 或许也可以直接用一下他的 mitm ,不用多装东西:

    https://manual.nssurge.com/http-processing/url-rewrite.html
    a33291
        6
    a33291  
    OP
       14 天前
    @neteroster #5 我现在是 win11,本地有 clash,但是不想开 tun 模式,日常都是用 proxy 模式

    https://gist.github.com/tshu-w/39bb65476ca855a1bebe5a81c582a087 找到一个 surge + mitm 的,不过我这边用不了 surge
    a33291
        7
    a33291  
    OP
       14 天前
    @potatowish 我试试看,之前尝试过正向代理(nginx 修改 host 模式),也许可行. 让域名指向 nginx 代理地址这样
    a33291
        8
    a33291  
    OP
       14 天前
    @Meteora626 我可能搜索关键字不对,比如用的 openai api proxy 之类,没找到合适的,最后倒是找到了前段时间报毒那个 litellm
    r6cb
        9
    r6cb  
       14 天前
    未必可以吧,ide 也许是把 key 放在他们服务器上请求 openai 得到结果再返回给客户端呢?
    a33291
        10
    a33291  
    OP
       14 天前
    @r6cb trae 估计是这么干的,因为我在添加模型和发起聊天时都没抓到直接向目标域名发起的请求. 他添加模型啥的都使用私有协议(非 http)在服务端做校验,所以这种做法就无效了
    Meteora626
        11
    Meteora626  
       14 天前   1
    jifengg
        12
    jifengg  
       14 天前
    好像没看到你怎么处理证书问题的,注意到你后面 curl 也是加了-k 参数,请问实际在你的 ide 中可以用吗?
    a33291
        13
    a33291  
    OP
       13 天前
    @jifengg 又研究了一下之后最终搞定了,见附言 2
    证书问题由 mitmproxy 解决,他会生成 ca,导入到系统即可
    jifengg
        14
    jifengg  
       11 天前
    @a33291 好吧,我以为还有什么绕过添加自定义 ca 的办法呢
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5217 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 86ms UTC 09:10 PVG 17:10 LAX 02:10 JFK 05:10
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86