Sha256: 6f3f5fce4b9d9d54585301ca2b48391a855d0bc5e6bfa56a8c722eec33488cc3

Contents?: true

Size: 1.4 KB

Versions: 13

Compression:

Stored size: 1.4 KB

Contents

require 'cms_scanner/finders/finder/smart_url_checker'
require 'cms_scanner/finders/finder/enumerator'
require 'cms_scanner/finders/finder/fingerprinter'

module CMSScanner
  module Finders
    # Finder
    class Finder
      # Constants for common found_by
      DIRECT_ACCESS = 'Direct Access (Aggressive Detection)'

      attr_accessor :target

      def initialize(target)
        @target = target
      end

      # @return [ String ] The titleized name of the finder
      def titleize
        self.class.to_s.demodulize.underscore.titleize
      end

      # @param [ Hash ] _opts
      def passive(_opts = {})
      end

      # @param [ Hash ] _opts
      def aggressive(_opts = {})
      end

      # @param [ Hash ] opts See https://github.com/jfelchner/ruby-progressbar/wiki/Options
      #
      # @return [ ProgressBar::Base ]
      def progress_bar(opts = {})
        ProgressBar.create({ format: '%t %a <%B> (%c / %C) %P%% %e' }.merge(opts))
      end

      # @return [ Browser ]
      def browser
        @browser ||= NS::Browser.instance
      end

      # @return [ Typhoeus::Hydra ]
      def hydra
        @hydra ||= browser.hydra
      end

      def found_by
        caller_locations.each do |call|
          label = call.label

          next unless label == 'aggressive' || label == 'passive'

          return "#{titleize} (#{label.capitalize} Detection)"
        end
        nil
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
cms_scanner-0.0.37.2 lib/cms_scanner/finders/finder.rb
cms_scanner-0.0.37.1 lib/cms_scanner/finders/finder.rb
cms_scanner-0.0.37 lib/cms_scanner/finders/finder.rb
cms_scanner-0.0.36 lib/cms_scanner/finders/finder.rb
cms_scanner-0.0.35.1 lib/cms_scanner/finders/finder.rb
cms_scanner-0.0.35 lib/cms_scanner/finders/finder.rb
cms_scanner-0.0.34 lib/cms_scanner/finders/finder.rb
cms_scanner-0.0.33 lib/cms_scanner/finders/finder.rb
cms_scanner-0.0.32 lib/cms_scanner/finders/finder.rb
cms_scanner-0.0.31 lib/cms_scanner/finders/finder.rb
cms_scanner-0.0.30 lib/cms_scanner/finders/finder.rb
cms_scanner-0.0.29 lib/cms_scanner/finders/finder.rb
cms_scanner-0.0.28 lib/cms_scanner/finders/finder.rb