Skip to content

fix: 本地部署默认走 Nitro 下载代理#175

Open
cloudy-liu wants to merge 1 commit into
wechat-article:masterfrom
cloudy-liu:fix/local-download-proxy-upstream
Open

fix: 本地部署默认走 Nitro 下载代理#175
cloudy-liu wants to merge 1 commit into
wechat-article:masterfrom
cloudy-liu:fix/local-download-proxy-upstream

Conversation

@cloudy-liu
Copy link
Copy Markdown

@cloudy-liu cloudy-liu commented May 20, 2026

改动内容

  • 新增同源 Nitro 下载代理接口 /api/web/proxy/download,用于本地部署和 Web 部署场景下载文章内容与资源。
  • 浏览器环境下,如果没有配置真正的私有代理,默认使用本地 Nitro 代理,不再继续依赖内置公开代理池。
  • 兼容历史配置:如果 preferences.privateProxyList 或 legacy wechat-proxy 中残留的是项目内置公开代理地址,会视为历史默认值并回落到本地代理。
  • 保留用户自定义私有代理的优先级;如果列表里混有内置公开代理和自定义代理,会过滤掉内置公开代理,只使用自定义代理。

问题背景

内置公开代理池可能失效或不可用。本地部署时,如果继续默认走公开代理,会导致文章内容抓取失败。

另外,已有用户的浏览器本地存储中可能已经持久化了旧的公开代理列表到 preferences.privateProxyList。如果只判断代理列表是否非空,这些历史公开代理会被误认为是用户私有代理,从而绕过本地 Nitro 代理,导致升级后仍然抓取失败。

这个修复将“历史内置公开代理”和“用户真正自定义的私有代理”区分开:本地部署默认使用同源 Nitro 代理,同时不破坏用户自建代理的配置。

验证

  • node_modules\.bin\jiti.cmd test\download_proxy_list.ts
  • node_modules\.bin\jiti.cmd test\download_proxy_target.ts
  • git diff --check upstream/master..HEAD
  • $env:NODE_OPTIONS='--max-old-space-size=4096'; yarn build

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant