All plugins

DSH / BUNDLE / CLIENT-UI

dsh-proxy-whitelist

v0.6.3lilith1257 / dsh-proxy-whitelistb958fc1026

InstallableBundlesUI & client pluginsCommunity · Topic auto-analysisWeb UI

Overview

dsh-proxy-whitelist

DSH plugin: route only the model channels you tick through an HTTP proxy, everything else stays direct — with a settings card in the Web UI.

README / EN

Package documentation

Registry summary

DSH plugin: route only the model channels you tick through an HTTP proxy, everything else stays direct — with a settings card in the Web UI.

dsh.pub verifies the pinned bundle contract, runtime facts, and distribution semantics. The complete README remains in the source repository.

Read the full README on GitHub

LIMITATIONS

Known limitations

- **代理地址只能写到端口。** `http://127.0.0.1:7890/proxy` 这种带路径的写法会被卡片拒收:undici 的 `ProxyAgent` 只接受 origin,带路径会在加载时抛错——而加载时的异常以前会变成 unhandled rejection,让**下一次 DSH 启动直接失败**,且坏值已经存进配置、用户没有界面改回来。现在卡片在保存前就拒收,路由层还有一道 `try/catch` 兜底降级为直连。 - **代理地址可以是远程的,但那意味着把 API Key 交给它。** 走代理的每个渠道,请求里都带着该渠道的凭证;`checkProxyUrl` 只校验协议与主机名,不限制地址是不是本机。卡片会在「当前代理」一行标出 ⚠ 提示(`isLocalProxy`),但这只是提示,不是拦截——局域网代理、SSH 隧道端口都是合法用法。不想要这个风险就把地址写回 `127.0.0.1`。 - 只覆盖把 `globalThis.fetch` 落到 undici 全局 dispatcher 的调用方(DSH 的 LLM 传输、web 搜索、HTTP MCP 都属于这一类)。**worker 线程有自己的一份 `globalThis`**,要单独安装 dispatcher,本插件不涉及。 - 不是透明代理:不会改写 WebSocket 之外的协议,也不处理 `CONNECT` 以外的隧道语义。 - 与 `dsh-commandcode-goat` 一类自带 proxy 的插件互不干扰:它们用自己的 dispatcher 发自己的请求,本插件只接管没被它们接管的调用。