#network-manager #linux-networking #zbus #networking #network-communication

rusty_network_manager

A crate for interacting with network_manager using zbus

4 releases

0.5.3 Oct 8, 2024
0.5.2 Aug 2, 2024
0.5.1 Apr 18, 2024
0.5.0 Apr 17, 2024

#1146 in Network programming

Download history 136/week @ 2024-07-29 7/week @ 2024-08-05 31/week @ 2024-09-16 36/week @ 2024-09-23 44/week @ 2024-09-30 210/week @ 2024-10-07 10/week @ 2024-10-14 2/week @ 2024-10-21

269 downloads per month

MIT license

125KB
2.5K SLoC

Rust NetworkManager Project

This project demonstrates how to use zbus for D-Bus communication in Rust, specifically for interacting with NetworkManager. It provides a set of examples and utility functions to manage network connections, devices, and settings through NetworkManager's D-Bus API.

Introduction

NetworkManager is a daemon for simplifying networking configuration on Linux systems. zbus is a Rust crate that offers an idiomatic way of interacting with D-Bus services. By leveraging zbus, this project aims to provide Rust developers with an easy-to-use interface for managing network configurations through NetworkManager.

Prerequisites

Before you can use this project, ensure you have the following installed:

  • Rust and Cargo (latest stable version recommended)
  • NetworkManager on your Linux distribution
  • zbus

Installation

To use this project, follow these steps:

  1. Clone the repository:

    git clone https://github.com/kevinvoell/network_manager.git
    
  2. Change into the project directory:

    cd network_manager
    
  3. Build the project:

    cargo build
    

Usage

This section provides basic examples of how to use the project to interact with NetworkManager through zbus.

Contributing

We welcome contributions! Please open an issue or submit a pull request for any improvements, bug fixes, or feature additions. Follow the Rust Code of Conduct in all interactions within the project.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Dependencies

~8–18MB
~273K SLoC