WGX shares its name with several other WireGuard tools, so the project
becomes ihasvpn, alongside ihasmail.
- Module github.com/Coffey-Labs/ihasvpn, command cmd/ihasvpn, image
ghcr.io/coffey-labs/ihasvpn.
- Environment variables move from WGX_* to IHASVPN_*. The default database
is ihasvpn.db, the nftables table is `ihasvpn`, metrics are ihasvpn_*, and
the session cookie and theme key are renamed, so existing sessions end.
- The mark is the ihasmail cat peeking over the edge of a shield, drawn as
a vector. docs/brand/generate.py builds the mark, mono mark, wordmarks,
social card, favicons and app icons from that one drawing.
- The console takes ihasmail's palette: the ihasmail.org teal-navy for dark,
its contrast-checked light tiers with the site's light accent, received
traffic in the cat's orange and sent in teal. The wordmark weight and
font stack follow ihasmail.org.
- Detail values wrap at spaces before breaking inside an address, so an
IPv6 tunnel address no longer splits mid-number.
- The README history note about the earlier WGX installer is gone with the
name it explained. Screenshots retaken.
The sidebar keeps the navigation on wide screens, now in two groups with a
clearer active state, and its footer holds the live indicator, a one-tap
theme toggle and a user menu with the account page, the full theme switch
and sign out. Below 900px the shell becomes a top bar (brand, live, theme,
user menu) and a bottom tab bar, so the primary pages are within thumb
reach and nothing stacks above the content.
Phones also get: no sideways scroll (the dashboard's fixed 2fr/1fr grid
collapses), stat cards two-up, low-value table columns hidden, modals as
bottom sheets, bigger touch targets, 16px inputs so iOS does not zoom, and
toasts that clear the tab bar. The meta theme-color follows the theme.
The mark's SVG gradients now take per-instance ids. With two copies on the
page the shared id resolved to the hidden top-bar copy and painted nothing,
which is why the logo looked washed out in light mode.
The tagline reads "WireGuard eXtended", which is where the name comes from.
README screenshots retaken.