SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 Rust Networking Projects
-
tokio
A runtime for writing reliable asynchronous applications with Rust. Provides I/O, networking, scheduling, timers, ...
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
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)
-
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.
-
distant
🚧 (Alpha stage software) Library and tooling that supports remote filesystem and process operations. 🚧
-
ggrs
GGRS is a reimagination of GGPO, enabling P2P rollback networking in Rust. Rollback to the future!
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Being able to control nondeterminism is particularly useful for testing and debugging. This allows creating reproducible test environments, as well as discrete-event simulation for faster-than-real-time simulation of time delays. For example, Cardano uses a simulation environment for the IO monad that closely follows core Haskell packages; Sui has a simulator based on madsim that provides an API-compatible replacement for the Tokio runtime and intercepts various POSIX API calls in order to enforce determinism. Both allow running the same code in production as in the simulator for testing.
Sniffnet is an open source, Rust-based network monitoring tool I’ve been working on for almost two years now.
Project mention: Bandwhich: A CLI utility for displaying current network utilizations | news.ycombinator.com | 2023-09-20
Project mention: I have an extra pi4 I’m mailing to my parents to create a cloud drive for their home since they’re privacy sensitive. What’s the easiest way to make the pi read/writeable from their iPhones at home? | /r/selfhosted | 2023-12-09Could look into pre-configuring something like https://github.com/ekzhang/bore
Was playing around with mio (https://github.com/tokio-rs/mio) (not that mio itself is very important here!) and was trying to implement a simple something that I've done in java before: a Reactor that you can register ReactorClients with that will get callback whenever there are events on the corresponding socket etc.
Substrate and Lighthouse use libp2p as a networking stack for communication between nodes. The libp2p framework is a versatile modular peer-to-peer networking stack. It provides a collections of abstractions, mechanisms, and protocols for facilitating communication in P2P systems. In particular, libp2p supports multiple transport mechanisms (TCP, QUIC, WebSocket, WebTransport, etc.), encryption schemes (TLS and Noise), and stream multiplexing. Higher-level protocols in libp2p are implemented on top of reliable, ordered, bidirectional binary streams, which are transparently encrypted and multiplexed by the framework.
My understanding is you always need a runtime, somethings needs to drive the async flow. But there are others on the market, just not without the.. market domination... of tokio.
https://github.com/smol-rs/smol looks promising simply for being minimal
https://github.com/bytedance/monoio looks potentially easier to work with than tokio
https://github.com/DataDog/glommio is built around linux io_uring and seems somewhat promising for performance reasons.
I haven't played with any of these yet, because Tokio is unfortunately the path of least resistance. And a bit viral in how it's infected tings.
Project mention: Apnic: Cgnat is harming internet innovation (2022) | news.ycombinator.com | 2024-04-26[3] https://github.com/fujiapple852/trippy/issues/1104
Hey, I'm looking for the best way to do packet capture in Rust. I've looked at both libpnet and pcap crates, and they both seem way less mature and with less functionality than the PcapPlusPlus library, which seems to be the golden suite of packet capture and manipulation.
Project mention: Turmoil, a framework for developing and testing distributed systems | news.ycombinator.com | 2023-08-17Cool, will be interested to see how this develops! tokio's loom framework has been a big help in testing some tricky concurrency code I've worked on.
Folks interested in this space might also be interested in the system I spend most of my time working on: Shadow. It also performs deterministic simulation of a network of hosts, but it intercepts network and system interactions at the syscall level via seccomp. As such it can work with binaries compiled from ~any language, usually without any code modification or special compilation. https://shadow.github.io/
Kubernetes (sorta) https://github.com/nxthat/nanocl It's still in early stages rn but always looking for more contributors!
Project mention: Bitmagnet Allows People to Run Their Own Decentralized Torrent Indexer Locally | news.ycombinator.com | 2024-02-18How does Bitmagnet compare to Aquatic? https://github.com/greatest-ape/aquatic
Project mention: Test hanging forever after the end of the test function | /r/learnrust | 2023-07-08For those curious, I’m working on fixing issue #19 in popol.
Rust Networking related posts
- Zenoh: Zero Overhead Network Protocol
- Sniffnet 1.3 released!
- Bifrost: A peer-to-peer communications engine with pluggable transports
- What's the canonical way of doing it in rust?
- netcrab: a networking tool
- Thread-per-Core
- Eclipse Zenoh 0.10.0 is out
-
A note from our sponsor - SaaSHub
www.saashub.com | 27 Apr 2024
Index
What are some of the best open-source Networking projects in Rust? This list will help you:
Project | Stars | |
---|---|---|
1 | tokio | 24,677 |
2 | sniffnet | 13,759 |
3 | RustScan | 12,178 |
4 | Bandwhich | 8,657 |
5 | bore | 7,994 |
6 | MIO | 6,064 |
7 | rust-libp2p | 4,152 |
8 | smol | 3,414 |
9 | trippy | 3,003 |
10 | libpnet | 2,170 |
11 | ntex | 1,745 |
12 | shadow | 1,348 |
13 | zenoh | 1,243 |
14 | laminar | 796 |
15 | actix-net | 679 |
16 | nanocl | 605 |
17 | distant | 530 |
18 | ggrs | 482 |
19 | aquatic | 452 |
20 | ngrok-rust | 283 |
21 | bevy_quinnet | 193 |
22 | popol | 158 |
23 | Citadel-Protocol | 127 |
Sponsored