fix: 1.修复域名切换失败; 2.动态域名添加核心白名单,3.修复windows字体

This commit is contained in:
2026-01-09 17:50:21 -08:00
parent 12eb8348d3
commit 9b5e370f0b
4 changed files with 150 additions and 109 deletions
@@ -689,6 +689,23 @@ class KRSingBoxImp {
List<Map<String, dynamic>> _kr_buildHiddifyRules() {
final rules = <Map<String, dynamic>>[];
rules.add({"domains": "domain:api.hifast.biz", "outbound": "bypass"});
// 使用 domain:crisp.chat (这通常会匹配所有子域名)
rules.add({"domains": "domain:crisp.chat", "outbound": "bypass"});
// 某些 sing-box 版本可能需要显式包含 relay 域名
rules.add({"domains": "domain:client.relay.crisp.chat", "outbound": "bypass"});
// 🔧 新增:将动态域名列表加入到规则中 (直连)
// 使用 Set 去重,避免重复添加
final baseDomains = KRDomain.kr_baseDomains.toSet();
KRLogUtil.kr_i('🔄 将 ${baseDomains.length} 个动态域名加入直连规则: $baseDomains', tag: 'SingBox');
for (final domain in baseDomains) {
if (domain.isNotEmpty) {
// 检查是否已经存在(虽然Set去重了,但上面的硬编码可能重复)
// 简单起见直接添加,sing-box 通常能处理重复规则,或者规则越前优先级越高
rules.add({"domains": "domain:$domain", "outbound": "bypass"});
}
}
final nodeDomains = _kr_collectNodeDomains();
for (final d in nodeDomains) {