https://github.com/marirs/winfw-rs
Bindings for Windows Firewall from Rust
https://github.com/marirs/winfw-rs
bindings ffi ffi-bindings firewall rust rust-crate rust-lang rust-library windows
Last synced: 12 months ago
JSON representation
Bindings for Windows Firewall from Rust
- Host: GitHub
- URL: https://github.com/marirs/winfw-rs
- Owner: marirs
- License: apache-2.0
- Created: 2021-06-04T12:00:47.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2022-11-27T11:00:22.000Z (over 3 years ago)
- Last Synced: 2025-06-25T06:07:26.256Z (about 1 year ago)
- Topics: bindings, ffi, ffi-bindings, firewall, rust, rust-crate, rust-lang, rust-library, windows
- Language: C++
- Homepage:
- Size: 75.2 KB
- Stars: 18
- Watchers: 1
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
Windows Firewall
==================

[](https://docs.rs/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