class Ronin::CLI::Commands::TldList

Updates and parses the TLD list file.

## Usage

ronin tld-list [options]

## Options

-v, --verbose                    Enables verbose output
-u, --update                     Updates the TLD list file
-U, --url URL                    URL to the TLD list (Default: https://data.iana.org/TLD/tlds-alpha-by-domain.txt)
-p, --path FILE                  Path to the TLD list file (Default: ~/.cache/ronin/ronin-support/tlds-alpha-by-domain.txt)
-h, --help                       Print help information

Public Instance Methods

download() click to toggle source

Downloads the TLD list file.

# File lib/ronin/cli/commands/tld_list.rb, line 112
def download
  if verbose?
    log_info "Downloading TLD list from #{options[:url]} to #{options[:path]} ..."
  end

  List.download(url: options[:url], path: options[:path])
end
downloaded?() click to toggle source

Determines if the TLD list file has been downloaded already.

@return [Boolean]

# File lib/ronin/cli/commands/tld_list.rb, line 96
def downloaded?
  List.downloaded?(options[:path])
end
run() click to toggle source

Runs the ‘ronin tld-list` command.

# File lib/ronin/cli/commands/tld_list.rb, line 77
def run
  if !downloaded?
    download
  elsif options[:update] || stale?
    update
  end

  list_file = List.load_file(options[:path])

  list_file.each do |tld|
    puts tld
  end
end
stale?() click to toggle source

Determines if the TLD list file is stale.

@return [Boolean]

# File lib/ronin/cli/commands/tld_list.rb, line 105
def stale?
  List.stale?(options[:path])
end
update() click to toggle source

Updates the TLD list file.

# File lib/ronin/cli/commands/tld_list.rb, line 123
def update
  if verbose?
    log_info "Updating TLD list file #{options[:path]} ..."
  end

  List.update(path: options[:path])
end