class Osakana::Website
Attributes
date[R]
primal_type[R]
Public Class Methods
new(ipv4: nil, domain: nil, date: nil)
click to toggle source
# File lib/osakana/website.rb, line 10 def initialize(ipv4: nil, domain: nil, date: nil) raise ArgumentError, "Please provide ipv4 or domain for the initialization." if ipv4.nil? && domain.nil? @primal_type = domain ? "domain" : "ipv4" @ipv4 = ipv4 @domain = domain @date = date ? DateTime.parse(date).to_date.to_s : "N/A" @enricher = Enrichers::Enricher.new end
Public Instance Methods
domain()
click to toggle source
# File lib/osakana/website.rb, line 22 def domain @domain ||= [].tap do |out| out << @enricher.ipv4_to_domain(ipv4) end.first || "N/A" end
ipv4()
click to toggle source
# File lib/osakana/website.rb, line 28 def ipv4 @ipv4 ||= [].tap do |out| out << @enricher.domain_to_ipv4(domain) end.first || "N/A" end
summary()
click to toggle source
# File lib/osakana/website.rb, line 34 def summary @summary ||= [].tap do |out| out << "#{domain}, #{ipv4} #{Kokki.flagize(ipv4)} (date: #{date})" rescue Kokki::InvalidInputError => _ out << "#{domain}, #{ipv4} (date: #{date})" end.first end
to_attachement()
click to toggle source
# File lib/osakana/website.rb, line 51 def to_attachement { fallback: "urlscan.io link", title: summary, title_link: urlscan_link, footer: "urlscan.io", footer_icon: "http://www.google.com/s2/favicons?domain=urlscan.io" } end
urlscan_link()
click to toggle source
# File lib/osakana/website.rb, line 47 def urlscan_link primal_type == "domain" ? "https://urlscan.io/domain/#{domain}" : "https://urlscan.io/ip/#{ipv4}" end
vt_link()
click to toggle source
# File lib/osakana/website.rb, line 43 def vt_link primal_type == "domain" ? "https://www.virustotal.com/#/domain/#{domain}" : "https://www.virustotal.com/#/ip-address/#{ipv4}" end