Skip to content

Commit 570b40e

Browse files
author
messica
committed
feat: 🎸 Supplement some structure fields
1 parent b729703 commit 570b40e

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

src/singbox/dns.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ pub struct Rule {
7878
method: Option<String>,
7979
no_drop: Option<bool>,
8080
mode: Option<LogicalMode>,
81+
strategy: Option<Strategy>,
8182
rules: Option<Vec<Rule>>,
8283
}
8384

src/singbox/route/mod.rs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,12 @@ pub mod rule_set;
44
use serde::{Deserialize, Serialize};
55
use serde_with::skip_serializing_none;
66

7+
use super::common::base::Strategy;
8+
79
#[skip_serializing_none]
810
#[derive(Serialize, Deserialize, Debug)]
911
pub struct Route {
12+
default_domain_resolver: StringOrDomainResolver,
1013
rules: Vec<rule::Rule>,
1114
rule_set: Vec<rule_set::RuleSet>,
1215
r#final: String,
@@ -15,3 +18,20 @@ pub struct Route {
1518
default_interface: Option<String>,
1619
default_mark: Option<usize>,
1720
}
21+
22+
#[derive(Serialize, Deserialize, Debug)]
23+
#[serde(untagged)]
24+
pub enum StringOrDomainResolver {
25+
Str(String),
26+
DomainResolver(DomainResolver),
27+
}
28+
29+
#[skip_serializing_none]
30+
#[derive(Serialize, Deserialize, Debug)]
31+
pub struct DomainResolver {
32+
server: String,
33+
strategy: Option<Strategy>,
34+
disable_cache: Option<bool>,
35+
rewrite_ttl: Option<i32>,
36+
client_subnet: Option<String>,
37+
}

0 commit comments

Comments
 (0)