AgentNotify v0.0.4-alpha.1
Pre-releaseThis is a prerelease. It is intended for testing and evaluation: expect incomplete
features, breaking changes, and unsigned binaries. The mature1.0.0release is reserved for a
future stable milestone.
Adds AgentNotify Relay: a self-hostable service that carries notifications from your computers to
your phone, without routing them through somebody else's messaging product. Connecting a computer
is now a browser approval rather than a pasted token.
Relay is a separate open-source project —
github.com/Akash97p/agent-notify-relay — and is
documented at Relay. The mobile client and
the hosted Relay Go plan do not exist yet, and the desktop still sends an experimental opaque
transport rather than a sealed box, so end-to-end confidentiality is not yet delivered.
Added
- Browser-based AgentNotify Relay connection. The Windows Channels panel now discovers a Relay,
opens its approval page, displays a short verification code, polls with cancellation and bounded
retry, verifies the approved installation, and saves the one-time credential only when the
provider is saved. Manual credential entry remains under a collapsed Advanced section. - Headless Relay pairing.
agentnotify relay pairruns the same device-authorization handshake
on Windows, macOS, and Linux, whileagentnotify relay statusverifies saved Relay providers.
--jsonprovides line-delimited state transitions for scripts.
Security
- Relay discovery, pairing, verification, and delivery now share one redirect-free, proxy-free,
DNS-pinned HTTP transport. Browser approval URLs must match the configured Relay origin exactly;
polling and installation credentials are never placed in URLs, UI text, logs, or exceptions.
Fixed
- Relay test sends no longer submit a synthetic
relay-placeholder-deviceafter sender pairing.
An installation with no active phone now returnsno_devices_pairedlocally and the Channels UI
explains the required next step; an unknown pinned device is rejected before any envelope is sent. - Every Relay send failed with
relay_400. Two serialization details were rejected by the
Relay before any handler ran:expires_atusedDateTimeOffset.ToString("O"), which emits a
numeric offset instead of the trailingZthe schema accepted, and absent optional metadata was
written as an explicitnull. Timestamps now use theZform and nulls are omitted. - The route editor's provider dropdown showed a type name instead of each provider's name, so
every entry looked identical. The themed ComboBox draws the closed control from
SelectionBoxItemTemplate, whichDisplayMemberPathalone leaves empty; an explicit
ItemTemplatenow drives both the list and the selection. - Envelopes carried a
sender_idthat did not match the value sealed into the ciphertext. The
recipient rebuilds its authentication data from thesender_idit is given, so the mismatch
would have made every envelope fail authentication on the device once the transport is really
encrypted. Both now come from one value. - The setup window and settings header rendered a soft, low-resolution logo. Windows selects a
small icon frame for an image with an explicit size; on-screen logos now use the 512px source
while window and executable icons keep the multi-resolution.ico.
Install
Windows — download AgentNotifySetup.exe below and run it. No separate .NET runtime is needed.
The installer is not Authenticode-signed, so Windows may show a SmartScreen prompt.
macOS and Linux
curl -fsSL https://raw.githubusercontent.com/Akash97p/agent-notify/main/scripts/install.sh | shThis verifies the published SHA-256 checksum before installing agentnotify and agentnotifyd
into ~/.local/bin. To install this exact version, set AGENTNOTIFY_VERSION=v0.0.4-alpha.1.
See Installing on macOS and Linux.
Verifying downloads
SHA256SUMS.txt covers the Windows installer. SHA256SUMS-portable.txt covers the portable
archives. Check a download before running it:
sha256sum -c SHA256SUMS-portable.txt --ignore-missingDocumentation
Getting started ·
CLI reference ·
API ·
Configuration ·
Troubleshooting ·
What is verified
Full commit log: v0.0.3-alpha.1...v0.0.4-alpha.1