Sha256: 9710477c7de736a9d17826aea393adfaf162d7dcdb30475ee5b4e41c36491d3c

Contents?: true

Size: 1.63 KB

Versions: 300

Compression:

Stored size: 1.63 KB

Contents

#!/usr/bin/env ruby
# frozen_string_literal: true

require 'pwn'
require 'optparse'

opts = {}
OptionParser.new do |options|
  options.banner = "USAGE:
    #{$PROGRAM_NAME} [opts]
  "

  options.on('-pPROXY', '--proxy=PROXY', '<Optional - HTTP or Socks Proxy>') do |p|
    opts[:proxy] = p
  end

  options.on('-T', '--[no-]with-tor', '<Optional - Proxy w/ TOR (Defaults to false)>') do |w|
    opts[:with_tor] = w
  end

  options.on('-i', '--[no-]ipinfo', '<Optional - Return Details about Public IP Returned from CheckIP>') do |i|
    opts[:ipinfo] = i
  end
end.parse!

proxy = opts[:proxy].to_s.scrub.strip.chomp unless opts[:proxy].nil?
with_tor = opts[:with_tor]
ipinfo = opts[:ipinfo]

begin
  if proxy != '' && with_tor
    browser_obj = PWN::Plugins::TransparentBrowser.open(browser_type: :rest, proxy: proxy, with_tor: true)::Request
  elsif proxy != '' && with_tor.nil?
    browser_obj = PWN::Plugins::TransparentBrowser.open(browser_type: :rest, proxy: proxy)::Request
  else
    browser_obj = PWN::Plugins::TransparentBrowser.open(browser_type: :rest)::Request
  end

  if proxy
    public_ip_address = browser_obj.execute(
      method: :get,
      url: 'https://checkip.amazonaws.com',
      verify_ssl: false
    ).to_s.chomp
  else
    public_ip_address = browser_obj.execute(
      method: :get,
      url: 'https://checkip.amazonaws.com'
    ).to_s.chomp
  end

  puts "PUBLIC IP: #{public_ip_address}"
  puts PWN::Plugins::IPInfo.get(ip_or_host: public_ip_address) unless ipinfo.nil?
rescue StandardError => e
  raise e
ensure
  if browser_obj
    browser_obj = PWN::Plugins::TransparentBrowser.close(
      browser_obj: browser_obj
    )
  end
end

Version data entries

300 entries across 300 versions & 1 rubygems

Version Path
pwn-0.4.667 bin/pwn_www_checkip
pwn-0.4.666 bin/pwn_www_checkip
pwn-0.4.665 bin/pwn_www_checkip
pwn-0.4.664 bin/pwn_www_checkip
pwn-0.4.663 bin/pwn_www_checkip
pwn-0.4.662 bin/pwn_www_checkip
pwn-0.4.661 bin/pwn_www_checkip
pwn-0.4.660 bin/pwn_www_checkip
pwn-0.4.659 bin/pwn_www_checkip
pwn-0.4.658 bin/pwn_www_checkip
pwn-0.4.657 bin/pwn_www_checkip
pwn-0.4.656 bin/pwn_www_checkip
pwn-0.4.655 bin/pwn_www_checkip
pwn-0.4.654 bin/pwn_www_checkip
pwn-0.4.653 bin/pwn_www_checkip
pwn-0.4.652 bin/pwn_www_checkip
pwn-0.4.651 bin/pwn_www_checkip
pwn-0.4.650 bin/pwn_www_checkip
pwn-0.4.649 bin/pwn_www_checkip
pwn-0.4.648 bin/pwn_www_checkip