# nessus-launcher
[](https://crates.io/crates/nessus-launcher)
[](https://docs.rs/nessus-launcher)

[](https://github.com/alexw216/nessus-launcher/actions)
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)
```toml
[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.