#profile #pure #ufw

ufwprofile

纯Rust编写的UFW应用程序配置文件

10个版本 (4个稳定版本)

1.4.7 2023年12月30日
1.4.5 2023年1月19日
0.2.4 2023年1月16日
0.1.2 2023年1月16日

150操作系统 中排名

每月下载量 24

MIT 许可证

16KB
253 代码行

Visitor Badge Crates Badge Crates Downloads

关于项目

纯Rust编写的UFW应用程序配置文件。

实现

ufwprofile = "" #check latest version above

或者

cargo add ufwprofile

示例

fn main() -> anyhow::Result<()> {
    if ufwprofile::UFWConf::check_write_permission() {
        //checks if ufw exists and the path /etc/ufw/applications.d is writable
        let conf = ufwprofile::UFWConf::init("AppName", "Title", "Description")?
            .append_ports("80", "")?
            .append_ports("81:82", "tcp")?
            .append_ports("84", "udp")?
            .append_ports("83", "")?
            .append_ports("8000", "tcp")?;

        if ufwprofile::UFWConf::is_root() {
            // check if the app has root permission.
            println!("{}", conf.try_adding_to_ufw(true).unwrap());
        } else {
            println!("{}", conf.try_write_with_sudo(true).unwrap());
        }
    } else {
        println!("Unable to write");
    }
    Ok(())
}

缺点

这是一个硬编码的依赖项

  1. 配置文件是硬编码的。
  2. 路径假定为 /etc/ufw/applications.d

变更日志

查看 CHANGELOG.md

依赖关系

约2.2-3.5MB
约58K SLoC