Class: Miteru::Feeds::UrlScan
Constant Summary collapse
Instance Attribute Summary collapse
-
#size ⇒ Object
readonly
Returns the value of attribute size.
Instance Method Summary collapse
-
#initialize(size = 100) ⇒ UrlScan
constructor
A new instance of UrlScan.
- #urls ⇒ Object
Constructor Details
#initialize(size = 100) ⇒ UrlScan
Returns a new instance of UrlScan.
14 15 16 17 |
# File 'lib/miteru/feeds/urlscan.rb', line 14 def initialize(size = 100) @size = size raise ArgumentError, "size must be less than 10,000" if size > 10_000 end |
Instance Attribute Details
#size ⇒ Object (readonly)
Returns the value of attribute size.
13 14 15 |
# File 'lib/miteru/feeds/urlscan.rb', line 13 def size @size end |
Instance Method Details
#urls ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/miteru/feeds/urlscan.rb', line 19 def urls url = url_for("/search/") url.query = URI.encode_www_form( q: "PhishTank OR OpenPhish OR CertStream-Suspicious", size: size ) res = JSON.parse(get(url)) res["results"].map { |result| result.dig("task", "url") } rescue HTTPResponseError, JSON::ParserError => e puts "Failed to load urlscan.io feed (#{e})" [] end |