Library for virustotal API version 3 written in Rust. 🦀
Method | Resource | Description |
---|---|---|
GET | /api/v3/files/{id} | Retrieve file scan reports |
POST | /api/v3/files | Upload and scan a file |
POST | /api/v3/files/{id}/analyse | Rescanning already submitted files |
GET | /api/v3/urls/{id} | Retrieve URL scan reports |
POST | /api/v3/urls | Scan an URL |
POST | /api/v3/{type}/{id}/comments | Make comments for a file or URL or Domain |
GET | /api/v3/{type}/{id}/comments | Get comments for a file or URL or Domain |
DELETE | /api/v3/comments/{id} | Delete a comment for a file or URL or Domain |
GET | /api/v3/domains/{domain} | Retrieves a domain report |
GET | /api/v3/ip_address/{ip-address} | Retrieve an IP address report |
Cargo.toml:
...
[dependencies]
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
virustotal3 = { version = "3.0.2" }
main.rs:
use virustotal3::VtClient;
#[tokio::main]
async fn main() {
let api = "Your API KEY";
let url = "The URL you want to check";
let vt = VtClient::new(api);
match vt.scan_url(&url).await {
Ok(res) => {
println!("{:?}", &res.data);
},
Err(err) => { println!("[Error] {err}") }
}
}
More examples in doc.rs/virustotal3
- Thanks to owlinux1000 for inital work on virustotal API version 2.