nessus-launcher

Crates.ionessus-launcher
lib.rsnessus-launcher
version0.1.1
created_at2026-01-18 20:06:52.339061+00
updated_at2026-01-18 20:33:48.382831+00
descriptionA high-level Rust library for launching Nessus scans with retries, parallelism, and structured logging.
homepagehttps://github.com/alexw216/nessus-launcher
repositoryhttps://github.com/alexw216/nessus-launcher
max_upload_size
id2053004
size73,020
(alexw216)

documentation

https://docs.rs/nessus-launcher

README

nessus-launcher

Crates.io Docs.rs License CI

A production‑grade Rust library and CLI for launching Nessus scans with:

  • πŸ”„ Automatic retry with exponential backoff
  • ⚑ Parallel scan launching
  • 🧩 .env configuration
  • πŸ“Š Structured logging (tracing)
  • 🧰 Reusable library + CLI binary
  • ❄️ Reproducible builds via Nix flake

Designed for automation, CI pipelines, and secure operational workflows.


πŸ“¦ Installation

Library (crates.io)

[dependencies]
nessus-launcher = "0.1"

CLI (GitHub Releases)
cargo install nessus-cli


Quick Start (CLI)
Launch scans explicitly:
nessus-cli --scan 5 --scan 8


Or configure via .env:
NESSUS_HOST=https://nessus.example.com
NESSUS_USERNAME=admin
NESSUS_PASSWORD=secret
DEFAULT_SCAN_IDS=5,8,11


Then simply run:

nessus-cli


Library Example

use nessus_launcher::{NessusClient, NessusConfig, Result};

#[toktokio::main]
async fn main() -> Result<()> {
    let config = NessusConfig::from_env()?;
    let client = NessusClient::new(config)?;
    client.launch_scans_parallel(vec![5, 8]).await?;
    Ok(())
}


Documentation

Full API docs:
https://docs.rs/nessus-launcher (docs.rs in Bing)

Examples:

cargo run --example basic
cargo run --example parallel


Project Structure

nessus-launcher/
β”œβ”€β”€ src/                # Library source code
β”œβ”€β”€ nessus-cli/         # CLI binary crate
β”œβ”€β”€ examples/           # docs.rs examples
β”œβ”€β”€ tests/              # minimal tests
β”œβ”€β”€ scripts/            # build scripts
β”œβ”€β”€ .github/workflows/  # CI pipeline
β”œβ”€β”€ Makefile            # build/run/release automation
└── flake.nix           # reproducible Nix environment


Development

Build
gmake build


Run CLI

gmake run ARGS="--scan 5"


Test

cargo test


Format and lint

cargo fmt
cargo clippy --all-targets -- -D warnings


Nix Development Shell

nix develop
cargo build



License

This project is licensed under the MIT License.
See LICENSE for details.

Acknowledgments

This project provides a clean, modern, async Rust interface for Nessus automation workflows, with a focus on reliability, reproducibility, and operational clarity.



Commit count: 2

cargo fmt