-
ET Phone Home v0.9.1
StableAll checks were successfulClaims ledger / Every README claim has a test (push) Successful in 4sDesktop FreeBSD / macOS (Apple Silicon + Intel) and Windows e2e, on the GitHub mirror (push) Successful in 6sRust CI / Format Check (push) Successful in 12sRust CI / Clippy (push) Successful in 50sAndroid CI / Lint (push) Successful in 1m37sRust CI / Security Audit (push) Successful in 2m53sAndroid CI / Unit Tests (push) Successful in 2m38sAndroid CI / Build Debug APK (push) Successful in 2m55sDesktop FreeBSD / FreeBSD packages (amd64 + aarch64) (push) Successful in 2m47sRust CI / End-to-end (real client + TUN + phone core, real internet) (push) Successful in 5m16sOpenWrt router packages / Build router packages (5 CPU families, ipk + apk) (push) Successful in 5m36sDesktop FreeBSD / Real FreeBSD 14 VM against the phone core (push) Successful in 13m8sRust CI / Test (push) Successful in 1m59sRust CI / Build Desktop GUI (push) Successful in 2m25sRust CI / Build Linux (push) Successful in 3m6sRust CI / Build Windows (push) Successful in 1m17sDesktop FreeBSD / Real OPNsense + pfSense CE VMs (plugin/package, phone as gateway, WAN failover) (push) Successful in 16m58sOpenWrt router packages / Real OpenWrt VMs (24.10 opkg + 25.12 apk) against the phone core (push) Successful in 6m55sRelease / Build FreeBSD Release (pkg, amd64 + aarch64) (push) Successful in 2m48sRelease / Build Linux Release (push) Successful in 3m18sRelease / Build Windows Release (push) Successful in 3m23sRelease / Build Desktop GUI (Linux) (push) Successful in 3m51sRelease / Build OpenWrt router packages (push) Successful in 7m22sRelease / Build Android Release (push) Successful in 3m3sRelease / Publish Forgejo release (push) Successful in 51sRelease / Sign the APK with the ETPH release key and attach it (push) Successful in 3sRelease / Attach the macOS package (built + tested on the GitHub mirror) (push) Successful in 9sRelease / SHA256SUMS over every release file (push) Successful in 19sRelease / Verify the published release (push) Successful in 1sPublish to Google Play / diagnose (push) Has been skippedPublish to Google Play / build-release-aab (push) Successful in 3m23sPublish to Google Play / sign-and-publish (push) Successful in 48sreleased this
2026-10-21 01:07:14 -07:00 | 52 commits to main since this releaseAdded
- macOS client:
etph-macos-<version>.pkg(Apple Silicon + Intel, macOS 11+): menu-bar app, CLI and a launchd service that owns the tunnel (utun, no kernel extension), DNS for the tunnel through scutil,etph-uninstall. Installed and tested in CI on an Apple Silicon and an Intel Mac (HTTPS, DNS and a 5 MB download through the phone core, the service andctl, clean uninstall). Not notarized yet: the first open needs Control-click > Open (docs/DESKTOP.md). - OPNsense plugin
os-etph: Interfaces > Phone uplink (ETPH) (settings, phone status, ETPH Pro, traffic), a configd-driven service, andetph0offered under Interfaces > Assignments even while the phone is away, so the phone can be a gateway in a gateway group (WAN failover). Tested on a real OPNsense 26.7 VM. - pfSense CE package
pfSense-pkg-etph: Interfaces > Phone uplink (ETPH) with a Status tab, the ETPH service under Status > Services,etph0assignable as an interface for gateways and gateway groups. Tested on a real pfSense CE 2.7.2 VM. - Both firewall tests run in CI (
firewall-vms): a LAN client keeps HTTPS through the phone when the primary WAN goes down, the firewall's own default route follows, the uplink survives the WAN coming back and the phone going away and returning, and the packages uninstall cleanly. - FreeBSD packages for FreeBSD 14 and 15 (
-freebsd14-,-freebsd15-): pkg(8) refuses a package built for another major version.
Fixed
- BSD firewalls: when the firewall reconfigures the assigned phone interface (pfSense "IPv4 Configuration Type: None" strips its addresses), the client puts the link address back within seconds and re-runs the up hook instead of leaving the uplink dead until the next reconnect.
- OPNsense: after the phone reconnects, its gateway comes back online (the link returns with the same address, and OPNsense's address-change hook skipped it as "no IP change", leaving gateway monitoring on the old device).
Known limits
- Firewalls: the phone connects over Wi-Fi (tested); USB to a phone plugged into the firewall is offered but not yet tested there.
- The macOS package is ad-hoc signed, not notarized (no Apple Developer ID yet).
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
4 downloads
- macOS client: