interactsh-rs

Crates.iointeractsh-rs
lib.rsinteractsh-rs
version0.3.0
sourcesrc
created_at2022-10-16 03:56:26.391213
updated_at2023-01-28 07:31:19.402221
descriptionA Rust client library for working with Interact.sh servers
homepage
repositoryhttps://github.com/pyroraptor07/interactsh-rs
max_upload_size
id689317
size128,894
(pyroraptor07)

documentation

README

Interactsh-rs

Documentation Crates.io License Downloads CI Tests

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.

IMPORTANT NOTE: The 0.4 and possibly 0.5 releases are going to be major under the hood changes. The 0.4 release will include some changes to the existing public API.

Basic Use Example

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();
}
Commit count: 84

cargo fmt