【建议】装了DS后,如何规避"系统代理残留导致断网"(某些网站打不开,e,g., 飞书网页版)(附可复制方案)

Author: fuxiaoxCreated Sep 21, 2026Updated Sep 21, 2026

以下为可复制的配置/命令方案,也可直接交给 AI agent 执行。

环境

Windows / DS v2.2.0 / git 2.28.0.windows.1

问题

开启"系统代理"后,若 DS 非正常退出(崩溃/强杀/卡死/关机),注册表 HKCU\...\Internet Settings 的 ProxyEnable=1、ProxyServer=https=http://127.0.0.1:31181 不会被清理,导致之后所有不在排除列表的 HTTPS 网站全部打不开。 与 #687 / #688 一致(#687 已 closed as not_planned)。

案例:

  • www.tongji.icu(.icu 不在排除列表)→ 打不开
  • 飞书网页版:主域 *.feishu.cn 命中 *.cn 白名单可直连,但资源域名 *.feishucdn.com 不在白名单 → DS 未运行时失败

建议方案(我实际在用)

核心:不用"系统代理",只留"代理服务",谁需要谁手动配代理,DS 挂不挂都不影响整个系统。 (源码确认:proxy 模块只调 shell.setSystemProxy,与 server 独立;关系统代理后 31181 仍监听。)

  1. 关闭"系统代理"(保留"代理服务"):设置里取消"启用系统代理",或 config.json5 写 "proxy": { "enabled": false }
  2. 浏览器按需指定代理(二选一):
    • 专用 Chrome 快捷方式: chrome.exe --proxy-server="http://127.0.0.1:31181" --proxy-bypass-list="localhost;127.0.0.1;*.cn;192.168.*;10.*;172.16.*;..." --user-data-dir="...\ChromeGitHub"
    • 或用 SwitchyOmega 只让 github 系域名走代理
  3. git:插件运行时会自动配好 proxy,无需额外处理
  4. (可选)取消 Git 插件"关闭sslVerify"(plugin.git.setting.sslVerify=false),并执行 git config --global http.sslBackend schannel、http.sslVerify true → 改用 Windows 证书库,既信任 DS 根证书又恢复校验(实测 git ls-remote 成功)

期望

  1. 系统代理异常退出自动恢复(见 #688),或托盘代理开关(#475)
  2. 文档补充"按需启动、不接管系统代理"的推荐用法
  3. (可选)Git 插件增加 sslBackend 配置,避免默认全局 sslVerify=false

关联

#687 #688 #578 #498 #26 #475