dsh-deepseek-web-login 0.6.19 → 0.6.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/lib/client.js +7 -4
- package/lib/client.js.map +1 -1
- package/lib/index.js +340 -25
- package/lib/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
本项目遵循大致语义化版本;日期为本地时间。
|
|
4
4
|
|
|
5
|
+
## 0.6.20 — 2026-10-01
|
|
6
|
+
|
|
7
|
+
**浏览器代理传输层:官方 DSH 桌面端也能走真实 Chrome 指纹。**
|
|
8
|
+
|
|
9
|
+
- 新增 `src/browser-transport.ts`:当 `electron.net.fetch` 不可用时,启动系统里的 Edge/Chrome 进程
|
|
10
|
+
(headless + 独立 profile),通过 CDP `Runtime.addBinding` 把请求代理给浏览器的 `fetch()`。
|
|
11
|
+
- 请求实际从浏览器网络栈发出,TLS/HTTP2 指纹与真实浏览器一致;响应通过 binding 分块传回 Node,
|
|
12
|
+
再包装成标准 `Response`(含 ReadableStream)。
|
|
13
|
+
- `transport.ts` 自动 fallback:electron.net.fetch → 系统浏览器代理 → Node fetch。
|
|
14
|
+
- 设置页提示更新:走浏览器代理时显示「通过系统 Edge/Chrome 进程代理」;无浏览器时才降级 Node。
|
|
15
|
+
- 新增回归用例 `tests/check-browser-transport.mjs`;保留 `DSH_NO_BROWSER_TRANSPORT=1` 测试开关。
|
|
16
|
+
- 传输层文案保持「Chrome 网络栈」(0.6.19)。
|
|
17
|
+
|
|
5
18
|
## 0.6.19 — 2026-10-01
|
|
6
19
|
|
|
7
20
|
**面板文案:传输层统一称为 Chrome 网络栈。**
|
package/lib/client.js
CHANGED
|
@@ -2304,12 +2304,15 @@ background:var(--bg2);white-space:pre-wrap;font-size:12px}
|
|
|
2304
2304
|
const requested = String(info.requested ?? info.effective ?? "chromium");
|
|
2305
2305
|
const effective = String(info.effective ?? requested);
|
|
2306
2306
|
for (const key of Object.keys(transportBtns)) transportBtns[key].classList.toggle("active", key === requested);
|
|
2307
|
-
const available = info.chromiumAvailable !== false;
|
|
2307
|
+
const available = info.chromiumAvailable !== false || info.browserAvailable !== false;
|
|
2308
2308
|
transportBtns.chromium.disabled = !available;
|
|
2309
|
-
transportBtns.chromium.title = available ? "" : "
|
|
2309
|
+
transportBtns.chromium.title = available ? "" : "本环境找不到 Edge/Chrome,也没有 electron.net.fetch,不支持 Chrome 网络栈";
|
|
2310
2310
|
const parts = [effective === "chromium" ? "实际生效:Chrome 网络栈" : "实际生效:Node fetch"];
|
|
2311
|
-
if (info.degraded) parts.push("配置要求 Chrome
|
|
2312
|
-
if (effective === "chromium")
|
|
2311
|
+
if (info.degraded) parts.push("配置要求 Chrome,但本环境找不到 Edge/Chrome 也没有 electron.net.fetch,已降级为 Node");
|
|
2312
|
+
if (effective === "chromium") {
|
|
2313
|
+
if (info.viaBrowserProxy) parts.push("通过系统 Edge/Chrome 进程代理");
|
|
2314
|
+
else parts.push("cipher 列表哈希与 Chrome 一致、ALPN 走 h2");
|
|
2315
|
+
}
|
|
2313
2316
|
transportHint.textContent = parts.join(" · ");
|
|
2314
2317
|
transportProxyHint.textContent = String(info.hint ?? "");
|
|
2315
2318
|
};
|