diff options
Diffstat (limited to 'get_nessus_link.rb')
-rwxr-xr-x | get_nessus_link.rb | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/get_nessus_link.rb b/get_nessus_link.rb new file mode 100755 index 000000000000..335facef8947 --- /dev/null +++ b/get_nessus_link.rb @@ -0,0 +1,35 @@ +#!/usr/bin/env ruby +# frozen_string_literal: true + +# To install the prerequisites, use the command below: +# pacman -S ruby-nokogiri + +require 'json' +require 'nokogiri' +require 'open-uri' + +def get_json + res = URI.open('https://www.tenable.com/downloads/nessus') + doc = Nokogiri::HTML(res) + json = doc.at_css('#__NEXT_DATA__').content + JSON.parse(json) +end + +def get_link + data = get_json + url, filename = nil + downloads = data['props']['pageProps']['page']['downloads'] + downloads.each do |download| + filename = download['file'] + if filename.end_with?('-fc38.x86_64.rpm') + url = "https://www.tenable.com/downloads/api/v1/public/pages/nessus/downloads/#{download['id']}/download?i_agree_to_tenable_license_agreement=true" + break + end + end + raise 'Cannot find a download link!' if url.nil? + + puts filename + puts url +end + +get_link if __FILE__ == $PROGRAM_NAME |