Grayscale photograph of an empty tunnel

Today, we are excited to announce the release of drasyl 0.6.0 with support for Netty channel handlers, backpressure mechanism, option to disable data plane encryption, file transfer for wormhole utility, and port tunneling 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.
  • New Javadoc website: https://api.drasyl.org/

Added

  • Netty based channels are now used to process all overlay network I/O operations. This change allows you to use/add many netty handlers with the drasyl overlay.
  • DrasylNode#resolve(...) will now return a dedicated Channel for communication with the given peer.
  • The above mentioned Channel comes with a backpressure mechanism (Channel#isWritable/Channel#bytesBeforeWritable /Channel#bytesBeforeUnwritable) allowing the application to control how fast traffic is written to the overlay.
  • The encryption of overlay management messages and application messages can now be disabled separately in the config (drasyl.remote.message.arm.protocol.enabled /drasyl.remote.message.arm.application.enabled).
  • CLI: wormhole sub-command is now able to send files as well.
  • CLI: tunnel sub-command added.

Changed

  • The classes DrasylNode, DrasylConfig, DrasylException, all Events has been moved to the Maven module org.drasyl:drasyl-node and java packages org.drasyl.node.*.
  • Dependencies have been updated.
  • The monitoring feature was outdated/mostly unusable and has therefore been removed.
  • Replaced protobuf with own message serialization allowing us to reduce the overlay overhead.

Fixed

  • Overwhelming application traffic will no longer cause the node to drop out of the overlay.

Port Tunneling Utility

The CLI has been extended by the tunnel utility. This utility allows (local) TCP ports to be exposed to other computers over the drasyl network.


Photo by Pixabay on Pexels