vault / yggdrasil-go / v0.5.0
yggdrasil-go @ v0.5.0
integrity
- size
- 145.4 KiB
- downloaded
- last checked
- overlays
- go
- detected
- go module github.com/yggdrasil-network/yggdrasil-go
release notes
NOTE: If you are using the Debian package and upgrading an existing installation, you may need to update your AdminListen line in your configuration file to unix:///var/run/yggdrasil/yggdrasil.sock or delete the AdminListen line altogether.
Added
- Authenticated peering handshake with optional password, i.e.
- For listeners:
tls://[::]:12345?password=123456abcdef - For peers:
tls://a.b.c.d:12345?password=123456abcdef - For multicast interfaces with the new
Passwordoption in eachMulticastInterfacessection - Maximum password length is 64 characters
- For listeners:
- QUIC support for peerings, by using the new
quic://scheme inListenandPeers- This has not been extensively tested and may perform worse than TCP or TLS peers
- The private key can now be stored in PEM format separately to the main configuration file with the new
PrivateKeyPathconfiguration file option- Use the
-exportkeyflag to export the key to a file from an existing config
- Use the
Changed
- New routing scheme, which is backwards incompatible with previous versions of Yggdrasil
- The wire protocol version number, exchanged as part of the peer setup handshake, has been increased to 0.5
- Nodes running this new version will not be able to peer with earlier versions of Yggdrasil
- A DHT is no longer used to map public keys and routes through treespace
- Bloom filters are used to track on-tree links and nodes reachable via that link
- Nodes now gossip separate per-link information which is tracked in CRDT structures, forcing local consistency and preventing unnecessary flapping when a route to the root node has changed or is broken
- Greedy routing is once again used instead of source routing
- Per-link keepalives have been replaced with periodic acknowledgements, reducing idle bandwidth
- The link handshake and multicast beacon formats have been revised for better future extensibility
- The link code has been refactored for more robust tracking of peering states
- As a result, the admin socket is now able to report information about configured peerings that are down
- Reconnect intervals are now tracked separately for each configured peer with exponential backoffs
Removed
- Yggdrasil will no longer request BBR congestion control for TCP and TLS peerings on Linux
download
unix · zip
curl -fL -o v0.5.0.zip https://ratatoskr.space/pkg/yggdrasil-go/v0.5.0.zip
printf '%s %s\n' '26dd0b98abd20288f14fca3b27f1a8c0bb036e675d3e4f79317db539cea43015' 'v0.5.0.zip' | sha256sum -c -
windows · zip
$url = "https://ratatoskr.space/pkg/yggdrasil-go/v0.5.0.zip"
$out = "v0.5.0.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "26dd0b98abd20288f14fca3b27f1a8c0bb036e675d3e4f79317db539cea43015") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v0.5.0.tar.gz https://ratatoskr.space/pkg/yggdrasil-go/v0.5.0.tar.gz
printf '%s %s\n' '4d54a52d335c4f1e5c1f42d8de1792e24b25f63c4951298637422836311ab212' 'v0.5.0.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "https://ratatoskr.space/pkg/yggdrasil-go/v0.5.0.tar.gz"
$out = "v0.5.0.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "4d54a52d335c4f1e5c1f42d8de1792e24b25f63c4951298637422836311ab212") { throw "sha256 mismatch" }
download via yggdrasil mesh
unix · zip
curl -fL -o v0.5.0.zip http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/yggdrasil-go/v0.5.0.zip
printf '%s %s\n' '26dd0b98abd20288f14fca3b27f1a8c0bb036e675d3e4f79317db539cea43015' 'v0.5.0.zip' | sha256sum -c -
windows · zip
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/yggdrasil-go/v0.5.0.zip"
$out = "v0.5.0.zip"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "26dd0b98abd20288f14fca3b27f1a8c0bb036e675d3e4f79317db539cea43015") { throw "sha256 mismatch" }
unix · tar.gz
curl -fL -o v0.5.0.tar.gz http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/yggdrasil-go/v0.5.0.tar.gz
printf '%s %s\n' '4d54a52d335c4f1e5c1f42d8de1792e24b25f63c4951298637422836311ab212' 'v0.5.0.tar.gz' | sha256sum -c -
windows · tar.gz
$url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/yggdrasil-go/v0.5.0.tar.gz"
$out = "v0.5.0.tar.gz"
Invoke-WebRequest -Uri $url -OutFile $out
if ((Get-FileHash $out -Algorithm SHA256).Hash.ToLowerInvariant() -ne "4d54a52d335c4f1e5c1f42d8de1792e24b25f63c4951298637422836311ab212") { throw "sha256 mismatch" }
| artifact | format | size | hashes |
|---|---|---|---|
| v0.5.0.zip | zip | 143.1 KiB |
blake3-24 49fed4e9ce299f9b0d1766a5cccfe64f1ad34c5cfaebca05
sha256 26dd0b98abd20288f14fca3b27f1a8c0bb036e675d3e4f79317db539cea43015
sha1 a201161772322fe58a25e5d87ecea05e2ad90c6b
|
| v0.5.0.tar.gz | tar.gz | 100.4 KiB |
blake3-24 501e40d10cd38d59497325081e5f528cd91fbce757abc3de
sha256 4d54a52d335c4f1e5c1f42d8de1792e24b25f63c4951298637422836311ab212
sha1 755a9e4279ee18ebeb801b0e16a747bda874d676
|
go module archive
module zip with the module path rewritten to this mirror; fetched by go get through the
GOPROXY route
| artifact | format | size | hashes |
|---|---|---|---|
| v0.5.0.zip | zip | 145.7 KiB |
blake3-24 09544a27fa01b4fb871443a59dcb088e3ddd273cd5a7058b
sha256 8b0f8f2a0b259f4f9ae5c5751605edc0514ca41bc6c30b7c7f02a0ad55243985
sha1 bfa5dd216aa07e4c134007ad85595128ad7eccc8
|
install
bazel
http_archive(
name = "yggdrasil-go",
urls = ["https://ratatoskr.space/pkg/yggdrasil-go/v0.5.0.tar.gz"],
integrity = "sha256-TVSlLTNcTx5cH0LY3heS4ksl9jxJUSmGN0IoNjEashI=",
strip_prefix = "yggdrasil-go-v0.5.0",
)
zig
.url = "https://ratatoskr.space/pkg/yggdrasil-go/v0.5.0.tar.gz",
go
GOPROXY=https://ratatoskr.space GOSUMDB=off go get ratatoskr.space/pkg/yggdrasil-go@v0.5.0
install via yggdrasil mesh
bazel
http_archive(
name = "yggdrasil-go",
urls = ["http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/yggdrasil-go/v0.5.0.tar.gz"],
integrity = "sha256-TVSlLTNcTx5cH0LY3heS4ksl9jxJUSmGN0IoNjEashI=",
strip_prefix = "yggdrasil-go-v0.5.0",
)
zig
.url = "http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/yggdrasil-go/v0.5.0.tar.gz",
go
GOPROXY=http://14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg GOSUMDB=off GOINSECURE=14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/* go get 14cc7d57b5e70f679b851fe5b272ce17c70632ff4beb5b35ab64bc706b2485af.pk.ygg/pkg/yggdrasil-go@v0.5.0