Skip to content

fix: restore external TLS certificate validation - #126

Merged
SingLinkNetwork merged 7 commits into
mainfrom
fix/external-tls-validation
Aug 10, 2026
Merged

fix: restore external TLS certificate validation#126
SingLinkNetwork merged 7 commits into
mainfrom
fix/external-tls-validation

Conversation

@SingLinkNetwork

Copy link
Copy Markdown
Owner

修復內容

移除全域 badCertificateCallback,讓訂閱、更新、WebDAV 與其他外部 HTTPS 請求恢復 Dart 預設的憑證與主機名稱驗證。

本機 HTTP proxy 的路由選擇與 Android 本機代理帳密邏輯維持不變。

Fixes #122

根因

現行 FlClashHttpOverrides 對所有 HttpClient 設定 badCertificateCallback = (_, _, _) => true,會接受任何外部無效 TLS 憑證。

驗證

  • 新增回歸測試,先確認現行漏洞會失敗,再確認修復後通過。
  • 已通過針對 HTTP、request 與 Android local proxy 的測試。
  • 已通過 Dart format、目標靜態分析與完整 Flutter 測試。
  • 待本 PR 的 Android、Windows、macOS、Linux CI 全部完成。

@SingLinkNetwork
SingLinkNetwork force-pushed the fix/external-tls-validation branch from 2ce42cb to 771b418 Compare August 10, 2026 12:13
@SingLinkNetwork
SingLinkNetwork marked this pull request as ready for review August 10, 2026 12:46
@SingLinkNetwork
SingLinkNetwork merged commit f37e202 into main Aug 10, 2026
63 checks passed
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.

[SECURITY] 外部 HTTPS 連線不應無條件略過憑證驗證

1 participant