Sha256: 41eb385933a7a8d912115456acf271ae43d92ad9eefa1b6ac769ff0088184cbc
Contents?: true
Size: 1.31 KB
Versions: 7
Compression:
Stored size: 1.31 KB
Contents
# frozen_string_literal: true module Mihari module Analyzers # # Fofa analyzer # class Fofa < Base # @return [String, nil] attr_reader :api_key # @return [String, nil] attr_reader :email # # @param [String] query # @param [Hash, nil] options # @param [String, nil] api_key # @param [String, nil] email # def initialize(query, options: nil, api_key: nil, email: nil) super(query, options: options) @api_key = api_key || Mihari.config.fofa_api_key @email = email || Mihari.config.fofa_email end def artifacts client.search_with_pagination(query, pagination_limit: pagination_limit).map do |res| (res.results || []).map { |result| result[1] } end.flatten.compact end def configuration_keys %w[fofa_api_key fofa_email] end def configured? api_key? && email? end private def api_key? !api_key.nil? end def email? !email.nil? end # # @return [Mihari::Clients::Fofa] # def client Clients::Fofa.new( api_key: api_key, email: email, pagination_interval: pagination_interval, timeout: timeout ) end end end end
Version data entries
7 entries across 7 versions & 1 rubygems