mirror of
https://github.com/timothymiller/cloudflare-ddns.git
synced 2026-03-21 22:48:57 -03:00
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.
29 lines
697 B
TOML
29 lines
697 B
TOML
[package]
|
|
name = "cloudflare-ddns"
|
|
version = "2.0.1"
|
|
edition = "2021"
|
|
description = "Access your home network remotely via a custom domain name without a static IP"
|
|
license = "GPL-3.0"
|
|
|
|
[dependencies]
|
|
reqwest = { version = "0.12", features = ["json", "rustls-tls"], default-features = false }
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
tokio = { version = "1", features = ["rt-multi-thread", "macros", "time", "signal"] }
|
|
regex = "1"
|
|
chrono = { version = "0.4", features = ["clock"] }
|
|
url = "2"
|
|
idna = "1"
|
|
if-addrs = "0.13"
|
|
|
|
[profile.release]
|
|
opt-level = "s"
|
|
lto = true
|
|
codegen-units = 1
|
|
strip = true
|
|
panic = "abort"
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3.27.0"
|
|
wiremock = "0.6"
|