Skip to content

Commit bad9f80

Browse files
committed
Move default loopback address off 127.0.0.1
1 parent 4076efe commit bad9f80

6 files changed

Lines changed: 29 additions & 7 deletions

File tree

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "linuxdo-accelerator"
3-
version = "0.1.7"
3+
version = "0.1.8"
44
edition = "2024"
55
build = "build.rs"
66
authors = ["fjh1997 <549308442@qq.com>"]

Packager.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "linuxdo-accelerator"
22
product-name = "Linux.do Accelerator"
33
identifier = "io.linuxdo.accelerator"
4-
version = "0.1.7"
4+
version = "0.1.8"
55
out-dir = "./dist"
66
binaries-dir = "./target/release"
77
formats = ["deb", "dmg", "nsis"]

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -142,8 +142,8 @@ linuxdo-accelerator --config /path/to/linuxdo-accelerator.toml
142142
## Config Example
143143

144144
```toml
145-
listen_host = "127.0.0.1"
146-
hosts_ip = "127.0.0.1"
145+
listen_host = "127.211.73.84"
146+
hosts_ip = "127.211.73.84"
147147
http_port = 80
148148
https_port = 443
149149
upstream = "https://linux.do"
@@ -160,6 +160,8 @@ server_common_name = "linux.do"
160160
- 证书 SAN 域名列表
161161
- 监听地址和端口
162162

163+
默认监听地址和 hosts 回环地址使用 `127.211.73.84`,而不是 `127.0.0.1`,这样可以尽量减少与其他只占用 `127.0.0.1` 的本地代理/抓包/加速软件冲突。
164+
163165
## Binaries
164166

165167
项目当前只包含一个统一可执行文件:

assets/defaults/linuxdo-accelerator.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
listen_host = "127.0.0.1"
2-
hosts_ip = "127.0.0.1"
1+
listen_host = "127.211.73.84"
2+
hosts_ip = "127.211.73.84"
33
http_port = 80
44
https_port = 443
55
upstream = "https://linux.do"

src/config.rs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ use anyhow::{Context, Result, anyhow};
55
use serde::{Deserialize, Serialize};
66

77
const DEFAULT_APP_CONFIG: &str = include_str!("../assets/defaults/linuxdo-accelerator.toml");
8+
const OLD_DEFAULT_LOOPBACK: &str = "127.0.0.1";
9+
const NEW_DEFAULT_LOOPBACK: &str = "127.211.73.84";
810

911
#[derive(Debug, Clone, Serialize, Deserialize)]
1012
pub struct AppConfig {
@@ -84,6 +86,7 @@ impl AppConfig {
8486
if let Ok(mut config) = toml::from_str::<AppConfig>(&content) {
8587
let defaults = default_app_config();
8688
let mut changed = false;
89+
changed |= migrate_loopback_defaults(&mut config);
8790
changed |= merge_missing_values(&mut config.doh_endpoints, defaults.doh_endpoints);
8891
changed |= merge_missing_values(&mut config.proxy_domains, defaults.proxy_domains);
8992
changed |= merge_missing_values(
@@ -127,6 +130,7 @@ impl AppConfig {
127130
ca_common_name: legacy.ca_common_name,
128131
server_common_name: legacy.server_common_name,
129132
};
133+
migrate_loopback_defaults(&mut config);
130134
merge_missing_values(&mut config.doh_endpoints, defaults.doh_endpoints);
131135
merge_missing_values(&mut config.proxy_domains, defaults.proxy_domains);
132136
merge_missing_values(
@@ -213,6 +217,22 @@ fn merge_missing_values(target: &mut Vec<String>, defaults: Vec<String>) -> bool
213217
changed
214218
}
215219

220+
fn migrate_loopback_defaults(config: &mut AppConfig) -> bool {
221+
let mut changed = false;
222+
223+
if config.listen_host == OLD_DEFAULT_LOOPBACK {
224+
config.listen_host = NEW_DEFAULT_LOOPBACK.to_string();
225+
changed = true;
226+
}
227+
228+
if config.hosts_ip == OLD_DEFAULT_LOOPBACK {
229+
config.hosts_ip = NEW_DEFAULT_LOOPBACK.to_string();
230+
changed = true;
231+
}
232+
233+
changed
234+
}
235+
216236
fn normalize_toml(content: &str) -> String {
217237
content
218238
.lines()

0 commit comments

Comments
 (0)