Skip to content

rust-swifties/net-tools-rs

net-tools-rs

CI Status Crate License: GPL-2.0-or-later Compliance Tests

A memory-safe, Rust implementation of the classic Linux net-tools networking utilities.

net-tools has been the foundation of Linux networking administration for decades, providing essential utilities like ifconfig, route, netstat, and others. This project reimplements these tools in Rust, bringing memory safety and modern development practices to these critical system utilities.


Goals

net-tools-rs aims to be a drop-in replacement for the original net-tools for common use cases, leveraging Rust's memory safety guarantees to prevent entire classes of vulnerabilities present in C implementations. The project emphasizes modern development practices with comprehensive testing, including compliance tests against the original implementation. We strive to build an active contributor base and welcoming community around maintaining these fundamental Linux networking utilities.

See issue #3 for detailed implementation status on individual command flags and features.

Installation

Currently, net-tools-rs can be installed from crates.io or built from source. We aim to package it for various Linux distributions in the future.

From crates.io

cargo install net-tools-rs

From Source

git clone https://github.com/rust-swifties/net-tools-rs
cd net-tools-rs
cargo build --release

The compiled binaries will be available in target/release/.

Compliance Testing

We maintain comprehensive compliance tests to ensure net-tools-rs behaves identically to the original net-tools implementation. See compliance-tests/README.md for detailed testing documentation.

Contributing

We welcome contributions! Please see CONTRIBUTING.md for details on how to get started, development setup, and our code quality standards.

License

This project is licensed under the GNU General Public License v2.0 or later (GPL-2.0-or-later).

This matches the licensing of the original net-tools project, ensuring compatibility and legal compliance.

About

Rust implementation of net-tools

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published