Sha256: c029c8a72673e326506de0e248632271368ece2eebaa1484df3657505f94c541

Contents?: true

Size: 816 Bytes

Versions: 3

Compression:

Stored size: 816 Bytes

Contents

# frozen_string_literal: true

require "uri"
require "oga"

require "ryo/error"

require "ryo/client"
require "ryo/target"
require "ryo/plugin"

require "ryo/cli"

require "ryo/version"

module Ryo
  def self.discover(uri, options)
    target = Target.new(uri)

    h = {}
    h[:dir] = Plugin::Dir.discover(target.uri) if options[:dir] || options[:all]
    h[:dns] = Plugin::DNS.discover(target.domain) if options[:dns] || options[:all]
    h[:shodan] = Plugin::Shodan.discover(target.ip) if options[:shodan] || options[:all]
    h[:subdomain] = Plugin::Subdomain.discover(target.fld) if options[:subdomain] || options[:all]
    h[:tech] = Plugin::Tech.discover(target.uri) if options[:tech] || options[:all]
    h[:whois] = Plugin::Whois.discover(target.domain) if options[:whois] || options[:all]
    h
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ryo-0.3.2 lib/ryo.rb
ryo-0.3.1 lib/ryo.rb
ryo-0.3.0 lib/ryo.rb