33 releases (15 breaking)

0.16.0 Jul 14, 2024
0.14.0 Mar 26, 2024
0.12.0 Nov 11, 2023
0.9.0 Jul 5, 2023
0.2.1 Dec 15, 2022

#1841 in Network programming

Apache-2.0

470KB
9K SLoC

Utilities for working with Aggligator

crates.io page docs.rs page Apache 2.0 license

This crate provides utility functions and command line tools for working with the Aggligator link aggregator.

It provides the following functionality:

  • functions for establishing a connection consisting of aggregated TCP, Bluetooth RFCOMM links, USB and WebSocket links,
  • optional TLS link authentication and encryption,
  • a text-based, interactive connection and link montor,
  • a speed test.

The following command line tools are included:

  • agg-speed — performs a speed test over a connection of aggregated TCP links,
  • agg-tunnel — forwards arbitrary TCP ports over a connection of aggregated TCP links.

Both tools display a text-based, interactive connection and link monitor.

Features

The following crate features enable transports:

  • tcp - TCP transport,
  • rfcomm - Bluetooth RFCOMM transport (Linux-only),
  • rfcomm-profile - Bluetooth RFCOMM transport using profiles for connecting (Linux-only),
  • usb-host - host-side USB transport,
  • usb-device - device-side USB transport,
  • websocket - WebSocket transport.

The following crate features enable link wrappers:

  • tls - TLS encryption.

The following crate features enable additional functionality:

  • monitor — enables the text-based, interactive connection and link monitor,
  • speed — enables speed test functions,
  • dump — enables saving of analysis data to disk.

Installing the command line tools

Run the following command to install the command line tools:

cargo install aggligator-util

Minimum supported Rust version

The minimum supported Rust version (MSRV) is 1.75.

License

Aggligator is licensed under the Apache 2.0 license.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in Aggligator by you, shall be licensed as Apache 2.0, without any additional terms or conditions.

Dependencies

~6–22MB
~342K SLoC