mirror of
https://github.com/timothymiller/cloudflare-ddns.git
synced 2026-03-21 22:48:57 -03:00
Use Cloudflare trace by default and validate IPs
Default IPv4 provider is now CloudflareTrace. Primary uses api.cloudflare.com; fallbacks are literal IPs. Build per-family HTTP clients by binding to 0.0.0.0/[::] so the trace endpoint observes the requested address family. Add validate_detected_ip to reject wrong-family or non-global addresses (loopback, link-local, private, documentation ranges, etc). Update tests and legacy updater URLs. Default to Cloudflare trace and validate IPs Use api.cloudflare.com as the primary trace endpoint (fallbacks remain literal IPs) to avoid WARP/Zero Trust interception. Build IP-family-specific HTTP clients by binding to the unspecified address so the trace endpoint sees the correct family. Add validate_detected_ip to reject non-global or wrong-family addresses and expand tests. Bump crate version and tempfile dev-dependency.
This commit is contained in:
@@ -191,11 +191,11 @@ async fn update_legacy(config: &AppConfig, _ppfmt: &PP) -> bool {
|
||||
client,
|
||||
cf_api_base: "https://api.cloudflare.com/client/v4".to_string(),
|
||||
ipv4_urls: vec![
|
||||
"https://1.1.1.1/cdn-cgi/trace".to_string(),
|
||||
"https://api.cloudflare.com/cdn-cgi/trace".to_string(),
|
||||
"https://1.0.0.1/cdn-cgi/trace".to_string(),
|
||||
],
|
||||
ipv6_urls: vec![
|
||||
"https://[2606:4700:4700::1111]/cdn-cgi/trace".to_string(),
|
||||
"https://api.cloudflare.com/cdn-cgi/trace".to_string(),
|
||||
"https://[2606:4700:4700::1001]/cdn-cgi/trace".to_string(),
|
||||
],
|
||||
dry_run: config.dry_run,
|
||||
|
||||
Reference in New Issue
Block a user