NetworkManager bindings for Rust (fork)
Fork by @passcod to rewrite a few APIs to be more ergonomic.
NetworkManager bindings for Rust using the D-Bus message bus system
Status
This project is still under development. Currently implemented parts can be found in the docs.
- NetworkManager D-Bus API >= v1.42.2
Usage
Add networkmanager to your Cargo.toml
with:
[]
= { = "passcod-networkmanager", = "0.5.0" }
Example
use ;
use ;
Build prerequisites
-
Debian and its derivatives (e.g. Ubuntu)
- network-manager
- libdbus-1-dev
- pkg-config
-
Fedora
- NetworkManager
- dbus-devel
- pkg-config
Todo
- Implementations
- Devices
- Any
- Generic
- Wireless
- Wired
- ADSL
- Bluetooth
- Bond
- Bridge
- Dummy
- Infiniband
- IpTunnel
- Lowpan
- Macsec
- MacVLAN
- Modem
- OLPCMesh
- OVSBridge
- OVSInterface
- OVSPort
- PPP
- Statistics
- Team
- TUN/TAP
- VETH
- VLAN
- VRF
- VXLAN
- WifiP2P
- WiMax
- Wireguard
- Wpan
- Configs
- IP4
- IP6
- DHCP4
- DHCP6
- Accesspoint
- ConnectionActive
- NetworkManager (partially implemented)
- AgentManager
- Checkpoint
- DNSManager
- PPP
- SecretAgent
- Settings
- Settings Connection
- VPN Connection
- VPN Plugin
- WifiP2P
- Wimax NSP
- Devices
- General
- [ ] Improve Error handling
- dbus::arg::Variants conversion
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.