winfw 0.1.8

Interact with the Windows Firewall from Rust
Documentation
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