Today, we are excited to announce the release of drasyl 0.7.0 with TUN device support, faster UDP hole punching, IP broadcast-based peer discovery, and identity generation utility.
Changelog
Upgrade Notes
- We did it again: The overlay protocol has been changed with breaking changes making it impossible to communicate with peers running older drasyl versions.
- This version is introduces a new identity file format, every node will recreate a new identity on
first start. If you would like to reuse your pre-existing identity, you have to migrate the file
format by yourself. Asume you have the current file
drasyl.identity.json
:
{
"proofOfWork" : -2144920491,
"identityKeyPair" : {
"publicKey" : "feb2fa8a69e2a59ce7586349b8e8a44610d902ef2a30b1a46ebc5ff989813033",
"secretKey" : "d716fdc9a164bea60a179eacf868416695ad8757035d0d83abd5a2b362bfa221feb2fa8a69e2a59ce7586349b8e8a44610d902ef2a30b1a46ebc5ff989813033"
},
"keyAgreementKeyPair" : {
"publicKey" : "62c201382e37a50c3ed20f15ccb5ba970a264a2765f8f8c6f8e1c27b2454ca34",
"secretKey" : "105672a9d44c3be1ba4b777f0c7d6cf711fb73defd404db7644f546ea71f0f5d"
}
}
Then you need to create a new file drasyl.identity
with the following format:
[Identity]
SecretKey = d716fdc9a164bea60a179eacf868416695ad8757035d0d83abd5a2b362bfa221feb2fa8a69e2a59ce7586349b8e8a44610d902ef2a30b1a46ebc5ff989813033
ProofOfWork = -2144920491
Added
- CLI:
generate-identity
sub-command added. - CLI:
generate-pow
sub-command added. - CLI:
tun
sub-command added. - CLI:
generate-completion
sub-command added. - CLI:
--no-protocol-arming
option added. - Broadcast-based LAN Discovery added. Can be used programatically. More information: https://git.informatik.uni-hamburg.de/sane-public/drasyl/-/merge_requests/680
Changed
- Dependencies have been updated.
- Speed up direct connection establishment when traversing symmetrics NATs.
- Switch to more compact (INI-formatted) identity file format.
- CLI:
perf client
’s--mps
option default value has changed to0
. This causes the client to send messages as quickly as possible. to send messages as fast as possible.
Fixed
- Fix endless identity creation, when none of the available nonces result in a valid identity.
- Fix IP multicast discovery for IPv6-only environments.
- Fix SSDP discovery for IPv6-only environments.
- Stop sending IP multicast messages to super peers when node is running in TCP-fallback mode.
- Fix problem with
null
message when usingBehavioralDrasylNode
.
TUN Device Support
The CLI has been extended by the so-called tun utility. This is a very cool feature: The utility creates a virtual local network interface on your computer, corresponding IP address, netmask, and routing table. With this interface, any computers on the Internet can be tied into one virtual network, where any-to-any communication is possible. All IP-based programs will work without any customization! Currently, Linux, macOS, and Windows are supported.
Photo by Clint Adair on Unsplash
Related Posts
- drasyl 0.6.0 released with Support for Netty Handlers, Backpressure Mechanism, and Tunnel Utility
- drasyl 0.4.0 released with UDP Hole Punching, Message Chunking, and Bandwidth Measurement Utility
- drasyl 0.2.0 released with Plugin Support, Message Marshaling, and a Wormhole!
- drasyl 0.5.0 released with E2E Encryption, LAN Discovery, and TCP Fallback
- For our Windows User(s): Install drasyl CLI via Chocolatey