vt3 0.5.4

VirusTotal REST API v3 (Public & Enterprise)
Documentation

VirusTotal Api v3 (Public & Enterprise)

Crates.io Documentation docs.rs Build Status GitHub license

VT3 provides an easy api interface to use VirusTotal v3 REST endpoints, including those exclusive to VirusTotal Enterprise such as

  • Live Hunt
  • Retro Hunt
  • Zip Files

Usage

  • Cargo.toml
[dependencies]
vt3 = "0.5.4"
  • to enable enterprise features
[dependencies]
vt3 = { version = "0.5.4", features = ["enterprise"] }
  • and then: to get ip information
use vt3::VtClient;

fn main() {
    let api_key = match std::env::args()
        .skip(1)
        .next()
        .ok_or_else(|| "Please provide the api key!")
    {
        Ok(api_key) => api_key,
        Err(e) => {
            println!("{:?}", e);
            std::process::exit(1)
        }
    };
    let ip_address = "5.2.69.42";

    let res = VtClient::new(&api_key).ip_info(ip_address);
    match res {
        Ok(report) => println!("{:#?}", report),
        Err(e) => println!("Error: {}", e.to_string()),
    }
}
  • Providing a user agent for the client
use vt3::VtClient;

fn main() {
    let api_key = match std::env::args()
        .skip(1)
        .next()
        .ok_or_else(|| "Please provide the api key!")
    {
        Ok(api_key) => api_key,
        Err(e) => {
            println!("{:?}", e);
            std::process::exit(1)
        }
    };
    let ip_address = "5.2.69.42";

    let res = VtClient::new(&api_key)
        .user_agent("Chrome for Windows")
        .ip_info(ip_address);
    match res {
        Ok(report) => println!("{:#?}", report),
        Err(e) => println!("Error: {}", e.to_string()),
    }
}

Examples

To run the examples - Universal API Endpoints:

  • Domain info: cargo run --example domain_info <your_api_key>
  • IP info: cargo run --example ip_info <your_api_key>
  • URL info: cargo run --example url_info <your_api_key>
  • URL info by id: cargo run --example url_info_by_id <your_api_key>
  • URL rescan: cargo run --example url_rescan <your_api_key>
  • File info: cargo run --example file_info <your_api_key>
  • File scan: cargo run --example file_scan <your_api_key>
  • File rescan: cargo run --example file_rescan <your_api_key>
  • Get latest comments: cargo run --example get_latest_comments <your_api_key>
  • Get comment by comment id: cargo run --example get_comment <your_api_key>

To run the examples - Enterprise API Endpoints:

  • Get user information: cargo run --example user_info --features="enterprise" <your_api_key> <user_id>
  • Delete a user: cargo run --example delete_user --features="enterprise" <your_api_key> <user_id>
  • Get Api usage info: cargo run --example api_usage --features="enterprise" <your_api_key> <user_id>
  • Get overall quotas for user: cargo run --example overall_quotas --features="enterprise" <your_api_key> <user_id>
  • Get group information: cargo run --example group_info --features="enterprise" <your_api_key> <user_id>
  • Get api usage: cargo run --example group_api_usage --features="enterprise" <your_api_key> <user_id>
  • Get group members: cargo run --example group_members --features="enterprise" <your_api_key> <user_id>

VT Developer reference


License: MIT