ppfuzz 0.1.0

___ ___ ___ | x | x | __/ _.__.___ | _| _| _| | |/ // / |_| |_| |_|`___/__/__/ Prototype Pollution Fuzzer @dwisiswant0
Documentation
extern crate ppfuzz;

use {
	clap::crate_description,
	futures::StreamExt,
};

use ppfuzz::{
	browser, builder,
	fuzzer, parser,
};

#[async_std::main]
async fn main() {
	let mut opt = parser::Options::get();

	println!("{}", crate_description!());

	let urls = parser::Options::urls(&mut opt);
	let (browser, mut handler) = browser::config(opt.timeout).await;
	let _handle = async_std::task::spawn(async move {
		loop {
			let _ = handler.next().await.unwrap();
		}
	});

	fuzzer::new(urls
		.into_iter()
		.filter(|url| url
			.starts_with("http"))
		.flat_map(builder::query)
		.collect(), browser, opt).await;
}