Description
Egern is a feature-rich and powerful networking tool, specifically designed for proxying, intercepting, and modifying network traffic.
Key features include:
· Comprehensive recording of TCP, UDP, DNS, and HTTP network traffic.
· Support for a wide range of rule types: domain, domain keywords, domain suffix, domain regular expressions, domain wildcard, geo-location, IPv4/IPv6 CIDR, URL regular expressions, logical, protocol, user-agent, rule sets, and default rules.
· Flexible policy group options: selection, automatic testing, fallback, load balancing, and external policies.
· Support for multiple proxy protocols: HTTP, SOCKS5, Shadowsocks, Trojan, Hysteria2, TUIC, Vless, and Vmess.
· Effortlessly decrypt HTTPS traffic using Man-in-the-Middle attack techniques.
· URL rewriting capabilities, allowing you to freely customize network requests.
· Highly customizable request and response header rewriting functionality.
· Versatile request and response content rewriting abilities.
· Utilize JavaScript to provide customized operations on request and response data.
· Support for local HTTP proxy server and local SOCKS5 proxy server to meet various networking needs.
· DNS forwarding rules can proxy traffic to servers that support DoH, DoT, and DoQ protocols.
· Sync configuration information across devices with iCloud, ensuring consistent network settings anywhere, anytime.
As your ultimate network management tool, Egern helps you easily navigate various network environments and achieve efficient network control and debugging. Whether you're a network security expert, developer, or simply interested in network management, Egern will become an indispensable tool. Experience the powerful features of Egern and create your own exclusive networking environment today!
Twitter: https://twitter.com/byteallen
Nouveautés (v2.19.0)
New Features
- Smart policy group: scores nodes by latency, jitter, and stability with continuous learning; per-sub-policy weight coefficients let you
bias selection
- Clash / mihomo subscription format
- IPv6 Fake IP (requires IPv6 enabled)
- Per-widget size selection in the gallery (Small / Medium / Large; iPad also Extra Large)
- Module list icons with on/off toggle; letter avatar fallback for icon-less modules
- Per-policy-group latency_test_url for custom latency / health-check URLs
- Import / export in the KeyValue editor
- Local port shown in connection details
- Cancellable resource downloads: leaving the page or re-triggering aborts the previous task
- Network-change notifications now show the cellular radio type (LTE / NR / WCDMA, etc.)
- SOCKS5 UDP relay traffic counted in speed and per-connection stats
Improvements
- Rewrote the domain rule matcher: ~10× exact, ~5× suffix, ~20× keyword
- Higher HTTP/2 throughput for large downloads on high-latency links
- Faster matching for rule sets with many IP CIDR entries
- Faster KV read/write in the script engine
- Lower kernel memory use
- More timely iCloud sync; optimized QUIC reject path
- ETag conditional fetch skips download/reload when unchanged
- Pause resource refresh while asleep; resume lazily after wake to save battery
- WebView memory released promptly after script execution, reducing NE kills
- Resources page no longer stalls on open (YAML parsed off-main)
- Policy page no longer freezes with many nested groups
- Background latency tests skip policy groups unreachable by real traffic
- Larger tap area for the policy-group latency button
- Proxy DNS now shares forward rules, hosts, ECS, and block_ips with the default resolver; proxy_nameservers is the fallback only
- Switching outbound mode and back to Global no longer clears the chosen global policy
- Updating a module also refreshes its referenced sub-resources
- Widget reordering moved to a dedicated page
- Better wording for policy-switch notifications
- Compatibility with anytls servers that don't support multiplexing
Fixes
- Cross-talk between multiple coexisting WireGuard tunnels
- VLESS XTLS Vision couldn't connect to server-first protocols (SSH, databases) in tcp-in-tun mode
- iOS system probe domains (e.g. *.invalid) terminating the HTTP proxy tunnel
- MITM cert generation failure for very long hostnames
- CPU spin after an HTTP body error
- Overlapping execution of high-frequency cron scripts
- One traffic-sniffing and one TLS-sniffing error
- Crash on duplicate entries in the connection-detail IP list
- Resource fetch failure when the URL contained a port
- zstd HTTP responses not decompressed in the script / MitM pipeline
- NE crash when a script notification contained NUL characters
- Scripts not using the specified policy with $httpClient, affecting modules like BiliBili Global
- ({response:{...}}) return in HTTP-response scripts not unwrapped, rewrites silently failing
- Content-Type not auto-filled from the body when scripts omit it (e.g. BiliBiliDailyBonus)
- Nested policy groups waiting for the interval before failover; inner failures now bubble up immediately
- Selected nodes in the policy UI reset after switching configurations
- Same-named icon sets with different URLs being deduplicated
- Real IPv6 addresses mis-matched to Fake IP cached domains due to offset overflow
- DNS resolution blocked while fetching the public IP
- IPv6 default route not split like IPv4 when compat-route is enabled
- USER-AGENT-only Surge rule sets (e.g. YouTube Music.list) being dropped
- Show IP Info occasionally returning an IP other than the proxy's current one
- Nested rule sets inside AND / OR / NOT rules not appearing in "Update Resources"
- Hotspot-client connections rejected during cellular uplink with Personal Hotspot
- DNS legend text not vertically centered
- Module compat arguments not persisted when set to the default
- Launch hang from iCloud container resolution