Rust Networking

Open-source Rust projects categorized as Networking

Top 23 Rust Networking Projects

  • tokio

    A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...

    Project mention: Recommendations on file/dir/module structure, common dependencies, and/or anti-patterns for writing CLI tool in Rust | reddit.com/r/rust | 2023-03-18

    The main focus of the CLI tool would be around working on filesystem, and also making several network requests simultaneously. Although some may argue it would be easier/faster writing in other languages, this is more for my own learning to write in Rust. It will be a simple toy project at first, but I'd like to prepare for more complex Rust programming in the future with it. For instance, I see different directory / file / module structures used, Rust version / edition differences here and there, some common dependencies such as Tokio, etc.

  • RustScan

    🤖 The Modern Port Scanner 🤖

    Project mention: I just can't get RustScan to work. constantly the same error messages with 2 different versions | reddit.com/r/Kalilinux | 2023-01-12

    Did you read https://github.com/RustScan/RustScan, find the link to https://github.com/RustScan/RustScan/wiki/Installation-Guide and came across "Docker is the recommended way of installing RustScan"?

  • InfluxDB

    Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.

  • Bandwhich

    Terminal bandwidth utilization tool

    Project mention: Faster and colourful Command-Line tools 🌈⚡ | dev.to | 2022-09-25

    bandwhich: A terminal bandwidth utilization tool. This CLI utility displays current network utilization by process, connection and remote IP/hostname.

  • bore

    🕳 bore is a simple CLI tool for making tunnels to localhost

    Project mention: Modern full-featured mail server for low-maintenance self-hosted email | news.ycombinator.com | 2023-02-23

    Wireguard itself can help you out with the task of forwarding traffic or creating an overlay network. There's also ngrok and tailscale for forwarding traffic and doing NAT traversal. Except for wireguard, these are commercial platforms, the open source alternatives I know of, are (respectively):

    - https://bore.pub && https://sslip.io

  • MIO

    Metal I/O library for Rust.

    Project mention: RFC: A non-blocking networking library for Rust | reddit.com/r/rust | 2023-01-14

    How does it compare to mio?

  • sniffnet

    Application to comfortably monitor your network traffic

    Project mention: Sniffnet: Open-source application developed in Rust to comfortably monitor your Network traffic | reddit.com/r/linux | 2023-03-22

    Sniffnet is an open-source application developed in Rust to analyse your Internet traffic with ease.

  • rust-libp2p

    The Rust Implementation of the libp2p networking stack.

    Project mention: Decentralized Databases: ComposeDB | dev.to | 2023-03-21

    ComposeDB is a graph database created by 3BoxLabs, a company well-known in the Web3 ecosystem for their work on decentralized identifiers (DIDs) and their main product the Ceramic network. Ceramic is a network of nodes that store and share composable data streams on top of libp2p, the network stack that also powers IPFS.

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • smol

    A small and fast async runtime for Rust

    Project mention: Tokio for FFI app? | reddit.com/r/rust | 2022-12-13

    There is also https://github.com/smol-rs/smol which has components which you can compose into your own executor if you still need async IO but your usage patterns don't fit into the general purpose ones that Tokio provides.

  • libpnet

    Cross-platform, low level networking using the Rust programming language.

    Project mention: tcpdump is amazing (2016) | news.ycombinator.com | 2023-02-02

    > I mentioned really briefly that tcpdump lets you save pcap files. This is awesome because literally every network analysis tool in the universe understands pcap files. pcap files are like freshly baked chocolate chip cookies. Everybody loves them.

    OMG, yes, very well put. When I get a bug report with a pcap file I know I'll be able to know exactly what happened.

    Speaking of which: for one of my libraries, I want to make a diagnostic tool that replays an interaction. My library mostly operates at the TCP level (also some UDP), so I need to reconstruct the TCP flows in my tool to feed to my library. Either I need an easy-to-use Rust library to do that directly from pcap files [1] or some format that represents bytes moving over the flow (like sets of lines with a timestamp, flow id, and pretty hexdump of the bytes) with a tool that produces it from pcap. This seems like something that should exist? Wireshark's “Analyze > Follow > TCP Stream”’s “Save As…” with "hex dump" is kind of what I want, but it doesn't have timestamps, and it doesn't have a way to put everything (multiple flows, UDP packets also) in one file.

    [1] https://crates.io/crates/pnet looks promising but it wasn't as obvious as I hoped how to plug it in for what I want.

  • shadow

    Shadow is a discrete-event network simulator that directly executes real application code, enabling you to simulate distributed systems with thousands of network-connected processes in realistic and scalable private network experiments using your laptop, desktop, or server running Linux. (by shadow)

    Project mention: Shadow Simulation Developer | reddit.com/r/TOR | 2023-03-02

    It is no longer active. If you are asking about Shadow, check out https://shadow.github.io

  • ntex

    framework for composable networking services

    Project mention: Benchmark of most widely used rust web frameworks | reddit.com/r/rust | 2022-07-16

    ntex

  • zenoh

    zenoh unifies data in motion, data in-use, data at rest and computations. It carefully blends traditional pub/sub with geo-distributed storages, queries and computations, while retaining a level of time and space efficiency that is well beyond any of the mainstream stacks.

    Project mention: Zenoh Performances | reddit.com/r/rust | 2023-03-27

    As some of you may already know, Zenoh is a pure rust pub/sub/query protocol that runs on pretty much anything (including microcontrollers) and abstracts, with a few simple primitives, pub/sub, distributed queries and distributed computations.

  • laminar

    A simple semi-reliable UDP protocol for multiplayer games

    Project mention: Choosing a networking library for my game | reddit.com/r/rust_gamedev | 2022-05-06

    enet - Golden standard, tested and reliable - Not native rust - Does not seem to be popular in rust turbulence - Readme says it is not stable, but last meaningful commit was 1 year ago - Lacking documentation and examples - Not very popular laminar - Last meaningful release was 3 years ago (ignoring changes that fix typos etc.) - Despite this, everywhere (book, readme) there are mentions that it is under "active development" - Created for Amethyst, which is dead. I am kinda fearful that the same thing will happen to this lib. Tachyon - New and not tested in the battle - Many features that other libraries have planned, Tachyon actually has implemented - Lacking documentation (except for one big readme file), tests, examples Quinn - Big, under active development (daily commits), very popular because web development. - Modular, ability to just use core implemetation: quinn-proto - Do i really need TLS certificates and cryptography for my playing with friends game server? - Stream based, I would need to implement recv/send messages on top of it (not that hard tbh) - Only reliable stream and "unreliable" messages.

  • actix-net

    A collection of lower-level libraries for composable network services.

  • aquatic

    High-performance open BitTorrent tracker (UDP, HTTP, WebTorrent)

    Project mention: aquatic_udp (UDP BitTorrent tracker) performance improvements: up to 2.25 million responses per second | reddit.com/r/rust | 2023-01-11

    I've done a new round of benchmarking of open UDP BitTorrent tracker implementations. Results were great for aquatic_udp, achieving double the throughput of opentracker when running on 8 CPU cores:

  • distant

    🚧 (Alpha stage software) Library and tooling that supports remote filesystem and process operations. 🚧

    Project mention: Any recommendations for operating system authentication libraries? | reddit.com/r/rust | 2022-11-29

    The reason being is that I've written a service called distant with a companion neovim plugin, distant.nvim, and want to provide forms of authentication in the same vein as ssh.

  • ggrs

    GGRS is a reimagination of GGPO, enabling P2P rollback networking in Rust. Rollback to the future!

    Project mention: "Counter-Strike 2: Moving Beyond Tick Rate" | reddit.com/r/gamedev | 2023-03-23

    https://www.gafferongames.com/ (excellent blog) https://github.com/gschup/ggrs (implementation of pvp rollback net code for fighting style games) https://en.m.wikipedia.org/wiki/Dead_reckoning https://en.m.wikipedia.org/wiki/Kalman_filter

  • bevy_quinnet

    A Client/Server game networking plugin using QUIC, for the Bevy game engine.

    Project mention: durian - a high-level general purpose client/server networking library | reddit.com/r/rust_gamedev | 2022-12-07

    i've been using bevy_quinnet for my personal networking needs and loving it, and this is also built on top of quinn/QUIC so i'm starring :)

  • qscan

    Quick network scanner library. https://crates.io/crates/qscan

    Project mention: Asynchronous TCP connect and ping network scanner | reddit.com/r/rust | 2022-06-14
  • bootleg_networking

    A cross platform (wasm included) networking library!

  • ngrok-rs

    Embed ngrok secure ingress into your Rust apps with a single line of code.

    Project mention: What's everyone working on this week (12/2023)? | reddit.com/r/rust | 2023-03-20

    I've been working on a rust-native implementation of our agent protocol here at ngrok. It's something I've been wanting to do for a long time (since I started working here really), and I'm excited for it to be nearly "launch-ready"! It's already public on GitHub or crates.io, but we should be making some sort of "real" announcement Soontm. Feedback is welcome and appreciated!

  • tunneler

    Tunnel TCP or UDP traffic over TCP, (mutual) TLS or DNS (authoritative server or direct connection), implemented in Rust

  • rust-cardano-ouroboros-network

    Rust implementation of networking layer for the Ouroboros blockchain protocol using Tokio framework.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-03-27.

Rust Networking related posts

Index

What are some of the best open-source Networking projects in Rust? This list will help you:

Project Stars
1 tokio 19,836
2 RustScan 9,536
3 Bandwhich 7,740
4 bore 6,496
5 MIO 5,392
6 sniffnet 3,467
7 rust-libp2p 3,194
8 smol 2,757
9 libpnet 1,856
10 shadow 1,179
11 ntex 1,179
12 zenoh 749
13 laminar 727
14 actix-net 604
15 aquatic 360
16 distant 335
17 ggrs 321
18 bevy_quinnet 82
19 qscan 55
20 bootleg_networking 54
21 ngrok-rs 53
22 tunneler 42
23 rust-cardano-ouroboros-network 37
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com