#client-server #interact #sh #logs #interaction #interactsh #oob-interactions

interactsh-rs

A Rust客户端库,用于与Interact.sh服务器交互

6个版本

0.3.0 2023年1月28日
0.2.1 2022年11月23日
0.1.0 2022年11月9日
0.1.0-RC22022年10月29日

#1087 in 加密学

MIT/Apache

73KB
1.5K SLoC

Interactsh-rs

Documentation Crates.io License Downloads CI Tests

A Rust客户端库,用于从Interactsh服务器获取交互日志。下面是一个基本示例;查看示例API文档中的客户端模块以获取更详细的用法。

重要提示:0.4和可能0.5版本将进行底层重大更改。0.4版本将包含对现有公共API的一些更改。

基本用法示例

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();
}

依赖项

~7–22MB
~359K SLoC