Nothing
#' Download a file from VirusTotal
#'
#' @param hash File hash (MD5, SHA1, or SHA256)
#' @param output_path Local path to save the downloaded file. Optional.
#' @param \dots Additional arguments passed to \code{\link{virustotal_GET}}.
#'
#' @return Raw file content or saves file to specified path
#'
#' @export
#'
#' @references \url{https://docs.virustotal.com/reference}
#'
#' @seealso \code{\link{set_key}} for setting the API key
#'
#' @examples \dontrun{
#'
#' # Before calling the function, set the API key using set_key('api_key_here')
#'
#' download_file(hash='99017f6eebbac24f351415dd410d522d',
#' output_path='/tmp/downloaded_file')
#' }
download_file <- function(hash = NULL, output_path = NULL, ...) {
assert_character(hash, len = 1, any.missing = FALSE, min.chars = 1)
if (!is.null(output_path)) {
assert_character(output_path, len = 1, any.missing = FALSE, min.chars = 1)
}
res <- GET("https://www.virustotal.com/",
path = paste0("api/v3/files/", hash, "/download"),
add_headers("x-apikey" = Sys.getenv("VirustotalToken")), ...)
virustotal_check(res)
if (!is.null(output_path)) {
writeBin(content(res, "raw"), output_path)
return(paste("File downloaded to:", output_path))
} else {
return(content(res, "raw"))
}
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.