Skip to content

feat: add opt-in no-root compatibility for car browsers - #13

Merged
fython merged 3 commits into
mainfrom
feat/tesla-no-root-vpn
Oct 15, 2026
Merged

fython merged 3 commits into
mainfrom
feat/tesla-no-root-vpn

Conversation

@fython

@fython fython commented Oct 14, 2026 •

Copy link
Copy Markdown
Owner

部分车机浏览器会屏蔽私有网段,导致连接手机热点后无法访问 WheelPlay 的本地服务。本 PR 新增默认关闭的「免 Root VPN(实验)」方案,默认入口为 http://6.6.6.6:8080,并说明该功能也适用于有同类限制的其他品牌车机。

  • 由同一个 VpnService 保留 IPv4 地址 TUN 的原始 FD 与 dup 副本,再建立兼容 TUN;有线 CarPlay 的 IPv6/NCM TUN 最后建立,断开后恢复兼容 TUN。
  • Web 服务独立持有 VPN 绑定;有线 CarPlay 连接期间启用或修改 IP 会等待断开后生效。关闭、停止、授权撤销或创建失败时清理 FD 并撤下入口;后台轮询不会反复调用 prepare() 争用 VPN 授权。
  • 保留 Root 热点路由及其设置,切换方案时关闭当前模式。免 Root 方案直接使用 Web 监听端口,不映射低位端口,并同步更新 HTTPS 地址、入口说明和诊断信息。

验证:实现阶段完整回归通过(common 259 项、shared 239 项),最终授权修正的 47 项专项回归通过。集成最新 main 后,67 项 VPN/设置/音频专项回归与 shared 全部 244 项测试通过,Debug APK 重新构建成功,git diff --check 通过。

长期保留旧 TUN 依赖 Android 未保证的实现行为。自动测试使用模拟 TUN;Android 热点投递与回程、目标车机浏览器及 WebRTC ICE/UDP 仍需实机验证。

@fython
fython merged commit 35c4e3b into main Oct 15, 2026
2 checks passed
@fython
fython deleted the feat/tesla-no-root-vpn branch October 15, 2026 02:59
yuhuan417 added a commit to yuhuan417/wheelplay that referenced this pull request Oct 16, 2026
…ackport

Brings in the opt-in no-root Tesla VPN (bb0d788) and its doc wording
(1f68a7c) on top of the pre-rebase branch state.

Deliberately excludes 075ed7d. Merging 39485f9 later then adds only that
commit, so the Tesla VPN and the wireless/USB reliability backport stay
separately testable.

Co-Authored-By: Claude Code <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants