#!/usr/bin/env ruby require 'lacewing/core' opts = Trollop.options do version "Lacewing v#{Lacewing::VERSION} - Your neighborhood bug bounty assistant" opt :target, 'The target domain or ip to scan', type: :string opt :name, 'Set your name for the initial hello', type: :string, default: nil opt :no_subdomains, 'Skip the subdomains section', short: :none opt :no_nmap, 'Skip the nmap scan section', short: :none banner 'Other options:' #opt :promptchar, 'The character of the prompt', type: :string, default: '> ' #opt :promptstr, 'The main string of the prompt', type: :string, default: 'lacewing'.green end unless !opts[:target].nil? && (Rex::Socket.is_ipv4?(opts[:target]) || Rex::Socket.is_ipv6?(opts[:target]) || opts[:target] =~ /^[a-z]*:\/\/([^\/])\//) Trollop.die :target, 'must be a domain or IP address' unless ARGV.empty? end begin pp opts Lacewing::Cli.start(opts) rescue TTY::Reader::InputInterrupt puts puts 'Exiting...'.bold.red exit 130 # CTRL+C standard exit code end