dsh-our-free-model 完整指南:免 Key 免费模型插件如何把每一次请求的凭据与回环边界管住

发布时间:2026/11/4 11:11:35
dsh-our-free-model 完整指南:免 Key 免费模型插件如何把每一次请求的凭据与回环边界管住

dsh-our-free-model 完整指南:免 Key 免费模型插件如何把每一次请求的凭据与回环边界管住

【免费下载链接】dsh-our-free-model在 dsh 里装上这个插件即可,无需登录、注册或填 API Key,就能使用包括 DeepSeek V4.1 Flash、Kimi K3 在内的前沿模型——完全免费,不限量。 All you do is install this plugin in dsh: no login, no sign-up, no API key — the frontier models are just there, DeepSeek V4.1 Flash and Kimi K3 among them. Completely free, with no usage cap.项目地址: https://gitcode.com/gh_mirrors/ds/dsh-our-free-model

在 dsh 里装上 dsh-our-free-model,DeepSeek V4.1 Flash、Kimi K3 这类前沿模型直接可用——不登录、不注册、不填 API Key,免费且不限量。但免费额度放在你自己的机器上,同机的任何进程、任何网页里的跨站脚本,都可能来蹭这口水。所以这个插件给每根水管都装了计量表:每个请求先验表,再流水。本文跟着一次请求走完全程——从进门口的设置接口,到接向远端网关的出水管——看沿途每只阀门是怎么装的。

🚪 设置接口谁能碰:路由、权限、网络三层边界

[]

路由层:设置接口注册在/api/our-free-model前缀下,比内核的/api更长,而宿主按"最长前缀优先"分发——请求先命中插件,轮不到内核自己的鉴权出手。插件因此必须自建计量站,实现在 src/trust.js。

权限层:计量站两道闸。第一道借用宿主的 connection 服务——与内核/api同级的 cookie/token 准入判定;该服务逐请求读取(宿主可能晚于插件加载才发布它),dsh 0.1.7 之前的老内核以旧方法名requestRejection发布同一判定,围栏自动映射旧名,只换名字、不松判定。第二道给没有 connection 服务的极简宿主:Host 不是回环地址,403;sec-fetch-site标记跨站,403;Origin/Referer 与 Host 不同源、不同端口、不同协议,403。实测口径与内核一致:异源 Host/Origin 一律 403,无 cookie 的回环请求 401;拒绝日志只写状态、来源、原因三个固定字段,请求头与 Cookie 不落日志。

网络层:转发端口只绑回环地址,见下一节。

本节结论:这条路由比内核鉴权早一步,但计量站只许更严、不许更松。

🔧 转发端口如何绑回环地址,占用了又怎么办

先解析再绑定:默认监听 127.0.0.1:18899。localhost这类主机名先做 DNS 解析,且要求全部解析结果都是回环 IP,真正传给监听的是解析出的 IP 而非原始字符串——hosts 文件或企业 DNS 若把localhost指到可路由网卡,绑定直接报错、服务不启动,不存在"检查通过但实际露出去"的中间态(src/forward.js 的resolveLoopbackBind)。正常时监听在 18899 等客;异常时宁可整条水管不接。

端口被占:不判死刑。先在同一端口做 4 轮指数退避重试(间隔 150、300、600 ms),覆盖"旧进程正在关闭"的窗口;再依次向后找 10 个连续端口;仍无解落到随机端口。设置页把"请求 18899、实际监听 18900"原样展示,落盘的也是实际端口。Windows 上 EACCES 与 EADDRINUSE 分开诊断,提示直指netsh interface portproxy残留规则与 Hyper-V/WinNAT 端口预留,不把人引去查"权限"这条错误线索。

验表:/与/health存活探针先于 Key 检查应答,只回答"是否在线";其余接口一律要 Key。Key 由 crypto 生成ofm-前缀加 24 字节随机数,比对时双方先各做一次 SHA-256 再走 timingSafeEqual——耗时不随"前几位匹配"变化,按时差逐字节猜 Key 的计时侧信道被堵死。请求体超过 8 MiB 直接 413,不是 500。

要对外,走另一根管:局域网中继(默认 18326)只认专用 lanKey,与本机 Key 互不通用;门口把调用方的 Key 换成本机网关 Key 再拨127.0.0.1:8326,外部凭据不过这一层;白名单只放行/v1/models、/v1/chat/completions、/v1/responses、/v1/reasoning-efforts四条模型接口,其余在转发一个字节之前就 404;带着跳数标记x-ofm-chan-relay-hop的请求直接 508(src/chan-relay.js)。

[]

本节结论:管口只朝屋内部开;端口堵了换路线而不是断水,换出来的路线原样示人。

📒 转发 Key、局域网 Key 与 EAC 密封分别存在哪

出水管接远端网关(EAC 协付渠道)时,插件手里只有一张密封的行程单:AES-256-GCM 密文装着网关地址与 HMAC 签名密钥(src/vault.js),真实中继 Key 只放在 Worker 的环境变量里。每个出站请求按"时间戳 + HMAC-SHA256(方法/路径/body 的 SHA-256 摘要)"签名(src/eac.js),明文凭据不落盘、不出进程。

凭据/数据存放形态泄露影响面轮换或恢复动作
转发 Keycrypto 24 字节随机,ofm-前缀,写进 0600 权限的 settings.json仅限本机已配置的工具设置页单独轮换,局域网 Key 不牵连
局域网 Key同一 0600 文件的独立字段(src/store.js 落盘即带 0600 模式)仅限同网络其他设备单独轮换,本机工具不牵连
EAC 签名密钥插件仅持 AES-256-GCM 密封,真 Key 在 Worker 环境变量密封被提取也只是可吊销的间接入口,600 秒防重放窗口是仿冒上限网关侧轮换SIGNING_SECRETS(轮换期新旧并存),客户端零改动
用量热力图等看板数据全部落本机,不上传任何位置无外泄面无需轮换

本节结论:三张计量表各记各的水,漏哪张只换哪张,其余管路照常走水。

[]

🛠️ 故障行为清单:每个异常都朝拒绝的方向失败

安全设计的一半价值在失败路径上。这条线的全量故障映射:

异常场景实际行为设计意图
宿主 connection 服务抛错503 停止准入,绝不降级到更弱的结构检查计量站坏了先关闸,不掀开栏杆
老内核只发布旧名requestRejection自动映射到准入视图;"方法不存在"不误读成故障,对象形返回不误读成"无拒绝"兼容只做名字转换,不放松判定
localhost解析出可路由 IP绑定直接抛错,服务不启动宁可用量不可用,不递给整个子网
请求端口 18899 被占4 轮退避 → 10 端口扫描 → 随机端口,实际端口原样公示功能可用且不说谎
中继端口与本地监听配成同一端口跳数标记触发 508端口不被自环烧穿
中继时网关 Key 尚未生成503,提示先打开一次网关页无凭据不转发,失败闭合
网关验签失败 / 时间戳偏离超 600 秒 / 模型在白名单外401 / 401 / 403远端管口同样收口(worker/README.md)

本节结论:故障只会朝一个方向流——拒绝或明示,从不悄悄开水。

这座建筑里,每根管子有自己的表,每张表有自己的阀;任何一只阀门拿不准,默认动作都是关死——免费的水,只流向本机的表。

【免费下载链接】dsh-our-free-model在 dsh 里装上这个插件即可,无需登录、注册或填 API Key,就能使用包括 DeepSeek V4.1 Flash、Kimi K3 在内的前沿模型——完全免费,不限量。 All you do is install this plugin in dsh: no login, no sign-up, no API key — the frontier models are just there, DeepSeek V4.1 Flash and Kimi K3 among them. Completely free, with no usage cap.项目地址: https://gitcode.com/gh_mirrors/ds/dsh-our-free-model

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考