Crates.io | interactsh-rs |
lib.rs | interactsh-rs |
version | 0.3.1 |
created_at | 2022-10-16 03:56:26.391213+00 |
updated_at | 2025-04-22 04:09:22.197805+00 |
description | A Rust client library for working with Interact.sh servers |
homepage | |
repository | https://github.com/pyroraptor07/interactsh-rs |
max_upload_size | |
id | 689317 |
size | 201,898 |
A Rust client library for getting interaction logs from Interactsh servers. See a basic example below; check out the examples or the client module in the API docs for more detailed use.
Unfortunately, I no longer have the time nor motivation to upkeep this crate. If anyone would like to take up maintenance of this crate, please let me know and I will transfer ownership to you. Feel free to fork this crate as well. I do not recommend using this crate as is; the dependancies need to be updated and the crate itself honestly needs a rewrite (at the very least to be more generic over crypto implementations).
use std::time::Duration;
use std::thread;
use interactsh_rs::prelude::*;
async fn run_client() {
// Builds an unregistered client
let client = ClientBuilder::default()
.with_server("oast.pro".into())
.parse_logs(true)
.build()
.unwrap();
// Registers the client with the server and
// returns a registered client
let client = client.register().await.unwrap();
let interaction_fqdn = client.get_interaction_fqdn();
println!("INTERACTION URL: https://{}", interaction_fqdn);
// Start a poll loop
loop {
thread::sleep(Duration::from_secs(5));
let logs = match client.poll().await.unwrap() {
Some(logs) => logs,
None => continue,
};
// ...Do something with the returned logs...
}
// Once done, deregister the client
client.deregister().await.unwrap();
}