Skip to content

Releases: bitcap-co/ipr-daemon

IPR Daemon v0.5.3 Release

Choose a tag to compare

@github-actions github-actions released this 21 Aug 03:03

Changelog

iprd (package)

  • Export GetKnownMinerPorts() and ParseIPAddress() helpers
  • New FilterKnownPorts bool option
  • Add FilterKnownPorts/filter_known_ports field in ListenerConfig and InterfaceConfig
  • If enabled, Only UDP ports from known miner types are included in listener(s)' BPF.

ipr-daemon

  • Add -known-ports to only allow packets from known miner types.
  • Allow no-root-network to be toggled standalone IF there are already network inclusions in -w mode

iprd-offline

  • Add filter flags (-i, -ip, -mac, -p, and -l)
  • Filter for interface name, IP address, MAC address, UDP destination port respectively
  • -l takes 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

Choose a tag to compare

@github-actions github-actions released this 18 Aug 02:50

Changelog

iprd (package)

  • Live telemetry
  • Add telemetry API for ListenerManager & managed IPRListeners
  • Expose ListenerManager.Status() to retrieve current ManagaerStatus as a status provider
  • Broadcaster
  • New one-shot iprd_status command to retrieve status of running ListenerManager
  • 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-json flags to retrieve status info from a running ipr-daemon instance
  • Allow configuration with -b, -p, -c for remote instances (defaults to localhost: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

Full Changelog: v0.5.1...v0.5.2

IPR Daemon v0.5.1 Release

Choose a tag to compare

@github-actions github-actions released this 13 Aug 20:12

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 encapsulated Record.Get()
  • Rename PacketProcessor.CaptureToIPRPacket() -> ToIPRPacket()
  • Add PacketProcessor.IsDuplicate() func
  • Log graceful client disconnects in IPRBroadcast.Listen()

ipr-daemon

  • -w now 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

Full Changelog: v0.5.0...v0.5.1

IPR Daemon v0.5.0 Release

Choose a tag to compare

@github-actions github-actions released this 10 Aug 04:58

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 ListenerManager struct to coordinate IPRListener(s), capture writing, packet processing, and combined IP report stream
  • IPRlistener now just owns handle management/configuration for a single interface
  • New exported PacketProcessor for packet processing; and CaptureWriter for PCAP-NG file capturing from multiple interface sources
  • Support individual interface BPF configuration!
  • API changes
  • Split IPRDConfig into reusable ListenerConfig, and ForwardConfig
  • Update constructors to take ListenerConfig instead of whole IPRDConfig
  • Add ListenInterfaces to ListenerConfig. Deprecate ListenInterface
  • Export CLI flag helpers FlagSlice for multi-value (comma-seperated, chaining) and FlagInterface for interface selection and optional configuration
  • Add NewIPRBroadcastMessage() constructor andIPRBroadcastMessage.Marshal() for stable packet UUID across multiple serializations. Deprecate IPReportPacket.Marshal()
  • Add GetMinerHintFromPort, GetMsgPatternFromHint getters

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-network flags 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

Full Changelog: v0.4.7...v0.5.0

IPR Daemon v0.4.7 Release

Choose a tag to compare

@github-actions github-actions released this 21 Jul 18:12

Changelog

iprd (package)

  • Support for capture file rotation
  • Add RotateCapturefiles option in IPRDConfig
  • Rotate up to 4 capture files (capture.pcap -> capture.1.pcap -> ... -> capture.3.pcap)
  • Add opt-in mDNS/DNS-SD discovery via zeroconf
  • Add MDNS option in IPRDConfig
  • 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-capture flag to rotate thru set number of capture files instead of flushing
  • Add -mdns flag for opt-in mDNS service advertisement ("_iprd._tcp.local.")

Distribution

  • Add FreeBSD arm64 binary/package (.pkg)

What's Changed

Full Changelog: v0.4.6...v0.4.7

IPR Daemon v0.4.6 Release

Choose a tag to compare

@github-actions github-actions released this 06 Jul 08:51

Changelog

iprd (package)

  • Add ForwardBind option in config
  • NewBroadcaster now optionally takes a bind address
  • Implement interface auto-reconnect into IPRListener
    - Reconnect to interface with backoff if interface goes down/away with Run()
    - Re-resolve and activate interface handle once UP again
    - Broadcast/clients remain intact
    - Activate()/Listen() remain for API compatibility

ipr-daemon

  • Add -b option 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 in iprd.service

Full Changelog: v0.4.5...v0.4.6

IPR Daemon v0.4.5 Release

Choose a tag to compare

@github-actions github-actions released this 23 Jun 03:11

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

Choose a tag to compare

@github-actions github-actions released this 20 Jun 05:34

Changlog

iprd (package)

  • Add ParseBPFNetwork func
  • Move ignored devices into BPF filter instead of in ParseIPReportPacket
  • Rename some config options

ipr-daemon

  • Rewrite help strings for flags for better readability
  • -f flag 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

Choose a tag to compare

@github-actions github-actions released this 17 Jun 03:27

Changelog

iprd (package)

  • Rename MsgPatterns to more descriptive names
  • Ignore empty network prefixes and exclusions
  • Add HiveGPU miner 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

Choose a tag to compare

@github-actions github-actions released this 09 Jun 05:41

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 -exclude flag to additionally exclude network prefixes from BPF filter

Full Changelog: v0.4.1...v0.4.2