Releases: bitcap-co/ipr-daemon
Releases · bitcap-co/ipr-daemon
Release list
IPR Daemon v0.5.3 Release
Changelog
iprd (package)
- Export
GetKnownMinerPorts()andParseIPAddress()helpers
- New
FilterKnownPortsbool option
- Add
FilterKnownPorts/filter_known_portsfield in ListenerConfig and InterfaceConfig- If enabled, Only UDP ports from known miner types are included in listener(s)' BPF.
ipr-daemon
- Add
-known-portsto only allow packets from known miner types.- Allow
no-root-networkto be toggled standalone IF there are already network inclusions in-wmode
iprd-offline
- Add filter flags (
-i,-ip,-mac,-p, and-l)
- Filter for interface name, IP address, MAC address, UDP destination port respectively
-ltakes a number to limit filter/packet output up-to. Defaults to 0 (no limit).
Full Changelog: v0.5.2...v0.5.3
IPR Daemon v0.5.2 Release
Changelog
iprd (package)
- Live telemetry
- Add telemetry API for
ListenerManager& managedIPRListeners- Expose
ListenerManager.Status()to retrieve currentManagaerStatusas a status provider
- Broadcaster
- New one-shot
iprd_statuscommand to retrieve status of runningListenerManager
- Default Configuration
- Remove default "eth0" interface. Now defaults to empty.
ipr-daemon
- Modify existing configuration through existing CLI in config mode (
-w)!
- Quickly append to current interface/global BPF listen configuration (network inclusions/exclusions, ignored devices)
- Toggle booleans options (debug, auto, mdns, etc)
- Log applied changes to modified configuration for better visibility
- Status convenience flags
- Add
-status/-status-jsonflags to retrieve status info from a running ipr-daemon instance- Allow configuration with
-b,-p,-cfor remote instances (defaults tolocalhost:7788)
- Bug fixes
- Properly merge supplied configuration to existing one
- Add guard for no interface providers in run mode (empty
-i,/-c)
What's Changed
- Feat/status by @MatthewWertman in #8
Full Changelog: v0.5.1...v0.5.2
IPR Daemon v0.5.1 Release
Changelog
iprd (package)
- Offline capture API!
- Add small offline capture handler API for PCAP/PCAP-NG diagonitics/debugging
- Minor API changes
- Remove
Record.Contains()for encapsulatedRecord.Get()- Rename
PacketProcessor.CaptureToIPRPacket()->ToIPRPacket()- Add
PacketProcessor.IsDuplicate()func- Log graceful client disconnects in
IPRBroadcast.Listen()
ipr-daemon
-wnow updates stored configuration with suppiled flags if config file already exists- Improve flag help with better usage descriptions
iprd-offline
- Move to new offline capture handler API (
iprd.ProcessCapture())- Properly emulate duplicate packets verus packet timestamp
- Add summary diagnositics for all processed packets
What's Changed
- feat/offline-capture by @MatthewWertman in #7
Full Changelog: v0.5.0...v0.5.1
IPR Daemon v0.5.0 Release
Changelog
iprd (package)
- mDNS/DNS-SD Advertistor
- Advertise over all active multicast interfaces
- Watch interface states and auto-reload client configuration on interface change
- Support listening on multiple interfaces!
- New
ListenerManagerstruct to coordinate IPRListener(s), capture writing, packet processing, and combined IP report streamIPRlistenernow just owns handle management/configuration for a single interface- New exported
PacketProcessorfor packet processing; andCaptureWriterfor PCAP-NG file capturing from multiple interface sources- Support individual interface BPF configuration!
- API changes
- Split
IPRDConfiginto reusableListenerConfig, andForwardConfig- Update constructors to take
ListenerConfiginstead of wholeIPRDConfig- Add
ListenInterfacesto ListenerConfig. DeprecateListenInterface- Export CLI flag helpers
FlagSlicefor multi-value (comma-seperated, chaining) andFlagInterfacefor interface selection and optional configuration- Add
NewIPRBroadcastMessage()constructor andIPRBroadcastMessage.Marshal()for stable packet UUID across multiple serializations. DeprecateIPReportPacket.Marshal()- Add
GetMinerHintFromPort,GetMsgPatternFromHintgetters
ipr-daemon
- Multi-interface support
- Allow multiple interface selectors (comma-separated, flag chaining) with
-i- Parse individual interface BPF configurations following ":" after selector
-add-network,-exclude,-ignore,-no-root-networkflags are treated as globals and apply to all current interface selections- Move to
ListenerManager.Run()for context-aware listening on multiple interfaces- Update flag help for new usage
iprd-offline
- Support reading PCAP-NG capture files
- Detail source interface name from captured packets
What's Changed
- Feat/multi interface by @MatthewWertman in #6
Full Changelog: v0.4.7...v0.5.0
IPR Daemon v0.4.7 Release
Changelog
iprd (package)
- Support for capture file rotation
- Add
RotateCapturefilesoption inIPRDConfig- Rotate up to 4 capture files (capture.pcap -> capture.1.pcap -> ... -> capture.3.pcap)
- Add opt-in mDNS/DNS-SD discovery via zeroconf
- Add
MDNSoption inIPRDConfig- Implement
MDNSAdvertiser- Advertise "_iprd._tcp.local." service with configured port + subscription metadata for supported multicast interfaces
- Scope owning interface for explicit bind addresses
ipr-daemon
- Add
-rotate-captureflag to rotate thru set number of capture files instead of flushing- Add
-mdnsflag for opt-in mDNS service advertisement ("_iprd._tcp.local.")
Distribution
- Add FreeBSD arm64 binary/package (.pkg)
What's Changed
- mDNS advertiser by @MatthewWertman in #5
Full Changelog: v0.4.6...v0.4.7
IPR Daemon v0.4.6 Release
Changelog
iprd (package)
- Add
ForwardBindoption in configNewBroadcasternow optionally takes a bind address- Implement interface auto-reconnect into
IPRListener
- Reconnect to interface with backoff if interface goes down/away withRun()
- Re-resolve and activate interface handle once UP again
- Broadcast/clients remain intact
-Activate()/Listen()remain for API compatibility
ipr-daemon
- Add
-boption to bind broadcast to IP- Move to
listener.Run()for interface auto-reconnect- Exit cleanly on Ctrl-C
Distribution
- Lots of new artifacts!
- Debian (arm64) package
- RedHat (amd64/arm64) package (.rpm)
- Alpine (amd64/arm64) package (.apk)
- FreeBSD (amd64) package (.pkg)
- Static Linux musl (amd64/arm64) binary- ARM64 Docker Image
- Add multi-arch image (amd64/arm64) to Docker Hub- Systemd
- Restart on failure iniprd.service
Full Changelog: v0.4.5...v0.4.6
IPR Daemon v0.4.5 Release
Changelog
iprd (package)
- Broadcaster
- Fix broadcast deadlock in broadcaster on client write fails
- Harden client writes by using write deadline to not stall on slow/half-open connections
- Enable TCP keepalive on connections to broadcaster to reap dead clients
- Listener
- Fix ignored devices BPF syntax to include all ignored devices
- Override capture file extension to ensure is .pcap as PCAP format is only supported
Repository
- Debian package scripts moved to scripts/package
Full Changelog: v0.4.4...v0.4.5
IPR Daemon v0.4.4 Release
Changlog
iprd (package)
- Add
ParseBPFNetworkfunc - Move ignored devices into BPF filter instead of in
ParseIPReportPacket - Rename some config options
ipr-daemon
- Rewrite help strings for flags for better readability
-fflag has been renamed to-known
Repo
- Create new updated default config
default.toml
Full Changelog: v0.4.3...v0.4.4
IPR Daemon v0.4.3 Release
Changelog
iprd (package)
- Rename MsgPatterns to more descriptive names
- Ignore empty network prefixes and exclusions
- Add
HiveGPUminer hint for IP reporting on GPU miners running HiveOS
ipr-daemon
- Add -version flag to print version/build info
Full Changelog: v0.4.2...v0.4.3
IPR Daemon v0.4.2 Release
Changlog
iprd(package)
- Move to packet source MAC as key fpr Record
- Add NetworkExclusions to IPRDConfig
- Additionally exclude network prefixes in IPRListener
ipr-daemon
- Add
-excludeflag to additionally exclude network prefixes from BPF filter
Full Changelog: v0.4.1...v0.4.2