Skip to content

Releases: cunicu/cunicu

v0.4.4

14 Aug 17:27
Compare
Choose a tag to compare

Changelog

  • 3303c4c fix: Fix broken go-import tag for gont/v2 package

v0.3.3

04 Jul 08:59
Compare
Choose a tag to compare

Changelog

v0.3.2

04 Jul 06:20
Compare
Choose a tag to compare

Changelog

  • b01b619 Add section for installing cunicu via Nix flakes
  • c7b80e6 Fix GitHub actions naming
  • 962d7d1 Fix default ICE timer values
  • 76d19e4 Fix log test
  • 4f72931 Fix loop aliasing
  • bf91683 Fix unused parameter warning
  • 241f1d0 Harmonize capitalization of HTTP headers
  • ff9a261 More improvements to logging
  • 9f1161a More logging improvements
  • 4f3d82f Perform graceful shutdown of GRPC signaling connection
  • abf7ce8 Remove all codacy references
  • 3db43c4 Remove codacy config
  • ac17b71 Smaller logging improvements
  • 4cdbc89 epdisc: Do not attempt to create an ICE connection until we have both local and remote candidates
  • ce97e7d epdisc: Fix peer state machine
  • 16edced epdisc: Simplify UDPMux setup
  • 96d25c7 epdisc: update NAT rules on change of listen-port
  • 778ac47 fix(deps): update github.com/gopacket/gopacket digest to 4472aec
  • e96cce9 fix(deps): update golang.org/x/exp digest to 97b1e66
  • e74310f fix(deps): update golang.zx2c4.com/wireguard digest to 1f25eac
  • b7a9eab fix(deps): update module github.com/miekg/dns to v1.1.55
  • 99bf91d fix(deps): update module github.com/pion/stun to v0.6.1
  • 1311b50 fix(deps): update module google.golang.org/grpc to v1.56.1
  • e67a2d0 ice: Remove unused interface type
  • 43e0365 nat: Make NFConn member private
  • 95602c5 website: Add mesh animation to banner
  • 76853f5 website: Remove reference to Docusaurus from home page
  • e0afaaf wg: Make bindPacketConn a private type

v0.3.1

04 Jul 06:10
Compare
Choose a tag to compare

Changelog

  • 5c92c51 Add renovate.json
  • d4c41f2 Add support for more terminal colors
  • e26e46f Allow insecure config file permissions on windows
  • c01e105 Change GitHub actions triggers
  • 614e2d4 Disable Codacy analysis
  • e26bece Disable depguard linter
  • 9e572c3 Fix build of website
  • 6fe3993 Fix config test for Windows
  • 8e4961e Fix import order
  • 7bea850 Fix indention in cunicu status sub-command
  • b80bf78 Fix licenses and copyright for static website assets
  • 491e0cf Fix linter warning
  • c8e5858 Fix logging tests
  • a5d41a2 Fix script to update vendorHash in Nix flake
  • b9fbc86 Fix segfault in status sub-command
  • 31deb81 Fix test for non-existing file path on Windows
  • 54b9024 Fix wrong interface type in status sub-command
  • ea019df Handle filenames starting with a Windows drive letter correctly
  • a818943 Harmonize PeerState and ConnectionState usage
  • 29a5bbd Implement custom logfmt-like encoder for zap
  • c407b0a Implement log filter expressions to replace verbosity level
  • 71af463 Install correct Ginkgo version
  • 425a573 Make detection of read-only /etc/hosts more robust
  • 154ef39 Make sure file is closed before the test terminates
  • 88dd798 Misc logging improvements
  • 8cac3ec Move nix packaging to nix folder and add missing license / copyright notices
  • da8cc7c Reduce log verbosity
  • 3350eeb Remove EONERC / RWTH logo due to unclear licensing conditions
  • ca996c5 Remove duplicated test for non-existing config file paths
  • 28b6203 Remove old codacy linter comments
  • 06db99c Skip tests which are broken on Windows
  • 88e3715 Update koanf to v2
  • 6e0352c Update protobuf code with newer protoc-gen-go version
  • 213f668 Update renovate bot config
  • e502c32 Use Windows APIs to get DNS client config
  • 8a35274 Use filepath instead of path package in order to use correct path seperation character on Windows
  • 44e2c06 chore(deps): update actions/checkout action to v3
  • c63b2fb chore(deps): update docker/setup-qemu-action action to v2
  • 29e7b2f chore(deps): update goreleaser/goreleaser-action action to v4
  • e24ee5d dist-nix: initial flake
  • 48e2558 fix(deps): update dependency @cmfcmf/docusaurus-search-local to v1
  • de8ba96 fix(deps): update dependency @mdx-js/react to v2
  • 61b473c fix(deps): update dependency hast-util-is-element to v2
  • d231786 fix(deps): update dependency prism-react-renderer to v2
  • a428781 fix(deps): update dependency rehype-katex to v6
  • 9d0f4e4 fix(deps): update dependency remark-math to v5
  • 3cd8615 fix(deps): update github.com/gopacket/gopacket digest to 9e29b47
  • a1059d5 fix(deps): update github.com/pion/zapion digest to 3bb052e
  • d865eae fix(deps): update module github.com/imdario/mergo to v0.3.16
  • 1d0fdd3 fix(deps): update module github.com/onsi/ginkgo/v2 to v2.10.0
  • 2155f62 fix(deps): update module github.com/onsi/ginkgo/v2 to v2.9.7
  • 7b797a7 fix(deps): update module github.com/onsi/gomega to v1.27.8
  • ab0992b fix(deps): update module github.com/pion/ice/v2 to v2.3.7
  • e493c56 fix(deps): update module github.com/pion/ice/v2 to v2.3.8
  • 2058e50 fix(deps): update module golang.org/x/crypto to v0.10.0
  • 39bf12b fix(deps): update module golang.org/x/sync to v0.3.0
  • 3a7418b fix(deps): update module golang.org/x/sys to v0.9.0
  • 1a27178 fix(deps): update module google.golang.org/grpc to v1.56.0
  • 2816345 hsync: Disable /etc/hosts synchronization if file is not writable

v0.2.5

10 Dec 18:42
Compare
Choose a tag to compare

Changelog

  • 102d260 autocfg: improve code comments
  • 3cabad8 autocfg: only add new AllowedIPs for new peers if they have not been added via peer discovery
  • 0b2a2f2 autocfg: prepare DetectMTU() to be aware of firewall mark
  • 316d244 build(deps): bump loader-utils from 2.0.2 to 2.0.4 in /website
  • a8f67be ci: use golangci-lint for linting
  • d95374c cleanups
  • d0fcce0 cmd: do not show usage on error
  • 3dbe1d9 cmd: use the same validArgs function for multiple sub-commands
  • 4e4faff compatability fixes for macOS
  • db43312 config: allow filtering relays by protocol and security
  • 1bce3b9 config: do not fail if we cant stat the current working directory
  • f4d0e0f config: throw error if configuration file is world-readable
  • c915d90 core: update peer settings only if required
  • d206e96 daemon: do not attempt to create existing devices
  • 9e4ef29 daemon: simplify feature registration
  • ba20ab7 device: add Flags() getter
  • 65a4303 device: add debug logging statements
  • 3644945 device: fix MTU getter for BSDs
  • 24c0c39 device: fix use of invalid member variable
  • df17d64 device: fix windows and freebsd builds
  • 89142cf device: harmonize variable names
  • df18641 device: improve compatability with BSDs
  • 7391bfc device: use run() wrapper everywhere
  • c913f9a disable freebsd builds as we dont have a FreeBSD CI runner
  • 5852243 do not use FQDN for hostname
  • 538400f epdisc: add NAT_TYPE_NONE
  • d118301 epdisc: be less verbose with logging
  • f674cdf epdisc: fix package comment
  • 396827b epdisc: fix return values of Pion ICE muxes
  • 0bcffd6 epdisc: fix wrong serialization of candidates related address
  • f39a300 epdisc: include relay protocol into protobuf candidate serialization
  • a5326a4 epdisc: perform retries on agent creation with exponential backoff
  • a9d68a8 epdisc: refactor Interface member of Peer struct
  • 3dbe051 epdisc: refactor protoepdisc -> epdiscproto
  • 3c05664 epdisc: reset state to closed if agent creation fails
  • 57978d2 fi staticcheck warnings
  • d6977f4 fix a bunch of unit tests
  • 1b9e621 fix calculation of reachability status
  • 06ffcfe fix codacy issues
  • d2b82e0 fix codacy issues
  • 7bf5411 fix codacy issues
  • cce8cac fix indention
  • b117f42 fix various small ToDos throughout the codebase
  • b947a8f ice: restructure file
  • f3bcd59 k8s: add missing error check
  • 81a3fe9 log: improve logging context for peers
  • bd09d97 log: use standard atomic package
  • 0d3ec32 make hostname configurable via command line parameter
  • 03de3b2 minor code refactoring
  • 0e75b6e more codacy fixes
  • 589b8c4 nat: fix libnftl comments
  • b3c901b pdisc: make sure that the private key is set
  • 2ea97f6 pdisc: properly update name and hosts of existing peers
  • 40ebe94 pdisc: verify that peer description matches sender
  • 2150548 proto: remove unused import
  • bcf3173 proto: show more ICE stats in status sub-command
  • 0d3f0c4 refactor: UpdateEndpoint() -> SetEndpoint()
  • e2c3053 remove obsolete TODO
  • e307dad rtsync: optimize initial sync and cross-platform support
  • 6b677bc scripts: highlight API response
  • 38d162c tidy-up go.mod
  • 1010a19 tweak comments
  • a3d8300 update Go dependencies
  • 8633330 update dependencies
  • 965a217 use pion/zapion module instead of our own Pion impl
  • 00eb6f9 util: rename CmpEndpoint() to CmpUDPAddr()
  • a895354 util: support more platforms for HasAdminPrivileges()
  • d0f0474 util: use effective user id on BSDs
  • 363510d wg: add support for detecting FreeBSD kernel support
  • 8560637 wg: allow AllowedIP values without CIDR suffix
  • f9bbbf1 wg: remove unused wg.DeviceList

v0.2.4

09 Oct 06:53
Compare
Choose a tag to compare

Changelog

  • d6f9ed0 ci: fix build of website
  • 8c7189a ci: fix working directory
  • 3619cb9 ci: re-enable 32-bit builds
  • deab91d remove auto-generated code and docs
  • c931fb8 update Go dependencies
  • 8618764 use patched version of pion/ice to fix compatability with BSDs
  • 8070c8e website: upgrade Yarn dependencies

v0.2.3

09 Oct 05:34
Compare
Choose a tag to compare

Changelog

  • f271e25 adapt autocfg and pdisc features to new configuration
  • 66361b4 add some code to set interface DNS servers
  • 12b3273 add some logic to detect MTU for tunnel interfaces
  • 4e91e76 aur: create directory for installing manpages
  • bd4d409 autocfg: remove unused handler
  • 6672ebf autocfg: show warning if no private key was set
  • e5d9b3b build for more architectures
  • 06299f9 cfgsync: move DNS configuration from core to cfgsync and add support for Systemd's resolvectl
  • 98bee66 cfgsync: set DNS search domain
  • eb57b4c cfgsync: start rewrite
  • 3221fad ci: add missing GitHub token for Homebrew Taps
  • e835c9a ci: build for go 1.19.2
  • ee0c987 ci: fix packaging of man pages
  • 2930458 ci: increase timeout
  • 6a0e19f ci: remove obsolete comment
  • 3bdbb54 ci: use dedicated PAT token for Homebrew Taps
  • 46ad72e cmd: adapt address sub-command to new prefix based address generation
  • 264604f cmd: add --mask option to addresses sub-command
  • 4fc288e cmd: add cunicu banner to the daemon output and usage info
  • 65149e4 cmd: improve argument completion
  • f2de945 cmd: initial version of invite sub-command
  • e5ad6b9 cmd: move reload sub-command to config.go
  • 458354f cmd: show peer name in status sub-command
  • 9a42107 cmd: use correct default output path for docs sub-command
  • f665c82 config: add RPC command to reload config
  • 631197e config: add koanf provider for wg/wg-quick configuration files
  • 230e4fc config: add more settings for configuring basic interface settings
  • 6b971b7 config: add new hostname setting and initialize it with system hostname by default
  • f171081 config: add new settings to documentation and example config file
  • 99623b3 config: add reload, watch and change detection logic
  • 1eba500 config: added DiffConfig() to detect changes in configuration
  • 8d96dea config: big rewrite and switch from viper to koanf
  • 568594a config: do not fail if WireGuard config directory does not exist
  • b0fffe6 config: fix serialization of stringable types
  • 9a052ef config: make host sync domain configurable
  • e0b52f8 config: move completions to main package
  • da521c8 config: only use ICE URLs for ICE candidate types which require them
  • 11ff735 config: refactored confmap koanf provider
  • 2ea6fd1 config: remove private_key setting for now
  • 5488849 config: rename --url argument to --ice-url
  • 43f7d4d config: simplify config structure
  • cca720d config: verify certificate for relay.cunicu.li
  • 941e58b core: be less verbose in logs
  • 83be452 crypto: add KeyPassphrase type to do automatic key derivation on unmarshaling
  • 0248253 crypto: fix Key.IPAddress() for IPv4 prefixes
  • 8960370 crypto: replace KDF PBKDF2 with Argon2id
  • 20cca26 daemon: add OnInterface handlers
  • 039c7a4 daemon: fix creation of interfaces passed via command line
  • b7dba86 daemon: keep more member fields private
  • b10c7f3 daemon: move more code from core.Interface to daemon.Interface
  • 92a7ad2 daemon: use per-interface features
  • 87ba710 defaults: use new relay service
  • 2be01be device: add MTU detection logic
  • ef9633c device: add gateway argument to AddRoute()
  • f343b8f device: add routing table lookup
  • f9c9ca5 device: fix signature of AddRoute() for other OS targets
  • 63c6fe5 device: pass net.IPNet by value rather than by reference
  • 458ce8f epdisc: recreate config on each restart
  • fec86a9 fix spelling of cunicu
  • c6cbae1 fix unit tests after config rewrite
  • e74a8ac hooks: adapt to new per-interface features
  • 2c4367d hsync: adapt to per-interface feature
  • f9d6702 hsync: add extra_hosts option
  • e88fe2a hsync: cleanup /etc/hosts on shutdown
  • 123d7d9 ice: move ice package back to top level package dir
  • 04b3e17 improve tests
  • 88b15d3 install goreleaser via make install-deps
  • 711fd37 k8s: move codegen script to scripts directory
  • d01c226 log: shorten logger names
  • db6294b make auto-generated address prefixes configurable
  • efb1828 minor refactorings
  • f6ee9a3 minor tweaks
  • 5801aaa pdisc: do not send peer description if key is not set
  • ffc1454 pdisc: fix exchange of peer names
  • 4ee2ca5 pdisc: fix invalid allowed ips serialization
  • 2817534 pdisc: merge black and whitelist into a single map
  • 817a79a properly format network prefix in log
  • 4c6a739 proto: refactor GetStatus method
  • 81bac85 re-enable 32-bit builds
  • 76d42e8 relay: add new subcommand to distribute STUN/TURN server credentials via gRPC
  • 06430c4 relay: fix generation of password
  • 6abf007 remove link-local wording
  • 2159eff remove obsolete code
  • 2df4c75 rpc: do not always unwait daemon
  • 9e7183e rtsync: add support for non-link-local routes
  • ad7c0bd scripts: adapt get_cunicu script to work with archives
  • 131e399 scripts: add newline at eof
  • 9100d1e scripts: check that GitHub token is set
  • ac65280 scripts: fix signing of drat releases
  • c1e1bf9 scripts: fix typo in sign_release
  • 7133d7b scripts: fix version check
  • d77bf9d selfupdate: move most code into selfupdate package and add missing tests
  • f189c4f terminal: add QRCode()
  • 70e437d terminal: refactor Color() to Mods() and add support for 8-bit colors
  • ed20e7b tests: --config-path is longer a command line argument
  • 7ddd299 tests: adapt tests to feature refactoring
  • 0d46012 tests: fix restart test
  • c9339fc util: add ContainsSlice and add missing unit tests
  • 6c073d0 util: add missing unit tests
  • a13fcb5 util: fix human formatting of bytes
  • eef7ac1 util: move IsATTY() to terminal package
  • 694ffd4 util: move const to util package
  • ef6fe44 util: pass values rather than references to CmpNet()
  • 908d046 util: rename slice functions
  • bc55374 website: add ExampleConfig component
  • 2b05203 website: added first blog post
  • d868d5a website: adjust colors and disable dark mode
  • 9a03e60 website: fix edit link
  • 8f0e495 website: update project description
  • b3358fe wg: add missing unit tests for comparing WireGuard peers & devices
  • e0c0991 wg: add unit tests for testing device configuration handling
  • 54788ec wg: output peer names to ini files

v0.2.2

07 Oct 16:05
Compare
Choose a tag to compare

Changelog

  • 7070cd6 Merge branch 'new-config' of github.com:stv0g/cunicu into new-config
  • 181f352 ci: fix packaging of man pages
  • 288d4b3 scripts: add newline at eof
  • bc2abbb scripts: check that GitHub token is set

v0.2.1

07 Oct 07:50
Compare
Choose a tag to compare

Changelog

  • 18179ea ci: add missing GitHub token for Homebrew Taps
  • 0b19297 ci: increase timeout
  • 59e068d ci: remove obsolete comment
  • c3f5058 scripts: fix signing of drat releases
  • 7657110 scripts: fix version check

v0.2.0

06 Oct 22:29
Compare
Choose a tag to compare

Changelog

  • d913cb1 adapt autocfg and pdisc features to new configuration
  • 0c1eec9 add some code to set interface DNS servers
  • 7dbc7cb add some logic to detect MTU for tunnel interfaces
  • a99a67f autocfg: remove unused handler
  • 92b4a50 autocfg: show warning if no private key was set
  • da25518 build for more architectures
  • 7c032b4 cfgsync: move DNS configuration from core to cfgsync and add support for Systemd's resolvectl
  • 7427cb4 cfgsync: set DNS search domain
  • da5ec23 cfgsync: start rewrite
  • 1c64d7f ci: build for go 1.19.2
  • c95c609 ci: use dedicated PAT token for Homebrew Taps
  • fb83a36 cmd: adapt address sub-command to new prefix based address generation
  • 34a0304 cmd: add --mask option to addresses sub-command
  • cdbf439 cmd: add cunicu banner to the daemon output and usage info
  • b520e05 cmd: initial version of invite sub-command
  • a1f0d62 cmd: move reload sub-command to config.go
  • 733dbbc cmd: show peer name in status sub-command
  • 211313a cmd: use correct default output path for docs sub-command
  • 7a145ad config: add RPC command to reload config
  • 4ffc64f config: add koanf provider for wg/wg-quick configuration files
  • 6481c78 config: add more settings for configuring basic interface settings
  • 89f7810 config: add new hostname setting and initialize it with system hostname by default
  • 07eb9dc config: add new settings to documentation and example config file
  • f778578 config: add reload, watch and change detection logic
  • 6adc793 config: added DiffConfig() to detect changes in configuration
  • 8920a9e config: big rewrite and switch from viper to koanf
  • aaade6b config: do not fail if WireGuard config directory does not exist
  • 963ecd3 config: fix serialization of stringable types
  • 735776d config: make host sync domain configurable
  • be24b84 config: move completions to main package
  • db4a6da config: only use ICE URLs for ICE candidate types which require them
  • 977b13c config: refactored confmap koanf provider
  • 1a5d397 config: remove private_key setting for now
  • 4c4d189 config: rename --url argument to --ice-url
  • 2e32625 config: simplify config structure
  • 692bb3d config: verify certificate for relay.cunicu.li
  • 2cdb2aa core: be less verbose in logs
  • 4b62e19 crypto: add KeyPassphrase type to do automatic key derivation on unmarshaling
  • 269367e crypto: fix Key.IPAddress() for IPv4 prefixes
  • 9eb9f89 crypto: replace KDF PBKDF2 with Argon2id
  • 9a87bd6 daemon: add OnInterface handlers
  • 49a157f daemon: fix creation of interfaces passed via command line
  • 1fec91d daemon: keep more member fields private
  • ab3dd32 daemon: move more code from core.Interface to daemon.Interface
  • 6fd9919 daemon: use per-interface features
  • 255a5fb defaults: use new relay service
  • 181f7ad device: add MTU detection logic
  • 1253ef4 device: add gateway argument to AddRoute()
  • 2c5aca1 device: add routing table lookup
  • f3e8d3e device: fix signature of AddRoute() for other OS targets
  • b1bd2af device: pass net.IPNet by value rather than by reference
  • bb91563 epdisc: recreate config on each restart
  • 5864d24 fix spelling of cunicu
  • df3a2ac fix unit tests after config rewrite
  • 5c14d2a hooks: adapt to new per-interface features
  • 150c96b hsync: adapt to per-interface feature
  • fd409b8 hsync: add extra_hosts option
  • 1fcc7e4 hsync: cleanup /etc/hosts on shutdown
  • 77784d3 ice: move ice package back to top level package dir
  • b26d71a improve tests
  • dd7040b install goreleaser via make install-deps
  • 6319abe k8s: move codegen script to scripts directory
  • 7f95488 log: shorten logger names
  • 4172c5c make auto-generated address prefixes configurable
  • 8ebc18b minor refactorings
  • e7a118d minor tweaks
  • b99a3e0 pdisc: do not send peer description if key is not set
  • 593f7e3 pdisc: fix exchange of peer names
  • 1fea711 pdisc: fix invalid allowed ips serialization
  • 9547e5b pdisc: merge black and whitelist into a single map
  • b669f8e properly format network prefix in log
  • c576ce0 proto: refactor GetStatus method
  • a146da6 re-enable 32-bit builds
  • 27642c0 relay: add new subcommand to distribute STUN/TURN server credentials via gRPC
  • c9c03ec relay: fix generation of password
  • b2240c5 remove link-local wording
  • 3076c36 remove obsolete code
  • 692132c rpc: do not always unwait daemon
  • 0b508d8 rtsync: add support for non-link-local routes
  • 4931790 scripts: adapt get_cunicu script to work with archives
  • 3011d2c scripts: fix typo in sign_release
  • 04f5d0d selfupdate: move most code into selfupdate package and add missing tests
  • 720a71f terminal: add QRCode()
  • fcac81a terminal: refactor Color() to Mods() and add support for 8-bit colors
  • 5f346c4 tests: --config-path is longer a command line argument
  • ad936c8 tests: adapt tests to feature refactoring
  • 685dd10 tests: fix restart test
  • 8d627f1 util: add ContainsSlice and add missing unit tests
  • c3f6f62 util: add missing unit tests
  • 1cb3e58 util: fix human formatting of bytes
  • 6e86044 util: move IsATTY() to terminal package
  • 39d92b8 util: move const to util package
  • 6e5ef94 util: pass values rather than references to CmpNet()
  • 89e7be6 util: rename slice functions
  • 997841c website: add ExampleConfig component
  • 2b05203 website: added first blog post
  • d868d5a website: adjust colors and disable dark mode
  • 9a03e60 website: fix edit link
  • 8f0e495 website: update project description
  • cc66136 wg: add missing unit tests for comparing WireGuard peers & devices
  • e585832 wg: add unit tests for testing device configuration handling
  • e336adc wg: output peer names to ini files