Windows Firewall ================== ![Crates.io](https://img.shields.io/crates/v/winfw) [![Documentation](https://docs.rs/winfw/badge.svg)](https://docs.rs/winfw) ![Crates.io](https://img.shields.io/crates/l/winfw) Interact with the Windows Firewall from Rust. Bindings for Windows Firewall, with clean & simple API for use with Rust. This crate can perform the following: - Enumerate the Windows firewall rules - Add/Create a new Windows firewall rule - Delete an existing Windows firewall rule - Disable an existing Windows firewall rule ### Usage Cargo.toml: ```toml [target.'cfg(windows)'.dependencies] winfw = "0.1.8" ``` main.rs: ```rust use winfw::get_fw_rules; fn main() { // enumerating fw rules let rules = get_fw_rules(); match rules { Err(rules) => println!("Error: {}", rules), Ok(rules) => { for rule in rules.iter() { println!("{}", rule); } } } } ``` ### running the example - Show/list all configured firewall rules ```bash cargo run --example list_all_rules ``` - Add a new firewall rule ```bash cargo run --example add_new_rule ``` - Delete a firewall rule ```bash cargo run --example del_rule ``` - Disable a firewall rule ```bash cargo run --example disable_rule ``` ### Requirements - Rust 1.50+ - VS 2019 community edition --- License: MIT/Apache 2.0