Skip to content

Commit dd75933

Browse files
committed
trying fix rule problem
1 parent 09f1ef5 commit dd75933

1 file changed

Lines changed: 70 additions & 70 deletions

File tree

app/src/main/java/io/nekohasekai/sagernet/fmt/ConfigBuilder.kt

Lines changed: 70 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -735,76 +735,76 @@ fun buildConfig(
735735
}
736736

737737
when (rule.outbound) {
738-
-1L -> {
739-
userDNSRuleList += makeDnsRuleObj().apply { server = "dns-direct" }
740-
741-
if (rule_set != null && rulesetTags.isNotEmpty()) {
742-
for (tag in rule_set) {
743-
// 只处理ruleset标签,且必须是非IP类型
744-
val tagInfo = rulesetTags.find { it.first == tag }
745-
if (tag.startsWith("ruleset-") && tagInfo != null && !tagInfo.second) {
746-
userDNSRuleList += DNSRule_DefaultOptions().apply {
747-
rule_set = mutableListOf(tag)
748-
server = "dns-direct"
749-
}
750-
}
751-
}
752-
}
753-
}
754-
755-
0L -> {
756-
if (useFakeDns) userDNSRuleList += makeDnsRuleObj().apply {
757-
server = "dns-fake"
758-
inbound = listOf("tun-in")
759-
query_type = listOf("A", "AAAA")
760-
} else {
761-
userDNSRuleList += makeDnsRuleObj().apply {
762-
server = "dns-remote"
763-
}
764-
}
765-
766-
if (rule_set != null && rulesetTags.isNotEmpty()) {
767-
for (tag in rule_set) {
768-
val tagInfo = rulesetTags.find { it.first == tag }
769-
if (tag.startsWith("ruleset-") && tagInfo != null && !tagInfo.second) {
770-
if (useFakeDns) {
771-
userDNSRuleList += DNSRule_DefaultOptions().apply {
772-
rule_set = mutableListOf(tag)
773-
server = "dns-fake"
774-
inbound = listOf("tun-in")
775-
query_type = listOf("A", "AAAA")
776-
}
777-
} else {
778-
userDNSRuleList += DNSRule_DefaultOptions().apply {
779-
rule_set = mutableListOf(tag)
780-
server = "dns-remote"
781-
}
782-
}
783-
}
784-
}
785-
}
786-
}
787-
788-
-2L -> {
789-
userDNSRuleList += makeDnsRuleObj().apply {
790-
server = "dns-block"
791-
disable_cache = true
792-
}
793-
794-
if (rule_set != null && rulesetTags.isNotEmpty()) {
795-
for (tag in rule_set) {
796-
val tagInfo = rulesetTags.find { it.first == tag }
797-
if (tag.startsWith("ruleset-") && tagInfo != null && !tagInfo.second) {
798-
userDNSRuleList += DNSRule_DefaultOptions().apply {
799-
rule_set = mutableListOf(tag)
800-
server = "dns-block"
801-
disable_cache = true
802-
}
803-
}
804-
}
805-
}
806-
}
807-
}
738+
-1L -> {
739+
userDNSRuleList += makeDnsRuleObj().apply { server = "dns-direct" }
740+
741+
if (rule_set != null && rulesetTags.isNotEmpty()) {
742+
for (tag in rule_set) {
743+
// 只处理ruleset标签,且必须是非IP类型
744+
val tagInfo = rulesetTags.find { it.first == tag }
745+
if (tag.startsWith("ruleset-") && tagInfo != null && !tagInfo.second) {
746+
userDNSRuleList += DNSRule_DefaultOptions().apply {
747+
rule_set = mutableListOf(tag)
748+
server = "dns-direct"
749+
}
750+
}
751+
}
752+
}
753+
}
754+
755+
-2L -> {
756+
userDNSRuleList += makeDnsRuleObj().apply {
757+
server = "dns-block"
758+
disable_cache = true
759+
}
760+
761+
if (rule_set != null && rulesetTags.isNotEmpty()) {
762+
for (tag in rule_set) {
763+
val tagInfo = rulesetTags.find { it.first == tag }
764+
if (tag.startsWith("ruleset-") && tagInfo != null && !tagInfo.second) {
765+
userDNSRuleList += DNSRule_DefaultOptions().apply {
766+
rule_set = mutableListOf(tag)
767+
server = "dns-block"
768+
disable_cache = true
769+
}
770+
}
771+
}
772+
}
773+
}
774+
775+
else -> {
776+
if (useFakeDns) userDNSRuleList += makeDnsRuleObj().apply {
777+
server = "dns-fake"
778+
inbound = listOf("tun-in")
779+
query_type = listOf("A", "AAAA")
780+
} else {
781+
userDNSRuleList += makeDnsRuleObj().apply {
782+
server = "dns-remote"
783+
}
784+
}
785+
786+
if (rule_set != null && rulesetTags.isNotEmpty()) {
787+
for (tag in rule_set) {
788+
val tagInfo = rulesetTags.find { it.first == tag }
789+
if (tag.startsWith("ruleset-") && tagInfo != null && !tagInfo.second) {
790+
if (useFakeDns) {
791+
userDNSRuleList += DNSRule_DefaultOptions().apply {
792+
rule_set = mutableListOf(tag)
793+
server = "dns-fake"
794+
inbound = listOf("tun-in")
795+
query_type = listOf("A", "AAAA")
796+
}
797+
} else {
798+
userDNSRuleList += DNSRule_DefaultOptions().apply {
799+
rule_set = mutableListOf(tag)
800+
server = "dns-remote"
801+
}
802+
}
803+
}
804+
}
805+
}
806+
}
807+
}
808808

809809
outbound = when (val outId = rule.outbound) {
810810
0L -> mainProxyTag

0 commit comments

Comments
 (0)