Surge Channel
4.68K subscribers
31 photos
1 video
6 files
864 links
Surge唯一官方频道:https://t.me/SurgeTestFlightFeed

以下为第三方创建:
群连接 https://t.me/+TO9iLpyTE1FjZTM1
群频道 https://t.me/+nZUgB3lPosQ2Y2Y1
Download Telegram
Forwarded from Surge's Changelog
#iOS #TestFlight

Surge 5 5.21.0 (2950) is ready to test on iOS.

What to Test:

关于规则数过多的问题
由于 Surge 的规则系统严格按照自上而下的方式匹配,且提供了多种类的规则类型,这使得 Surge 没有办法以提前建立索引的方式加速规则匹配。(RULE-SET 和主配置内的规则性能没有区别)
一般情况下,绝大多数用户的需求都可以在 1000 条规则内满足(或者更少),此时每次进行规则匹配的开销应该在 1ms 以内,完全不必在意。
但是部分巨量的规则集(主要是去广告的规则),可能内含上万条规则。这将产生严重的性能影响,我们测试在 iPhone 15 Pro 上,七万条规则的 RULE-SET 匹配耗时约 100ms,造成严重的性能下降。
所以如果需要使用巨量的规则,请使用 DOMAIN-SET 类型规则集,该类型专为巨量规则所设计,不仅内存占用极小,匹配速度也极快,七万条规则也只需要个位数 ms 即可完成匹配。

由于规则的维护者和部分用户并不了解 RULE-SET 和 DOMAIN-SET 的区别,因此 Surge 在该版本中加入了一项新功能,如果发现某 RULE-SET 中仅包含 DOMAIN 和 DOMAIN-SUFFIX 规则,那么 Surge 将在内部自动转换该 RULE-SET 为 DOMAIN-SET 实现,以此大幅优化性能。
但请注意,只要 RULE-SET 中含有一条其他类型的规则,那就无法进行自动转换。所以依然建议主动使用 DOMAIN-SET。
Forwarded from Surge's Changelog
#Mac #Beta

Version 5.4.1-2481

- Now, when performing MITM, the certificate used for signing will be sent to the client together, to support using intermediate certificates for MITM.
- All comments (at the beginning and end of lines) can now use #, //, ; three common comment symbols.
- Profile error message prompt optimization, now it can give the exact line number where the error occurred more accurately.
- Bug fixes.
Forwarded from Surge's Changelog
#iOS #TestFlight

Surge 5 5.21.0 (2952) is ready to test on iOS.

What to Test:

RULE-SET 与 DOMAIN-SET 的实现完全重写,现在 Surge 会在资源更新时自动对规则集进行预处理,建立索引数据结构,大幅提高匹配速度。

1. RULE-SET 和 DOMAIN-SET 两种类型规则集不再有性能和内存占用区别,可以随意使用。
2. DOMAIN-SET 规则集不再存在不可以使用 eTLD 的限制。
3. RULE-SET 中的 DOMAIN, DOMAIN-SUFFIX, IP-CIDR, IP-CIDR6 规则匹配速度得到大幅提升。
· 十万条左右的 DOMAIN/DOMAIN-SUFFIX 规则集,在旧版中单次匹配需要 100ms,现在只需要个位数 ms。
· 一万条左右的 IP-CIDR 规则集,在旧版中单次匹配需要约 0.1ms。新版只需要0.0002ms,提升了约 500 倍。IP-CIDR6 规则的性能提升幅度更高。
4. 在新版本中,自行通过 IP-CIDR 规则集构建出地区的 IP 地址集合,与直接使用内部的 GEOIP 规则的性能已经完全一致。
5. RULE-SET 的索引优化不再受上个版本的规则类型限制,可以随意混用任意规则。(但只有上面 4 种规则类型会得到性能优化)
6. 先前版本加入的 Inline Ruleset 无法享受该优化,但是在百条数量级下几乎无差异。
7. 先前版本中,Ruleset 中的规则也是按照从上至下的方式逐条匹配,如果规则集中同时包含了需要 DNS 解析的规则,也只有当开始匹配该子规则时才会触发 DNS。新版本中,只要规则集中包含任意一条需要 DNS 解析的规则,在测试该规则集前就会先进行 DNS 解析。(绝大多数情况下没有任何区别)


另外,我们最近做的许多新功能都未加入 iOS 的功能订阅中,因为我们不想为此增加额外的选项和开关导致使用不便。可以将 Surge 的功能订阅看作是一种赞助,希望订阅用户理解。
Forwarded from Surge's Changelog
#Mac #Beta

Version 5.4.1-2484

- Now, when performing MITM, the certificate used for signing will be sent to the client together, to support using intermediate certificates for MITM.
- All comments (at the beginning and end of lines) can now use #, //, ; three common comment symbols.
- Profile error message prompt optimization, now it can give the exact line number where the error occurred more accurately.
- Bug fixes.
Forwarded from Surge's Changelog
#iOS #TestFlight

Surge 5 5.21.0 (2955) is ready to test on iOS.

What to Test:

- 修正了 DOMAIN-SET 规则集无法被加载的问题
- 修正了 RULE-SET 中规则的 extended-matching 标记无法生效的问题,但是在新版本中,RULE-SET 中任意子规则的 extended-matching 标记将对整个规则集都生效
- DOMAIN-SET 规则集也支持配置 extended-matching 了
Forwarded from Surge's Changelog
#Mac #Beta

Version 5.4.1-2485

- Now, when performing MITM, the certificate used for signing will be sent to the client together, to support using intermediate certificates for MITM.
- All comments (at the beginning and end of lines) can now use #, //, ; three common comment symbols.
- Profile error message prompt optimization, now it can give the exact line number where the error occurred more accurately.
- Bug fixes.
Forwarded from Surge's Changelog
#iOS #TestFlight

Surge 5 5.21.0 (2956) is ready to test on iOS.

What to Test:

修正当使用的 RULE-SET 不存在或不包含任何有效规则时产生的崩溃。
Forwarded from Surge's Changelog
#Mac #Beta

Version 5.4.1-2486

- Now, when performing MITM, the certificate used for signing will be sent to the client together, to support using intermediate certificates for MITM.
- All comments (at the beginning and end of lines) can now use #, //, ; three common comment symbols.
- Profile error message prompt optimization, now it can give the exact line number where the error occurred more accurately.
- Bug fixes.
Forwarded from Surge's Changelog
#iOS #TestFlight

Surge 5 5.21.0 (2957) is ready to test on iOS.

What to Test:

- 修正 DOMAIN-SET 在某些情况下依然无法被载入的问题
- 修正规则集中的 IP-CIDR6 规则未能正确被建立索引的问题
Forwarded from Surge's Changelog
#Mac #Beta

Version 5.4.1-2488

- Now, when performing MITM, the certificate used for signing will be sent to the client together, to support using intermediate certificates for MITM.
- All comments (at the beginning and end of lines) can now use #, //, ; three common comment symbols.
- Profile error message prompt optimization, now it can give the exact line number where the error occurred more accurately.
- Bug fixes.
Forwarded from Surge's Changelog
#iOS #TestFlight

Surge 5 5.21.0 (2958) is ready to test on iOS.

What to Test:

- 修正特定的规则集建立索引时有概率出现的崩溃
Forwarded from Surge's Changelog
#Mac #Beta

Version 5.4.1-2489

- Now, when performing MITM, the certificate used for signing will be sent to the client together, to support using intermediate certificates for MITM.
- All comments (at the beginning and end of lines) can now use #, //, ; three common comment symbols.
- Profile error message prompt optimization, now it can give the exact line number where the error occurred more accurately.
- Bug fixes.
Forwarded from Surge's Changelog
#iOS #TestFlight

Surge 5 5.21.0 (2959) is ready to test on iOS.

What to Test:

- 主规则匹配效率小幅优化
- IP-CIDR6 规则在非索引情况下的效率也得到大幅提升
- RULE-SET 规则可直接配置参数 no-resolve 和 extended-matching,均等价与为所有子规则配置了该参数
Forwarded from Surge's Changelog
#Mac #Beta

Version 5.4.1-2490

#### Rule Engine Optimizations

- The implementation of RULE-SET and DOMAIN-SET has been completely rewritten. Now, Surge automatically preprocesses and indexes rule sets during resource updates, significantly increasing the matching speed.

1. There is no longer any difference in performance and memory usage between RULE-SET and DOMAIN-SET types of rule sets, allowing flexible usage.
2. There is no longer a restriction in DOMAIN-SET rule sets that prevents the use of eTLDs.
3. The matching speed for DOMAIN, DOMAIN-SUFFIX, IP-CIDR, and IP-CIDR6 rules in RULE-SET has been greatly improved.
- A DOMAIN/DOMAIN-SUFFIX rule set with approximately 100,000 entries used to take 100ms for a single match in the old version; now, it only takes single-digit ms.
- An IP-CIDR rule set with approximately 10,000 entries used to take about 0.1ms for a single match in the old version. The new version only needs 0.0002ms, an improvement of about 500 times. The performance improvement for IP-CIDR6 rules is even greater.
4. In the new version, building a regional IP address collection using the IP-CIDR rule set offers the same performance as directly using the internal GEOIP rule.
5. The Inline Ruleset added in the previous version does not benefit from this optimization, but there is virtually no difference at the scale of hundreds of entries.
6. In previous versions, rules within a Ruleset were matched one by one from top to bottom. If rules requiring DNS resolution were included, DNS would only be triggered when starting to match that sub-rule. In the new version, if any rule requiring DNS resolution is included in the rule set, DNS resolution will occur before testing that rule set. (In most cases, there is no difference)

- Main ruleset matching efficiency has been slightly optimized.
- The efficiency of IP-CIDR6 rules has been significantly improved even in non-indexed situations.
- RULE-SET rules can now be configured directly with parameters no-resolve and extended-matching, which are equivalent to configuring all sub-rules with these parameters.
- DOMAIN-SET rule sets also support configuration with extended-matching.

#### Minor Optimizations

- Now, when performing MITM, the certificate used for signing will be sent to the client together, to support using intermediate certificates for MITM.
- All comments (at the beginning and end of lines) can now use #, //, ; three common comment symbols.
- Profile error message prompt optimization, now it can give the exact line number where the error occurred more accurately.
- Bug fixes.
Forwarded from Surge's Changelog
#Mac #Beta

Version 5.4.1-2491

#### Rule Engine Optimizations

- The implementation of RULE-SET and DOMAIN-SET has been completely rewritten. Now, Surge automatically preprocesses and indexes rule sets during resource updates, significantly increasing the matching speed.

1. There is no longer any difference in performance and memory usage between RULE-SET and DOMAIN-SET types of rule sets, allowing flexible usage.
2. There is no longer a restriction in DOMAIN-SET rule sets that prevents the use of eTLDs.
3. The matching speed for DOMAIN, DOMAIN-SUFFIX, IP-CIDR, and IP-CIDR6 rules in RULE-SET has been greatly improved.
- A DOMAIN/DOMAIN-SUFFIX rule set with approximately 100,000 entries used to take 100ms for a single match in the old version; now, it only takes single-digit ms.
- An IP-CIDR rule set with approximately 10,000 entries used to take about 0.1ms for a single match in the old version. The new version only needs 0.0002ms, an improvement of about 500 times. The performance improvement for IP-CIDR6 rules is even greater.
4. In the new version, building a regional IP address collection using the IP-CIDR rule set offers the same performance as directly using the internal GEOIP rule.
5. The Inline Ruleset added in the previous version does not benefit from this optimization, but there is virtually no difference at the scale of hundreds of entries.
6. In previous versions, rules within a Ruleset were matched one by one from top to bottom. If rules requiring DNS resolution were included, DNS would only be triggered when starting to match that sub-rule. In the new version, if any rule requiring DNS resolution is included in the rule set, DNS resolution will occur before testing that rule set. (In most cases, there is no difference)

- Main ruleset matching efficiency has been slightly optimized.
- The efficiency of IP-CIDR6 rules has been significantly improved even in non-indexed situations.
- RULE-SET rules can now be configured directly with parameters no-resolve and extended-matching, which are equivalent to configuring all sub-rules with these parameters.
- DOMAIN-SET rule sets also support configuration with extended-matching.

#### Minor Optimizations

- Now, when performing MITM, the certificate used for signing will be sent to the client together, to support using intermediate certificates for MITM.
- All comments (at the beginning and end of lines) can now use #, //, ; three common comment symbols.
- Profile error message prompt optimization, now it can give the exact line number where the error occurred more accurately.
- Bug fixes.
Forwarded from Surge's Changelog
#iOS #TestFlight

Surge 5 5.21.0 (2960) is ready to test on iOS.

What to Test:

- 修正通过 QUIC 类协议作为代理链使用 WireGuard 可能崩溃的问题
Forwarded from Surge's Changelog
#iOS #TestFlight

Surge 5 5.21.0 (2961) is ready to test on iOS.

What to Test:

5.8.1 RC1

- 发现有用户遇到 VIF Virtual IP 分配数量极高的问题,怀疑有 App 通过 DNS 查询偷传数据,该版本中加入了 DNS 查询频率检测,若 10 秒内出现了 1000 个新域名的 DNS 查询将在日志中打印警告。有遇到可以反馈,如果有必要将加入进一步的阻止措施。
Forwarded from Surge's Changelog
#Mac #Beta

Version 5.4.1-2492

#### Rule Engine Optimizations

- The implementation of RULE-SET and DOMAIN-SET has been completely rewritten. Now, Surge automatically preprocesses and indexes rule sets during resource updates, significantly increasing the matching speed.

1. There is no longer any difference in performance and memory usage between RULE-SET and DOMAIN-SET types of rule sets, allowing flexible usage.
2. There is no longer a restriction in DOMAIN-SET rule sets that prevents the use of eTLDs.
3. The matching speed for DOMAIN, DOMAIN-SUFFIX, IP-CIDR, and IP-CIDR6 rules in RULE-SET has been greatly improved.
- A DOMAIN/DOMAIN-SUFFIX rule set with approximately 100,000 entries used to take 100ms for a single match in the old version; now, it only takes single-digit ms.
- An IP-CIDR rule set with approximately 10,000 entries used to take about 0.1ms for a single match in the old version. The new version only needs 0.0002ms, an improvement of about 500 times. The performance improvement for IP-CIDR6 rules is even greater.
4. In the new version, building a regional IP address collection using the IP-CIDR rule set offers the same performance as directly using the internal GEOIP rule.
5. The Inline Ruleset added in the previous version does not benefit from this optimization, but there is virtually no difference at the scale of hundreds of entries.
6. In previous versions, rules within a Ruleset were matched one by one from top to bottom. If rules requiring DNS resolution were included, DNS would only be triggered when starting to match that sub-rule. In the new version, if any rule requiring DNS resolution is included in the rule set, DNS resolution will occur before testing that rule set. (In most cases, there is no difference)

- Main ruleset matching efficiency has been slightly optimized.
- The efficiency of IP-CIDR6 rules has been significantly improved even in non-indexed situations.
- RULE-SET rules can now be configured directly with parameters no-resolve and extended-matching, which are equivalent to configuring all sub-rules with these parameters.
- DOMAIN-SET rule sets also support configuration with extended-matching.

#### Minor Optimizations

- Now, when performing MITM, the certificate used for signing will be sent to the client together, to support using intermediate certificates for MITM.
- All comments (at the beginning and end of lines) can now use #, //, ; three common comment symbols.
- Profile error message prompt optimization, now it can give the exact line number where the error occurred more accurately.
- Bug fixes.
Forwarded from Surge's Changelog
#Mac #Beta

Version 5.4.1-2493

#### Rule Engine Optimizations

- The implementation of RULE-SET and DOMAIN-SET has been completely rewritten. Now, Surge automatically preprocesses and indexes rule sets during resource updates, significantly increasing the matching speed.

1. There is no longer any difference in performance and memory usage between RULE-SET and DOMAIN-SET types of rule sets, allowing flexible usage.
2. There is no longer a restriction in DOMAIN-SET rule sets that prevents the use of eTLDs.
3. The matching speed for DOMAIN, DOMAIN-SUFFIX, IP-CIDR, and IP-CIDR6 rules in RULE-SET has been greatly improved.
- A DOMAIN/DOMAIN-SUFFIX rule set with approximately 100,000 entries used to take 100ms for a single match in the old version; now, it only takes single-digit ms.
- An IP-CIDR rule set with approximately 10,000 entries used to take about 0.1ms for a single match in the old version. The new version only needs 0.0002ms, an improvement of about 500 times. The performance improvement for IP-CIDR6 rules is even greater.
4. In the new version, building a regional IP address collection using the IP-CIDR rule set offers the same performance as directly using the internal GEOIP rule.
5. The Inline Ruleset added in the previous version does not benefit from this optimization, but there is virtually no difference at the scale of hundreds of entries.
6. In previous versions, rules within a Ruleset were matched one by one from top to bottom. If rules requiring DNS resolution were included, DNS would only be triggered when starting to match that sub-rule. In the new version, if any rule requiring DNS resolution is included in the rule set, DNS resolution will occur before testing that rule set. (In most cases, there is no difference)

- Main ruleset matching efficiency has been slightly optimized.
- The efficiency of IP-CIDR6 rules has been significantly improved even in non-indexed situations.
- RULE-SET rules can now be configured directly with parameters no-resolve and extended-matching, which are equivalent to configuring all sub-rules with these parameters.
- DOMAIN-SET rule sets also support configuration with extended-matching.

#### Minor Optimizations

- Now, when performing MITM, the certificate used for signing will be sent to the client together, to support using intermediate certificates for MITM.
- All comments (at the beginning and end of lines) can now use #, //, ; three common comment symbols.
- Profile error message prompt optimization, now it can give the exact line number where the error occurred more accurately.
- Bug fixes.
Forwarded from Surge's Changelog
#iOS #TestFlight

Surge 5 5.21.0 (2962) is ready to test on iOS.

What to Test:

- 完成了上个版本提到的 DNS 请求频率自动检测与屏蔽功能,并将警告级别提高到通知

5.8.1 RC2