#firewall #windows #winapi #com #ffi

sys winfw

使用 Rust 与 Windows 防火墙交互

8 个版本

0.1.8 2022 年 11 月 27 日
0.1.7 2022 年 11 月 27 日
0.1.6 2022 年 8 月 5 日
0.1.5 2022 年 7 月 5 日
0.1.1 2021 年 6 月 19 日

Windows API 中排名 #65

Download history 36/week @ 2024-03-13 54/week @ 2024-03-20 32/week @ 2024-03-27 170/week @ 2024-04-03 186/week @ 2024-04-10 171/week @ 2024-04-17 255/week @ 2024-04-24 210/week @ 2024-05-01 107/week @ 2024-05-08 109/week @ 2024-05-15 81/week @ 2024-05-22 156/week @ 2024-05-29 199/week @ 2024-06-05 119/week @ 2024-06-12 147/week @ 2024-06-19 118/week @ 2024-06-26

每月下载量 600

MIT/Apache 许可

36KB
879 行(不包括注释)

Windows 防火墙

Crates.io Documentation Crates.io

从 Rust 与 Windows 防火墙交互。为 Windows 防火墙提供绑定,具有干净简单的 API 用于 Rust。

此包可以执行以下操作

  • 枚举 Windows 防火墙规则
  • 添加/创建新的 Windows 防火墙规则
  • 删除现有的 Windows 防火墙规则
  • 禁用现有的 Windows 防火墙规则

使用方法

Cargo.toml

[target.'cfg(windows)'.dependencies]
winfw = "0.1.8"

main.rs

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);
            }
        }
    }
}

运行示例

  • 显示/列出所有配置的防火墙规则
cargo run --example list_all_rules
  • 添加新的防火墙规则
cargo run --example add_new_rule
  • 删除防火墙规则
cargo run --example del_rule
  • 禁用防火墙规则
cargo run --example disable_rule

要求

  • Rust 1.50+
  • VS 2019 社区版

许可证:MIT/Apache 2.0

依赖项

~0.4–1.2MB
~28K SLoC