科学之家

动态 · 第 6 页

共 207 条动态,当前显示 30 条

动态时间线

按原始发布时间排序

wwqgtxx:不打算处理未发布 uTLS 版本的兼容问题

作者原文 · 预览

We have no interest in wasting time dealing with such compatibility issues, nor do we wish to expend energy managing the security risks associated with unreleased versions of UTLS. Just because some projects feel free to use commits from the master branch does not mean everyone else should follow suit. If you believe they are right, please use their client directly instead of demanding that others do the same.

查看完整动态

233boy:Xray 脚本不打算在更新选项里增加测试版,需要的人自行指定版本更新

在回应「要不要在更新选项里增加一个测试版本」的建议时表示没必要,想用测试版本的用户直接自己指定版本来更新就行,并说明他的看法是绝大多数人用不上这个功能。

作者原文 · 预览

没必要,想要用测试版本的,直接自己指定版本来更新就行了,我的意思是绝大多数人用不上这

查看完整动态

clash_verge_re:2.5.4 autobuild 若无新问题,将于近期发布

频道原文 · 预览

2.5.4 autobuild 进行了海量改进与重构,如果没新问题反馈,将于最近发布,请各位提前下载帮忙测试,在发布前找到问题及时修复 https://github.com/clash-verge-rev/clash-verge-rev/releases/autobuild

敬请关注 每日开发更新频道https://t.me/vergetest

查看完整动态

RPRX 回应 REALITY 的客户端指纹检查

作者原文(节选) · 预览

由于主要针对 Client Hello 缺少 X25519MLKEM768 的问题,Xray 最新服务端改成了直接看指纹,Mihomo 加上述参数即可

查看完整动态
资料来源(4)

alireza0:s-ui 的 web/html 是构建产物,前端改动应提交到 frontend 仓库

在关闭一个主题 PR 时说明,该 PR 的全部文件都在 web/html 下,而这一目录在 .gitignore 中,是 frontend 子模块执行 npm run build 的输出,由 Dockerfile 与发布流程复制到位,仓库不跟踪其中任何内容。因此这里没有可审查的源码改动——主题只以压缩后的 bundle 形式存在(单个文件一行就有 25 万字符),无法看出它实际做了什么;即使合并,下一次发布构建也会重新生成 web/html 并全部覆盖。他表示若想改面板外观,应改 frontend 仓库里的 Vue 组件与 Vuetify 主题,并认为做一轮 Material Design 3 是合理想法、愿意看一下,随后关闭了该 PR。

作者原文 · 预览

Hi @YiranrumengQAQ, thanks for the interest — but this can't be merged as it is.

Every file in this PR is under web/html, which is in .gitignore. It isn't
source: it's the output of npm run build in the frontend/ submodule, copied
into place by the Dockerfile and the release workflow. Nothing under it is
tracked in the repository.

That means two things. There's no source change here to review — the theme
exists only as a minified bundle (one line of df02d90cfd573e6a.js is 254,000
characters), so there's no way to see what it actually does. And even if it were
merged, the next release build would regenerate web/html from source and
overwrite all of it, so it would have no effect.

If you'd like to work on the panel's look, the place for it is the frontend
repository, in the Vue components and the Vuetify theme — a change there is
reviewable and survives a rebuild. A Material Design 3 pass is a reasonable idea
and I'd take a look at it.

Closing this one. Thanks for understanding.

查看完整动态

Clash Verge Rev 提出 Windows 按用户安装与商店分发准备方案

wonfen 提出新增 x64 current-user 安装包、离线依赖及独立更新通道,并准备 SignPath 签名流程和 Microsoft Store 分发。服务与 TUN 的启用仍需明确提权;正式签名和商店提交取决于基金会受理与完整签名产物,目前属于开放提案。

作者原文 · 预览

The Windows package currently installs per-machine, downloads WebView2 and the VC++ redistributable during setup, and includes unsigned Mihomo and service executables. It cannot yet provide a current-user installation or meet Microsoft Store EXE package requirements.

Implement an additional x64 currentUser package with offline dependencies and no machine-wide installer actions. Keep service/TUN enablement explicit and elevated, and isolate its update feed and cached installers from the perMachine channel. Preserve the existing release packages.

Prepare SignPath Foundation enrollment and a signing pipeline with an explicit ownership boundary. Resolve upstream PE signatures, sign the app and uninstaller before the outer installer, and generate updater signatures only after Authenticode signing. Production signing and Store submission depend on Foundation acceptance and complete signed payloads.

Validate the actual unsigned/signed payload, silent installation as a standard user without network access, upgrade, uninstall, and perMachine coexistence. Track Partner Center registration and immutable release URLs for submission.

Historical context: #3614. This request re-evaluates the previous Store proposal with an EXE/currentUser delivery plan.

查看完整动态

richerfu:模拟器方案暂时沿用当前实现

richerfu 表示,官方模拟器不支持 VPN 配置,所需命令行工具体积较大且当时缺少公开安装方式;自定义 QEMU 镜像也存在组件支持和未知限制。考虑这些取舍,他认为暂时应沿用当前实现。

作者原文 · 预览

I'm still unsure which option is better for us. For example:

Using the command-line tool to install an emulator that behaves like HarmonyOS has its drawbacks: the official emulator doesn't support VPN configuration, and we must first install the command-line tool — which currently lacks a publicly available installation method. Additionally, the tool itself is quite large in file size.
On the other hand, using a custom QEMU image also presents challenges: some sub-components or features may not be fully supported, and we aren’t yet aware of all the limitations.
Given these trade-offs, I think we should stick with the current implementation for now.

查看完整动态

Fangliding 回应 ECH 的最低 TLS 版本要求

Fangliding 在 ECH 最低 TLS 版本问题的讨论中表示,这是固定要求;如果有人把 Min 设为 1.2,旧版本还能连接属于 bug,留空应该没有问题。

作者原文 · 预览

这是固定要求啊 要是有人填了 Min 1.2 旧版本还能连上属于是bug 空的应该没问题

查看完整动态

TokenPLS 排查 OpenVPN 兼容性,向 Mihomo 提交 tls-auth 摘要算法修复

TokenPLS 在排查 tls-crypt 超时时发现,tls-auth 固定使用 HMAC-SHA1 会导致 auth SHA256/SHA512 配置握手失败,并向 Mihomo 提交 PR #3189。作者明确说明这是另一项独立问题,不能据此认定原 tls-crypt 故障已解决;该修复 PR 后于 9 月 8 日合并。

作者原文 · 预览

Update on the tls-crypt investigation.

We now have an interop test that runs the OpenVPN outbound against an official OpenVPN 2.7.5 server with tls-crypt, tls-crypt-v2, tls-auth and auth-user-pass. We will post its results here once the run completes.

One finding already: the upstream tls-auth implementation hard-codes HMAC-SHA1, so any profile that combines tls-auth with auth SHA256 or auth SHA512 cannot complete the handshake at all. That is a different bug from yours; we sent the fix upstream in https://github.com/MetaCubeX/mihomo/pull/3189. If you try the tls-auth comparison we asked for, expect it to fail for that reason until the fix ships, so that comparison is not informative for now. tls-crypt does not depend on auth, so your profile is not affected by that bug.

Still the most useful data for your case: the server-side openvpn --verb 4 lines from the moment the app tries to connect (or confirmation that the server logs nothing at all), and whether the official client on the same Mac connects with the same profile.

查看完整动态

TokenPLS:use 中只能填写已定义的 proxy-provider 名称

作者原文 · 预览

all 不是内核的关键字:use: 里只能写 proxy-providers 中定义过的 provider 名字,配置里没有叫 all 的 provider,所以报 'all' not found。两种改法任选其一:

1. 用 include-all——把每个策略组里的

use:
  - all

换成

include-all: true

(只想包含 provider 里的节点用 include-all-providers: true。)

2. 保留 use: [all]——补一个名字就叫 all 的 provider(区分大小写):

proxy-providers:
  all:
    type: http
    url: 你的订阅链接
    interval: 3600
    path: ./providers/all.yaml
查看完整动态

clashbyhako:上游历史与修改说明

频道原文 · 预览

上游历史与修改说明

Hako 是基于 MetaCubeX/mihomo 的独立衍生项目,上游基线为 v1.19.30,提交为 ac017cdd246ce8bd547653d927e7bf77d7ee73d5。本项目与 MetaCubeX 无隶属关系。上游要求无隶属关系的下游项目不要在项目名称中使用“mihomo”。

2026-09-06,本仓库恢复了截至该基线的完整上游祖先历史,原始提交及贡献者署名均保持不变,并保留了已有公开历史(恢复上游 4,263 个提交及原始署名。)。此次历史衔接保留原已发布源码,仅补充这些来源说明。Hako 的累计修改包括 Apple 绑定、SDK 构建工具及内核适配。比较上游基线与具体 Hako 提交即可查看完整差异;后续修改以增量公开提交记录。
上游 GPL-3.0 许可证保留在 LICENSE 中。署名与依赖许可证见 NOTICE 和 THIRD_PARTY_LICENSES.md。

查看完整动态

clashbyhako:关于未从 Mihomo fork 与提交不够原子化的说明

频道原文 · 预览

关于没从 Mihomo fork,以及提交不够原子化的问题,在这里跪着狡辩一次🙇

README 和官网一直都写着上游是 Mihomo。上游我们认,贡献我们记,GitHub 我们确实还在学。属于是项目先建了,GitHub的驾照还没考到就上路开车了。

给开源社区添堵了,对不起。后面会认真研究仓库历史怎么补救(可能也无法补了),但我们后期的更新也尽量按独立改动拆分提交。
错不起,我对了,都怪 GitHub。

查看完整动态

TokenPLS:下一版将在启动时读取物理接口的 DNS 解析器

作者原文 · 预览

Update: this is implemented and is in the next macOS and iOS releases. At start, the client reads the physical interface's resolvers through the system resolver library and hands them to the core; system (and dhcp://) is replaced by those resolvers in every resolver field, nameserver-policy included, so domains assigned to system resolve through your corporate DNS instead of NXDOMAIN. Verified on macOS and iOS that the tunnel now sees the interface's resolvers at start. If a domain still answers NXDOMAIN on the new build, the extension log line system resolvers before the tunnel: shows what it read — please paste it.

查看完整动态

TokenPLS:隧道 DNS 设置问题已修复,将随下一个 macOS 版本发布

作者原文 · 预览

已复现并修复,谢谢这份日志——那三行字典键(ServerAddresses / InterfaceName / ConfirmedServiceID)正是关键。

真因不在 On Demand 本身:隧道扩展给系统下发 DNS 设置时,有一条路径先把 DNS 对象交给了设置、之后才补上「接管全部域名」的匹配项,而系统保存的是交出去那一刻的副本,补上的匹配项从未生效。凡是没走「上次成功设置的快速缓存」的启动都会踩到:配置第一次启动、扩展异常退出后被 On Demand 拉起、切换到一个新配置。手动停止再启动走的是缓存路径,所以立刻恢复。现在两条路径共用一份已经配齐的 DNS 设置。

修复会随下一个 macOS 版本发布;发布后如果同样的恢复场景仍出现 SupplementalMatchDomains 缺失,请再贴一次 utun 的 DNS 字典行。

查看完整动态

Clash for macOS 1.0.8 已通过 App Store 审核

频道原文 · 预览

💻 Clash for macOS v1.0.8 已通过 App Store 审核

这次带来了全新的菜单栏体验、桌面小组件,以及多项性能和配置管理改进。

🖥 全新菜单栏菜单
• 每个代理组现在都是独立子菜单
• 无需打开主窗口,即可切换节点和运行模式
• 可直接查看节点延迟、发起测速
• 支持在菜单栏显示实时网络速度

🧩 桌面小组件
• 显示 Clash 状态并一键启动或停止
• 可改为显示指定代理组或网络统计
• 提供小、中、大三种尺寸

⚡ 配置与性能
• 添加或切换配置后立即生效,不再等待规则集下载,也不再持续转圈
• 明显降低连接后闲置时的 CPU 占用
• 取消配置文件大小限制
• 自动更新间隔不再设置上限
• 复制配置后,副本会紧挨原配置显示
• 复制大型配置时不再卡住界面

✍️ 源码编辑器
• 改为独立窗口,关闭前会提醒保存
• 大型配置的打开和输入速度显著提升
• 注释与链接的语法着色更加准确

🔀 代理与节点
• 自动分组现在可以取消固定
• 操作被拒绝时,会在分组下方显示具体原因
• 测速失败不再一律显示「超时」,现在会说明 HTTP 错误、连接被拒绝等原因
• 重新设计节点详情面板
• 新增「复制 YAML」和「完成」按钮
• 支持按回车关闭详情面板

⚙️ 隧道、规则与工具
• 新增「隐藏 VPN 图标」
• 新增「HomeKit 兼容」
• 两项隧道设置将在下次连接时生效
• 规则页中的每个规则集现在会显示条目数量
• 工具页支持手动更新规则集
• 开启覆写后,首页「代理」和「规则」卡片会显示实际生效的配置

https://apps.apple.com/app/id6794257189?platform=mac

建议所有早期版本用户及时升级,也欢迎大家继续向社区反馈问题与建议。

查看完整动态

TokenPLS 解释节点域名超时:隧道建立前需有可达的 DNS

TokenPLS 确认,当 dns.fallback 指向隧道建立前不可达的 DoH 服务时,节点域名无法解析,会出现全部节点超时。其建议为节点域名单独设置可达的解析器,并检查 DoH 域名的引导解析;该报告按配置问题关闭。

作者原文 · 预览

Thanks for tracking it down. Your finding matches what we see: with dns.fallback pointing at DoH servers that are not reachable before the tunnel is up, node hostnames never resolve and every node times out; the same nodes work as soon as the resolver is reachable or the hostname is replaced by its address. Two ways out that keep hostnames: put a plain UDP/TCP resolver (an IP) under dns.proxy-server-nameserver, or use DoH servers whose own hostnames are in dns.default-nameserver. Closing as configuration; reopen if a reachable resolver still times out.

查看完整动态

TokenPLS:规则排序丢失已修,将随下一版发布

作者原文 · 预览

逐条回复:

  • 个人规则改动后点「重新排序」再选「放弃」整表丢失——已修:排序面板的关闭不再拿规则页的「放弃」问你;只有关闭规则页本身才会问保存/放弃。随下一版发布。
  • 导航栏标签结尾的小方块——已修:那是为 macOS 14 渲染问题加的占位,在深色侧栏里看得见;现在只在 macOS 14 上保留,15 及以后不再画(同一提交)。
  • 「代理 › 样式」切换后菜单勾选没更新——在最新开发版本上没有重现(切列表/标签页勾选跟着走)。请补充 macOS 与 App 版本、切换时隧道是否已连接。
  • UI 间距过大——看了视频,请指一下具体是哪一页、你期望的间距参照(比如系统设置的哪一页),我们按 HIG 对齐。
查看完整动态

TokenPLS:目前未在中国大陆与俄罗斯 App Store 上架

作者原文 · 预览

这不是版本的问题:App 目前在 175 个地区可售,但中国大陆与俄罗斯的 App Store 没有上架。

TestFlight 不区分商店地区,所以之前能装测试版;TestFlight 结束后,这两个地区的 Apple ID 在 App Store 里会看到「已购买」但无法下载。请使用其他地区的 Apple ID 安装。

查看完整动态

TokenPLS:已修复 TUN 的 IPv6 声明,将随下个 iOS 版本发布

作者原文 · 预览

感谢这份带日志与对照实验的报告,判断完全正确:TUN 的地址在建隧道时确定,此前没有看物理路径。

已修(main 6b5d54cc0):

  • 建隧道时只在物理路径支持 IPv6 时才声明 IPv6;
  • 隧道运行中路径变化(例如无 IPv6 的 Wi-Fi ↔ 有 IPv6 的蜂窝)会重新声明或撤回。

不声明后,App 的 IPv6 连接会在系统层立刻失败并回退到 IPv4,与不开隧道时一致。

将随下一个 iOS 版本发布;在此之前顶层 ipv6: false 的绕法有效(如你所说,dns.ipv6 只影响内核自身的解析)。

查看完整动态

tobyxdd:暂无非标准内核支持计划,请尝试实验分支

作者原文 · 预览

I don't really plan to support non-standard kernels, and your fix is not correct either. That said, this change is caused by the BBRv3 patch, which may eventually make its way into the mainline kernel, so it's worth looking into.

could you try this branch and see if it works for you?

https://github.com/HyNetworks/tcp-brutal/tree/exp/xan-fix

查看完整动态

clashbyhako:Clash for Apple Platforms 全面开源

频道原文 · 预览

📢 Clash for Apple Platforms 全面开源

今天,我们兑现了一个重要承诺:
从 Hako 内核、Apple Network Extension 适配层,到 iOS、iPadOS、tvOS 与 macOS 客户端,完整生产代码链路现已全部向社区开放,并统一遵循 GPL-3.0 协议。

🔗 开源仓库
• Hako Kernel:基于 mihomo 构建、面向 Apple 平台优化的代理内核
• Hako Adapter:连接 Hako 与 Apple Network Extension 的 Swift 适配层
• Hako Client:iOS、iPadOS、tvOS 与 macOS 客户端源码

这意味着,社区现在可以审阅内核实现、检查客户端行为、按照公开说明进行构建,也可以自由 Fork、提交 Issue 和 Pull Request。
我们的共识很简单:
代理工具位于网络流量的关键路径,信任不应只来自一句承诺,更应该来自公开、可验证的代码。
开源也不只是把代码上传到 GitHub。真正有生命力的开源,来自持续的讨论、审阅、反馈与贡献。我们尊重 GPL 协议,感谢 mihomo、Clash 及所有上游开源项目,也希望把改进继续交还给社区。
今天不是终点,而是 Hako 与 Clash 社区共建的起点。
欢迎大家 Star、Fork、审阅代码、参与讨论。无论是提交问题、完善文档、适配新平台,还是贡献代码,每一种参与都在帮助这个项目走得更远。

代码属于社区,未来由我们一起构建。

查看完整动态

xishang0128 说明 Mihomo 嗅探覆盖目标地址时的重新解析行为

针对开启 override-destination 后部分应用连接异常的报告,xishang0128 解释,覆盖目标地址时清空原目标 IP 是预期行为,否则覆盖可能不生效;其认为该案例应检查嗅探域名重新解析后的访问结果。这是维护者对具体报告的技术说明。

作者原文 · 预览

清空dst ip才是正确行为,这是没问题的,否则覆盖目标地址可能就是失效的,你应该先理解覆盖目标地址的含义,你这只是嗅探出来的地址被重新解析导致的访问效果不好或者无法访问,这无关内核本身行为的问题

查看完整动态

TokenPLS:Go 修复目前仅在 master,暂时使用构建期 workaround

Thanks — I had missed golang/go#80931; good to see it fixed at the source. Two notes for anyone landing here before Go 1.27: - The fix (golang/go@8058a577) is on master only. `release-branch.go1.26` still carries the old `cpu_arm64_other.go` constraint and there is no backport issue, so every `GOOS=ios` build on Go 1.26.x keeps running AES-GCM/GHASH/SHA-256 in pure Go. - Until then we ship the build-time workaround from this issue. It is public in our kernel repo at [`v1.19.30-hako.2`](https://github.com/TokenPLS/Hako/tree/v1.19.30-hako.2):(节选)

作者原文 · 预览

Thanks — I had missed golang/go#80931; good to see it fixed at the source. Two notes for anyone landing here before Go 1.27:

  • The fix (golang/go@8058a577) is on master only. release-branch.go1.26 still carries the old cpu_arm64_other.go constraint and there is no backport issue, so every GOOS=ios build on Go 1.26.x keeps running AES-GCM/GHASH/SHA-256 in pure Go.
  • Until then we ship the build-time workaround from this issue. It is public in our kernel repo at v1.19.30-hako.2:
  • cmd/build_libbox/overlay/internal_cpu_arm64_ios.go.src — the -overlay replacement. It asserts only AES/PMULL/SHA1/SHA2; Go's fix additionally reads LSE/CRC32/SHA-512/SHA3/DIT through sysctl, which matter far less for tunnel traffic.
  • cmd/build_libbox/apple_cpu_overlay.go — writes the overlay against the toolchain the bind module actually builds with, refuses a GOROOT under GOMODCACHE, injects -overlay through a go shim first on PATH (because sagernet/gomobile overwrites GOFLAGS), and runs nm on every arm64 iOS-family slice for a marker symbol so a silently ignored overlay fails the build. It also refuses to apply itself once the replaced file no longer selects ios, so it retires by itself on Go 1.27.
  • Wiring in cmd/build_libbox/main.go (withAppleCPUOverlay); make lib_apple builds the xcframework with it.

Feel free to close; the upstream fix is the right long-term answer.

查看完整动态

clashbyhako:Hako v1.19.30 正式开源

频道原文 · 预览

📣 Hako v1.19.30 正式开源|把内核交给社区
今天,我们正式向开源社区开放 Hako v1.19.30 的源码与 SDK。
Hako 是驱动 Clash 的 Apple 平台代理内核。本次开源版本基于 mihomo 稳定上游 v1.19.30,并针对 Apple NetworkExtension 的内存、能效与系统边界进行了适配与调优,支持 iPhone、iPad、Mac 与 Apple TV。
为什么选择开源?
代理内核会处理连接、DNS 与分流规则。这样的基础设施不应该成为黑盒。代码公开后,每个人都可以审阅实现、验证构建、提出问题,也可以参与改进。
关于许可证
Hako 采用 GPL-3.0 协议开源。你可以查看、使用、修改和再分发代码;分发衍生版本时,也请依照 GPL-3.0 继续保留相同的开源自由。
社区参与
无论是一次 Star、一次测试反馈、一份 Issue,还是一个 Pull Request,都是对项目实实在在的帮助。我们也欢迎开发者 Fork Hako,把它用于自己的 Apple 平台网络工具,并将有价值的改进回馈社区。
Hako 建立在 MetaCubeX/mihomo、Dreamacro/clash、SagerNet/sing-box、WireGuard 等开源项目的工作之上。感谢所有上游维护者与贡献者,让我们得以继续站在社区的肩膀上前进。
🔗 GitHub
https://github.com/TokenPLS/Hako
📖 项目介绍与实测数据
https://clash.md/zh/hako
开源不是终点。代码公开之后,才是真正和社区一起开始。
#Hako #OpenSource #GPLv3 #mihomo #Clash

查看完整动态