- Lookup public IP by HTTP instead of DNS
- Build for Ubuntu 24.04, Debian 12 and Fedora 39, 40
- Systemd: Dont set MemoryHigh for the Sparoid service
- Client improvement: If hostname resolves to multiple IPs fdpass will connect to them in parallel and exit when the first succeeds
- Client improvement: Sparoid::Client.new can parse INI files
- Client improvement: Block/wait for UDP packets to be sent
- Bundle static libnftables in debian binaries, doesn't seem to leak memory and works also in ubuntu 18.04
- Revert to one nft at a time becasue some versions of nft -i also leaks memory
- Because libnftable seems to leak memory in some versions use nft -i
- Save a few allocations
- Create/free a nftables context for each request
- Increase MemoryMax to 32M
- Increase MemoryMax to 12M
- Decrease number of allocations when processing packets
- SystemD service limits memory to 5MB
- Allow unknown keys in config file for client so that the same config can be used for server and client
- build option -Dwithout_nftables, that fallsback to nft binary for nftables-cmd (for ubuntu 18.04)
- bug fix: restore open/close-cmd support
- Direct nftables support
- Show version with
sparoid --version
- Cache the public IP to disk for 60s in the client
- Correct dependencies in deb package
- Don't check if source IP and IP and packet matches, use IP in packet
- No default open/close commands
- Dont print keys on startup
- Support for multiple encryption and HMAC keys in the server, for key rotation
- Client resolvs IPs before generating the message (so that the message isn't stale before sending in the case resolving took a long time)
- Can create an instance of Client that caches IP
- Client send packets to all resolved IPs for a hostname
- Fix ARM deb package, compiling the correct files
- SystemD service always restart no, not only on failure
- Move src files up one level
- Don't allow specifying key/hmac on cmd line for client cli
- Put all classes in the Sparoid namespace/module
- Building deb packages for ARM and x86_64 are now working again
- SSH ProxyCommand support, sparoid connect, which send SPA, TCP connect and pass the FD to parent
- Static IP for OpenDNS resolver, requires one less lookup
- Drop packets early if packet length doesn't match
- Build with 1.0.0
- Initial release