Skip to content

Commit 4835264

Browse files
committed
Add edge node control and harden service state handling
1 parent 0052aae commit 4835264

8 files changed

Lines changed: 526 additions & 168 deletions

File tree

assets/defaults/linuxdo-accelerator.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,10 @@ doh_endpoints = [
1010
]
1111
managed_prefer_ipv6 = false
1212
dns_hosts = {}
13+
edge_node = ""
1314
# example:
1415
# dns_hosts = { "example.com" = "1.1.1.1", "*.example.com" = "domain:real.example.net" }
16+
# edge_node = "2606:4700:10::6814:10ea"
1517

1618
proxy_domains = [
1719
"linux.do",

src/config.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,8 @@ pub struct AppConfig {
2727
pub managed_prefer_ipv6: bool,
2828
#[serde(default)]
2929
pub dns_hosts: BTreeMap<String, String>,
30+
#[serde(default)]
31+
pub edge_node: Option<String>,
3032
#[serde(default = "default_proxy_domains")]
3133
pub proxy_domains: Vec<String>,
3234
#[serde(default)]
@@ -165,6 +167,7 @@ impl AppConfig {
165167
.unwrap_or_else(default_doh_endpoints),
166168
managed_prefer_ipv6: default_managed_prefer_ipv6(),
167169
dns_hosts: BTreeMap::new(),
170+
edge_node: None,
168171
proxy_domains: legacy_network
169172
.as_ref()
170173
.map(|value| value.proxy_domains.clone())
@@ -239,6 +242,13 @@ impl AppConfig {
239242
&self.hosts_domains
240243
}
241244
}
245+
246+
pub fn edge_node_override(&self) -> Option<&str> {
247+
self.edge_node
248+
.as_deref()
249+
.map(str::trim)
250+
.filter(|value| !value.is_empty())
251+
}
242252
}
243253

244254
fn load_legacy_network_profile(path: &Path) -> Result<Option<LegacyNetworkProfile>> {

0 commit comments

Comments
 (0)