0816 update - #2
Merged
Merged
Conversation
- packageManager 升级到 pnpm@11.21.0,设置迁移到 pnpm-workspace.yaml - 移除 electron-icon-builder devDependency(依赖 phantomjs-prebuilt,在 pnpm 下无法通过镜像下载) - 图标已生成并提交,不影响构建
electron-builder 内置 fpm 直接产出 .pkg.tar.xz(CI 上无需 Arch 工具), x64/arm64 双架构,打包后可用 pacman -U 直接安装
- 新增 DEV_SIDECAR_LOG_TO_CONSOLE 环境变量开关,false 时日志只写文件 - CLI --daemon 及后台启动自动关闭 stdout 日志,命令结果仍走 stdout
- brace-expansion override 按主版本拆分:1.x 钉到已修复 CVE 的 1.1.11, 2.x 保留新版,解决 minimatch 3.x 调用 braceExpand 崩溃(ESLint 启动即挂) - mocha 8.4.0 → 11.8.0(yargs 16 → 17),修复 Node 26 ESM 自动检测导致的 require is not defined 崩溃 - mitmproxy 补声明 mocha devDependency(此前依赖 hoist) - eslint 9.10.0 → 9.39.5
- build.js: npx esbuild 改 esbuild JS API(修复 pnpm shim 加载 ELF 崩溃) - build.js: external 掉 @starknt/sysproxy(原生 .node 模块,调用方有 try/catch 兜底) - build.js: blob 改用已下载的当前平台 node 生成(避免 host node 版本与运行时不一致导致 SEA 启动崩溃) - build.js: 验证失败时退出非零码 - build-cli.yml: 重写为 pnpm install + build.js --all + SHA256SUMS + release 上传 - package.json: 增加 esbuild/postject devDependencies
- util.log-or-console: DEV_SIDECAR_LOG_TO_CONSOLE=false 时静默(不输出到 stdout), 但仍备份日志,setLogger 后回放进日志文件 - cli/index.js: 日志环境变量默认值提到入口顶部,覆盖 status/stop/plugin 等所有命令 - sea-entry.js: 增加日志环境变量默认值 - free-eye: 补 package.json 声明 type=module,消除 MODULE_TYPELESS_PACKAGE_JSON 警告 - core/plugin: free-eye 改为惰性 getter + try/catch,加载失败降级为不可用 - core/expose: 插件不可用时注册为禁用 stub,避免 'Cannot read properties of null' - build.js: free-eye 外部化改用通配符(包名前缀匹配不到相对路径解析); 增量构建哈希纳入 core/mitmproxy 源码;验证步骤增加 status 冒烟测试
- feat(gui): 新增流量监控页面,adblock 零 IP 与已拦截域名不计入错误统计 - feat(core): 支持 DEV_SIDECAR_LOG_DISABLED 完全关闭日志,设置页增加开关 - feat(overwall): 服务器支持 ID 标识,可按域名选择目标服务器 - feat(speed): 测速过滤零 IP,等待 Cloudflare 路由就绪后执行 - fix(gui): 修复安装后任务栏图标仍为 Electron 默认图标(signAndEditExecutable 改为 true,确保写入 exe 图标与版本信息) - fix(build): 平台原生可选依赖声明为直接依赖,修复安装后 sysproxy/shutdown-handler 模块缺失 - fix(proxy): DS-Proxy-Request 响应头改用实际上游路径 - fix(system-proxy): 优化系统代理开关与恢复逻辑 - chore(script): 统一 dev.ps1 启停/检查脚本 内容使用DeepSeekV4Pro0813 high+DSH完成
- feat(interceptor): 新增 retry 拦截器,收到 500 或连接失败时自动重试,支持缓存小请求体 - fix(proxy): 子资源错误页改为 text/plain,避免浏览器 ORB 拦截;错误日志精简 rOptions 输出 - feat(sni): sni 配置为空字符串时关闭上游 SNI 发送 - feat(cloudflareRoute): 预设 IP 优先级最高不参与重定向;新增 blacklist/whitelist 模式与域名名单 - fix(speed): 请求失败后从存活 IP 列表移除失败 IP,后续请求与重试自动切换 - feat(server): 新增按域名 TLS 版本设置 tlsVersionMapping,支持远程下发后用户自行启用 - feat(gui): 加速服务页新增 TLS 版本设置 UI,并为 Cloudflare 路由重定向增加模式与域名名单 UI
修复更新检查证书校验失败
| const tlsSock = tls.connect({ | ||
| socket: sock, | ||
| servername: sni || undefined, | ||
| rejectUnauthorized: false, |
|
|
||
| describe('help command', function () { | ||
| it('should display help with ds-cli help', function () { | ||
| const out = execSync(`node ${cliPath} help`, { encoding: 'utf-8' }) |
| }) | ||
|
|
||
| it('should show all commands in help', function () { | ||
| const out = execSync(`node ${cliPath} help`, { encoding: 'utf-8' }) |
| }) | ||
|
|
||
| it('should show options in help', function () { | ||
| const out = execSync(`node ${cliPath} help`, { encoding: 'utf-8' }) |
|
|
||
| describe('version command', function () { | ||
| it('should display version number', function () { | ||
| const out = execSync(`node ${cliPath} version`, { encoding: 'utf-8' }).trim() |
| describe('unknown command', function () { | ||
| it('should show error and help for unknown command', function () { | ||
| try { | ||
| execSync(`node ${cliPath} foobar`, { encoding: 'utf-8' }) |
Co-authored-by: 8odream <87055981+8odream@users.noreply.github.com>
Co-authored-by: 8odream <87055981+8odream@users.noreply.github.com>
Co-authored-by: 8odream <87055981+8odream@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ⅰ. 描述此PR的作用:
Ⅱ. 此PR修复了哪个issue吗?
Ⅲ. 界面变化截屏