Update On Wed Mar 6 19:27:57 CET 2024

This commit is contained in:
github-action[bot]
2024-03-06 19:27:57 +01:00
parent 56689c569e
commit 880b4887e7
77 changed files with 1633 additions and 1671 deletions

View File

@@ -535,7 +535,7 @@ fun buildConfig(
makeSingBoxRule(rule.ip.listByLineOrComma(), true)
}
if (rule_set != null) generateRuleSet(ruleSets)
if (rule_set != null) generateRuleSet(rule_set, ruleSets)
if (rule.port.isNotBlank()) {
port = mutableListOf<Int>()

View File

@@ -229,7 +229,6 @@ public abstract class StandardV2RayBean extends AbstractBean {
input.setPosition(position); // 读后归位
if (tmpPacketEncoding != 1 && tmpPacketEncoding != 2) {
input.getByteBuffer().position(position);
enableECH = tmpEnableECH;
if (enableECH) {
enablePqSignature = input.readBoolean();

View File

@@ -4418,8 +4418,7 @@ public class SingBoxOptions {
// Generate note: Listable
public List<String> domain_regex;
// Generate note: Listable
public List<String> geosite;
public List<String> rule_set;
// Generate note: Listable
public List<String> source_ip_cidr;

View File

@@ -30,14 +30,14 @@ object SingBoxOptionsUtil {
}
fun SingBoxOptions.DNSRule_DefaultOptions.makeSingBoxRule(list: List<String>) {
geosite = mutableListOf<String>()
rule_set = mutableListOf<String>()
domain = mutableListOf<String>()
domain_suffix = mutableListOf<String>()
domain_regex = mutableListOf<String>()
domain_keyword = mutableListOf<String>()
list.forEach {
if (it.startsWith("geosite:")) {
geosite.plusAssign(it.removePrefix("geosite:"))
rule_set.plusAssign(it)
} else if (it.startsWith("full:")) {
domain.plusAssign(it.removePrefix("full:").lowercase())
} else if (it.startsWith("domain:")) {
@@ -51,12 +51,12 @@ fun SingBoxOptions.DNSRule_DefaultOptions.makeSingBoxRule(list: List<String>) {
domain.plusAssign(it.lowercase())
}
}
geosite?.removeIf { it.isNullOrBlank() }
rule_set?.removeIf { it.isNullOrBlank() }
domain?.removeIf { it.isNullOrBlank() }
domain_suffix?.removeIf { it.isNullOrBlank() }
domain_regex?.removeIf { it.isNullOrBlank() }
domain_keyword?.removeIf { it.isNullOrBlank() }
if (geosite?.isEmpty() == true) geosite = null
if (rule_set?.isEmpty() == true) rule_set = null
if (domain?.isEmpty() == true) domain = null
if (domain_suffix?.isEmpty() == true) domain_suffix = null
if (domain_regex?.isEmpty() == true) domain_regex = null
@@ -64,7 +64,7 @@ fun SingBoxOptions.DNSRule_DefaultOptions.makeSingBoxRule(list: List<String>) {
}
fun SingBoxOptions.DNSRule_DefaultOptions.checkEmpty(): Boolean {
if (geosite?.isNotEmpty() == true) return false
if (rule_set?.isNotEmpty() == true) return false
if (domain?.isNotEmpty() == true) return false
if (domain_suffix?.isNotEmpty() == true) return false
if (domain_regex?.isNotEmpty() == true) return false
@@ -73,8 +73,8 @@ fun SingBoxOptions.DNSRule_DefaultOptions.checkEmpty(): Boolean {
return true
}
fun SingBoxOptions.Rule_DefaultOptions.generateRuleSet(ruleSet: MutableList<RuleSet>) {
rule_set?.forEach {
fun generateRuleSet(ruleSetString: List<String>, ruleSet: MutableList<RuleSet>) {
ruleSetString.forEach {
when {
it.startsWith("geoip") -> {
val geoipPath = GeoipUtils.generateRuleSet(country = it.removePrefix("geoip:"))
@@ -114,7 +114,7 @@ fun SingBoxOptions.Rule_DefaultOptions.makeSingBoxRule(list: List<String>, isIP:
if (isIP) {
if (it.startsWith("geoip:")) {
rule_set.plusAssign(it)
rule_set_ipcidr_match_source = true
rule_set_ipcidr_match_source = false
} else {
ip_cidr.plusAssign(it)
}