passivedns-client 2.1.5 → 2.1.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 99f46038dc124731029b866ca3169f389b797d18
4
- data.tar.gz: 62750bf6fb8dbca75a730969870a08506ea06839
3
+ metadata.gz: c9428d4dc084c7a7f0e734e9902791b469e6bd49
4
+ data.tar.gz: ddd6535a823edbf3e3a89bdd388782405fc6b52a
5
5
  SHA512:
6
- metadata.gz: 13266b09a81762ccb954862a46b0b9b72827d437b10c3c622d993a99aa19a191e5998c805be436f3d07a2d1729e262f7620237ca5563c83fc0b63ce523ae0dd5
7
- data.tar.gz: 42ad695d9b218d8bf56f1a52ecf97ac17d51a8b36891f5711a465183f3c0a47237b3d6e556dc89e1905cf92415d8efeab999bd655e18f0877f9097ca36e7f5bf
6
+ metadata.gz: 6b0ca82916628a13baad54ce8c5ba263f33f8a661b43d659442656b5fe822914341b601b0203ecd8815898b096a4cb1d3c111c40a23032ec2ab7cc2d8b76713c
7
+ data.tar.gz: dcf33265380dedd7ad11f7d185036b7336dea02c7a89510d2d0cae4fac7ca3fafb945b965c616c658b1775c19a9252abe3a963e83feec2faff0b8b020c032900
data/README.md CHANGED
@@ -51,6 +51,7 @@ From version 2.0.0 on, all configuration keys for passive DNS providers are in o
51
51
  [mnemonic]
52
52
  APIKEY = 01234567890abcdef01234567890abcdef012345
53
53
  [passivetotal]
54
+ USERNAME = tom@example.com
54
55
  APIKEY = 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef
55
56
  [circl]
56
57
  USERNAME = circl_user
@@ -27,23 +27,25 @@ module PassiveDNS #:nodoc: don't document this
27
27
  attr_accessor :debug
28
28
  # === Options
29
29
  # * :debug Sets the debug flag for the module
30
+ # * "USERNAME" REQUIRED: The username for the associated API key
30
31
  # * "APIKEY" REQUIRED: The API key associated with PassiveTotal
31
- # * "URL" Alternate url for testing. Defaults to "https://www.passivetotal.org/api/v1/passive"
32
+ # * "URL" Alternate url for testing. Defaults to "https://api.passivetotal.org/v2/dns/passive"
32
33
  #
33
34
  # === Example Instantiation
34
35
  #
35
36
  # options = {
36
37
  # :debug => true,
38
+ # "USERNAME" => "tom@example.com",
37
39
  # "APIKEY" => "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
38
- # "URL" => "https://www.passivetotal.org/api/v1/passive"
40
+ # "URL" => "https://api.passivetotal.org/v2/dns/passive"
39
41
  # }
40
42
 
41
43
  # or
42
44
  #
43
45
  # options = {
44
46
  # :debug => true,
47
+ # "USERNAME" => "tom@example.com"
45
48
  # "APIKEY" => "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
46
- # "API_VERSION" => "current"
47
49
  # }
48
50
  #
49
51
  # then
@@ -52,9 +54,9 @@ module PassiveDNS #:nodoc: don't document this
52
54
  #
53
55
  def initialize(options={})
54
56
  @debug = options[:debug] || false
57
+ @username = options["USERNAME"] || raise("#{self.class.name} requires a USERNAME")
55
58
  @apikey = options["APIKEY"] || raise("#{self.class.name} requires an APIKEY")
56
- @version = options["API_VERSION"] || "v1"
57
- @url = options["URL"] || "https://www.passivetotal.org/api/#{@version}/passive"
59
+ @url = options["URL"] || "https://api.passivetotal.org/v2/dns/passive"
58
60
  end
59
61
 
60
62
  # Takes a label (either a domain or an IP address) and returns
@@ -62,7 +64,7 @@ module PassiveDNS #:nodoc: don't document this
62
64
  def lookup(label, limit=nil)
63
65
  $stderr.puts "DEBUG: #{self.class.name}.lookup(#{label})" if @debug
64
66
  Timeout::timeout(240) {
65
- url = @url+"?api_key=#{@apikey}&query=#{label}"
67
+ url = @url+"?query=#{label}"
66
68
  $stderr.puts "DEBUG: #{self.class.name} url = #{url}" if @debug
67
69
  url = URI.parse url
68
70
  http = Net::HTTP.new(url.host, url.port)
@@ -70,6 +72,7 @@ module PassiveDNS #:nodoc: don't document this
70
72
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
71
73
  http.verify_depth = 5
72
74
  request = Net::HTTP::Get.new(url.request_uri)
75
+ request.basic_auth(@username, @apikey)
73
76
  request.add_field("User-Agent", "Ruby/#{RUBY_VERSION} passivedns-client rubygem v#{PassiveDNS::Client::VERSION}")
74
77
  #request.set_form_data({"api_key" => @apikey, "query" => label})
75
78
  t1 = Time.now
@@ -92,9 +95,9 @@ module PassiveDNS #:nodoc: don't document this
92
95
  def parse_json(page,query,response_time=0)
93
96
  res = []
94
97
  data = JSON.parse(page)
95
- query = data['raw_query']
98
+ query = data['queryValue']
96
99
  if data['results']
97
- data['results']['records'].each do |row|
100
+ data['results'].each do |row|
98
101
  first_seen = (row['firstSeen'] == "None") ? nil : Time.parse(row['firstSeen']+" +0000")
99
102
  last_seen = (row['lastSeen'] == "None") ? nil : Time.parse(row['lastSeen']+" +0000")
100
103
  value = row['resolve']
@@ -108,7 +111,6 @@ module PassiveDNS #:nodoc: don't document this
108
111
  $stderr.puts "#{self.class.name} Exception: #{e}"
109
112
  raise e
110
113
  end
111
-
112
114
  end
113
115
  end
114
- end
116
+ end
@@ -2,6 +2,6 @@ module PassiveDNS # :nodoc:
2
2
  # coodinates the lookups accross all configured PassiveDNS providers
3
3
  class Client
4
4
  # version of PassiveDNS::Client
5
- VERSION = "2.1.5"
5
+ VERSION = "2.1.6"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: passivedns-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.5
4
+ version: 2.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - chrislee35
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-06-29 00:00:00.000000000 Z
11
+ date: 2016-02-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json