Repository navigation
v0.6.0
Feature release: mesh names — use home.fips instead of npub1….fips. Installs in place over any earlier release via the automatic update prompt, Check for updates, or sideload — identity, settings and app data are kept.
Changes since v0.5.1
- Mesh names. Overview has a new Mesh names card: an address book that maps a readable name to a node's npub. Give
npub1k3ae…wcl6nthe namehome, and every mesh app can openhome.fips— in the browser, in an SSH client, anywhere a hostname goes. It works like a hosts file, and is one: the samename npubformat as the fips daemon's/etc/fips/hosts, which an Android app has no way to write, so fips2go keeps its own and resolves the names in its DNS proxy.- No reconnect. Adding, re-pointing or removing a name applies to the very next lookup; the mesh stays up.
- Saving a name that already exists re-points it (tap a row to load it into the fields). Several names may point at one npub. Each row has a copy button for
name.fips. - A pasted
npub1….fipsorHome.fipsis accepted and tidied up; a bad npub or name is refused with the reason. - Names are one label — letters, digits, hyphens — the same rule fips applies.
www.home.fipsdoes not resolve. - Names live on this device only: they are your address book, not something other nodes see, and they are not part of the identity backup.
- Diagnostics — the resolve / reachability field takes a mesh name as well as an npub.
No change to the embedded fips daemon (still android-hooks @ 876e62a).
Known issues
- After the mesh reconnects itself — a mesh-app or relay change, a
!FIPShotspot joining or leaving, an IPv6 route change — the link to a peer can take ~15 s to come back even though Overview already shows Connected. Under investigation; seen since 0.5.0. (Editing mesh names does not reconnect, so it does not trigger this.) - Peers listed in Diagnostics still show npubs, not the names you gave them.
Install
Sideload the APK matching your device (adb install -r or open it on the phone); min SDK 26 (Android 8.0). Verify the download against the matching .sha256, or update from within the app.
- universal — all three ABIs in one file. Installs anywhere; larger. Use this if unsure.
- arm64-v8a — every 64-bit ARM phone from roughly 2016 on; the device-verified build.
- armeabi-v7a — old 32-bit phones. Compiles and packages; not exercised on real 32-bit hardware.
- x86_64 — Android emulator, Chromebooks.
Release APKs are signed with the key whose certificate SHA-256 is
aa905e32bd0058874d252990abba26c78ddd8fca018195ebd1cd232a99a7a8e1 — check a
fresh download with apksigner verify --print-certs <apk>. This matters most on a
first install: there is no previously installed signature for Android to
compare against, so the checksum and this fingerprint are the only things
identifying a genuine build. Subsequent updates are enforced against the key
automatically.
Caveats
Only arm64-v8a is exercised on real hardware. Mesh names were verified on a Pixel (arm64-v8a) after this release was published, and before that on the Android 14 (x86_64) emulator: with Chrome as the mesh app, home.fips resolved to the mapped node; a second name added while connected resolved on the next lookup with no node restart; and this release's x86_64 APK was installed in place over a release-signed 0.5.1 and the editor exercised in that build. The DNS translation itself is covered by host tests against the fips responder's own code. armeabi-v7a compiles and packages but has not been run on a 32-bit device; x86_64 is emulator-verified.