ukemi 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4d580aab085fc77ec8b77f427510401de772ee7d7c1f43e382d357ad908b8d35
4
- data.tar.gz: 38edc17fca078bcae250a7f234811febc1d2e2afe4e072c76a6a829db7073cd0
3
+ metadata.gz: a512ff8b644d793535d9beac64ab550b5628bbb86fd042e2cc3ab5b2cdad1ea1
4
+ data.tar.gz: d7433d7e80ff7723bf097db0bbda4a35f3feab7d2fbd4d3d7726c1ff3319c3a0
5
5
  SHA512:
6
- metadata.gz: f848faef9dea0a78e6f975f5018baaf793544a42848ff4b22bcdbabbed5051b84b5e9403ee61999ebad0e352a51710f0b83dbf8d0763b33d45a8b2543a598a0c
7
- data.tar.gz: 5218157189624ccc636a4b12566217f94900c5564c0541e2885233e577176822fd049d75f906dcff69cd2e0a6629c4c89ec1677e3c00d8151402de975e0bb2f7
6
+ metadata.gz: 9e88eefa02c8071b840e16c25ecdd52198abdd16ede41ff657692b9fc6ff2c9b21e0b8130d6562cc348eb8b101d91b0309a7feb4b5a48cb3283968518e649d1f
7
+ data.tar.gz: 6cca209ba2a055a195e862b0f10b2e431d8555d32985050b5debc6e4d20164c640af1afa30960ebde6842bc109b4e8176be206303ee0f170de5d441436339a45
@@ -0,0 +1,27 @@
1
+ name: Ruby CI
2
+
3
+ on: [pull_request]
4
+
5
+ jobs:
6
+ build:
7
+
8
+ runs-on: ubuntu-latest
9
+
10
+ strategy:
11
+ fail-fast: false
12
+ matrix:
13
+ ruby: [2.7, '3.0']
14
+
15
+ steps:
16
+ - uses: actions/checkout@v2
17
+ - name: Set up Ruby
18
+ uses: ruby/setup-ruby@v1
19
+ with:
20
+ ruby-version: ${{ matrix.ruby }}
21
+ bundler-cache: true
22
+
23
+ - name: Build and test with Rake
24
+ run: |
25
+ gem install bundler
26
+ bundle install
27
+ bundle exec rake
data/.overcommit.yml ADDED
@@ -0,0 +1,9 @@
1
+ PreCommit:
2
+ BundleCheck:
3
+ enabled: true
4
+
5
+ RuboCop:
6
+ enabled: true
7
+ required_executable: bundle
8
+ command: ["bundle", "exec", "standardrb"]
9
+ on_warn: fail
data/.standard.yml ADDED
@@ -0,0 +1,4 @@
1
+ ignore:
2
+ - "**/*":
3
+ - Layout/SpaceInsideHashLiteralBraces
4
+ - Style/RescueStandardError
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # ukemi
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/ukemi.svg)](https://badge.fury.io/rb/ukemi)
4
- [![Build Status](https://travis-ci.com/ninoseki/ukemi.svg?branch=master)](https://travis-ci.com/ninoseki/ukemi)
4
+ [![Ruby CI](https://github.com/ninoseki/ukemi/actions/workflows/test.yaml/badge.svg)](https://github.com/ninoseki/ukemi/actions/workflows/test.yaml)
5
5
  [![Coverage Status](https://coveralls.io/repos/github/ninoseki/ukemi/badge.svg?branch=master)](https://coveralls.io/github/ninoseki/ukemi?branch=master)
6
6
  [![CodeFactor](https://www.codefactor.io/repository/github/ninoseki/ukemi/badge)](https://www.codefactor.io/repository/github/ninoseki/ukemi)
7
7
 
@@ -18,6 +18,10 @@ It supports the following services.
18
18
 
19
19
  It outputs passive DNS resolutions as JSON.
20
20
 
21
+ ## Requirements
22
+
23
+ - Ruby 2.7+ or Ruby 3.x
24
+
21
25
  ## Installation
22
26
 
23
27
  ```bash
@@ -116,6 +120,10 @@ $ ukemi lookup 195.123.226.243
116
120
  ...
117
121
  }
118
122
 
123
+ # or you scan skip "lookup"
124
+ $ ukemi example.com
125
+ $ ukemi 195.123.226.243
126
+
119
127
  # You can specify the order of resolutions
120
128
 
121
129
  # Order by last_seen DESC
data/exe/ukemi CHANGED
@@ -5,4 +5,6 @@ $LOAD_PATH.unshift("#{__dir__}/../lib")
5
5
 
6
6
  require "ukemi"
7
7
 
8
- Ukemi::CLI.start
8
+ ARGV.unshift(Ukemi::CLI.default_task) unless Ukemi::CLI.all_tasks.key?(ARGV[0])
9
+
10
+ Ukemi::CLI.start(ARGV)
data/lib/ukemi/cli.rb CHANGED
@@ -15,6 +15,8 @@ module Ukemi
15
15
  puts JSON.pretty_generate(result)
16
16
  end
17
17
 
18
+ default_command :lookup
19
+
18
20
  no_commands do
19
21
  def refang(data)
20
22
  data.gsub("[.]", ".").gsub("(.)", ".")
@@ -2,8 +2,7 @@
2
2
 
3
3
  module Ukemi
4
4
  class Configuration
5
- attr_accessor :ordering_key
6
- attr_accessor :sort_order
5
+ attr_accessor :ordering_key, :sort_order
7
6
 
8
7
  def initialize
9
8
  @ordering_key = "last_seen"
@@ -28,13 +28,13 @@ module Ukemi
28
28
  memo[record.data] << {
29
29
  first_seen: record.first_seen,
30
30
  last_seen: record.last_seen,
31
- source: record.source,
31
+ source: record.source
32
32
  }
33
33
  end
34
34
  # Merge first seen last seen and make the sources a list.
35
35
  formatted = memo.map do |key, sources|
36
- first_seens = sources.map { |record| convert_to_unixtime record.dig(:first_seen) }.compact
37
- last_seens = sources.map { |record| convert_to_unixtime record.dig(:last_seen) }.compact
36
+ first_seens = sources.filter_map { |record| convert_to_unixtime record[:first_seen] }
37
+ last_seens = sources.filter_map { |record| convert_to_unixtime record[:last_seen] }
38
38
  [
39
39
  key,
40
40
  {
@@ -49,7 +49,7 @@ module Ukemi
49
49
  ordering_key = Ukemi.configuration.ordering_key.to_sym
50
50
  sort_order = Ukemi.configuration.sort_order
51
51
  formatted.sort_by do |_key, hash|
52
- value = hash.dig(ordering_key)
52
+ value = hash[ordering_key]
53
53
  if sort_order == "DESC"
54
54
  value ? -convert_to_unixtime(value) : -1
55
55
  else
data/lib/ukemi/record.rb CHANGED
@@ -2,10 +2,7 @@
2
2
 
3
3
  module Ukemi
4
4
  class Record
5
- attr_reader :data
6
- attr_reader :first_seen
7
- attr_reader :last_seen
8
- attr_reader :source
5
+ attr_reader :data, :first_seen, :last_seen, :source
9
6
 
10
7
  def initialize(data:, first_seen: nil, last_seen: nil, source: nil)
11
8
  @data = data
@@ -8,7 +8,7 @@ module Ukemi
8
8
  private
9
9
 
10
10
  def config_keys
11
- %w(CIRCL_PASSIVE_USERNAME CIRCL_PASSIVE_PASSWORD)
11
+ %w[CIRCL_PASSIVE_USERNAME CIRCL_PASSIVE_PASSWORD]
12
12
  end
13
13
 
14
14
  def api
@@ -26,14 +26,14 @@ module Ukemi
26
26
  def passive_dns_lookup(data, key = nil)
27
27
  results = api.dns.query(data)
28
28
  results = results.select do |result|
29
- result.dig("rrtype") == "A"
29
+ result["rrtype"] == "A"
30
30
  end
31
31
 
32
32
  results.map do |result|
33
33
  Record.new(
34
- data: result.dig(key),
35
- first_seen: Time.at(result.dig("time_first")).to_date.to_s,
36
- last_seen: Time.at(result.dig("time_last")).to_date.to_s,
34
+ data: result[key],
35
+ first_seen: Time.at(result["time_first"]).to_date.to_s,
36
+ last_seen: Time.at(result["time_last"]).to_date.to_s,
37
37
  source: name
38
38
  )
39
39
  end
@@ -9,7 +9,7 @@ module Ukemi
9
9
  private
10
10
 
11
11
  def config_keys
12
- %w(DNSDB_API_KEY)
12
+ %w[DNSDB_API_KEY]
13
13
  end
14
14
 
15
15
  def api
@@ -19,13 +19,13 @@ module Ukemi
19
19
  def lookup_by_ip(data)
20
20
  results = api.lookup.rdata(type: "ip", value: data, rrtype: "A")
21
21
  results.map do |result|
22
- rrname = result.dig("rrname")
22
+ rrname = result["rrname"]
23
23
  # Remove the last dot (e.g. "example.com.")
24
24
  data = rrname[0..-2]
25
25
  Record.new(
26
26
  data: data,
27
- first_seen: Time.at(result.dig("time_first")).to_date.to_s,
28
- last_seen: Time.at(result.dig("time_last")).to_date.to_s,
27
+ first_seen: Time.at(result["time_first"]).to_date.to_s,
28
+ last_seen: Time.at(result["time_last"]).to_date.to_s,
29
29
  source: name
30
30
  )
31
31
  end
@@ -34,10 +34,10 @@ module Ukemi
34
34
  def lookup_by_domain(data)
35
35
  results = api.lookup.rrset(owner_name: data, rrtype: "A")
36
36
  results.map do |result|
37
- first_seen = Time.at(result.dig("time_first")).to_date.to_s
38
- last_seen = Time.at(result.dig("time_last")).to_date.to_s
37
+ first_seen = Time.at(result["time_first"]).to_date.to_s
38
+ last_seen = Time.at(result["time_last"]).to_date.to_s
39
39
 
40
- values = result.dig("rdata") || []
40
+ values = result["rdata"] || []
41
41
  values.map do |value|
42
42
  Record.new(
43
43
  data: value,
@@ -9,7 +9,7 @@ module Ukemi
9
9
  private
10
10
 
11
11
  def config_keys
12
- %w(OTX_API_KEY)
12
+ %w[OTX_API_KEY]
13
13
  end
14
14
 
15
15
  def api_key
@@ -31,8 +31,8 @@ module Ukemi
31
31
  next if record.record_type != "A"
32
32
 
33
33
  domain = record.hostname
34
- memo[domain] << Date.parse(record.last).to_s
35
- memo[domain] << Date.parse(record.first).to_s
34
+ memo[domain] << Date.parse(record.last).to_s
35
+ memo[domain] << Date.parse(record.first).to_s
36
36
  end
37
37
 
38
38
  memo.keys.map do |domain|
@@ -54,8 +54,8 @@ module Ukemi
54
54
  next if record.hostname != data
55
55
 
56
56
  ip = record.address
57
- memo[ip] << Date.parse(record.last).to_s
58
- memo[ip] << Date.parse(record.first).to_s
57
+ memo[ip] << Date.parse(record.last).to_s
58
+ memo[ip] << Date.parse(record.first).to_s
59
59
  end
60
60
 
61
61
  memo.keys.map do |ip|
@@ -12,12 +12,12 @@ module Ukemi
12
12
  end
13
13
 
14
14
  def config_keys
15
- %w(PASSIVETOTAL_USERNAME PASSIVETOTAL_API_KEY)
15
+ %w[PASSIVETOTAL_USERNAME PASSIVETOTAL_API_KEY]
16
16
  end
17
17
 
18
18
  def lookup_by_ip(data)
19
19
  res = api.dns.passive(data)
20
- results = res.dig("results") || []
20
+ results = res["results"] || []
21
21
  convert_to_records results
22
22
  end
23
23
 
@@ -27,9 +27,9 @@ module Ukemi
27
27
 
28
28
  def convert_to_records(results)
29
29
  results.map do |result|
30
- data = result.dig("resolve")
31
- first_seen = result.dig("firstSeen").to_s.split.first
32
- last_seen = result.dig("lastSeen").to_s.split.first
30
+ data = result["resolve"]
31
+ first_seen = result["firstSeen"].to_s.split.first
32
+ last_seen = result["lastSeen"].to_s.split.first
33
33
  Record.new(
34
34
  data: data,
35
35
  first_seen: first_seen,
@@ -9,7 +9,7 @@ module Ukemi
9
9
  private
10
10
 
11
11
  def config_keys
12
- %w(SECURITYTRAILS_API_KEY)
12
+ %w[SECURITYTRAILS_API_KEY]
13
13
  end
14
14
 
15
15
  def api
@@ -17,9 +17,9 @@ module Ukemi
17
17
  end
18
18
 
19
19
  def lookup_by_ip(data)
20
- result = api.domains.search( filter: { ipv4: data })
21
- records = result.dig("records") || []
22
- hostnames = records.map { |record| record.dig("hostname") }
20
+ result = api.domains.search(filter: { ipv4: data })
21
+ records = result["records"] || []
22
+ hostnames = records.map { |record| record["hostname"] }
23
23
  hostnames.map do |hostname|
24
24
  Record.new(
25
25
  data: hostname,
@@ -32,15 +32,15 @@ module Ukemi
32
32
 
33
33
  def lookup_by_domain(data)
34
34
  result = api.history.get_all_dns_history(data, type: "a")
35
- records = result.dig("records") || []
35
+ records = result["records"] || []
36
36
 
37
37
  memo = Hash.new { |h, k| h[k] = [] }
38
38
  records.each do |record|
39
- values = record.dig("values") || []
39
+ values = record["values"] || []
40
40
  values.each do |value|
41
- ip = value.dig("ip")
42
- memo[ip] << record.dig("first_seen")
43
- memo[ip] << record.dig("last_seen")
41
+ ip = value["ip"]
42
+ memo[ip] << record["first_seen"]
43
+ memo[ip] << record["last_seen"]
44
44
  end
45
45
  end
46
46
 
@@ -9,7 +9,7 @@ module Ukemi
9
9
  private
10
10
 
11
11
  def config_keys
12
- %w(VIRUSTOTAL_API_KEY)
12
+ %w[VIRUSTOTAL_API_KEY]
13
13
  end
14
14
 
15
15
  def api
@@ -29,9 +29,9 @@ module Ukemi
29
29
  end
30
30
 
31
31
  def extract_attributes(response)
32
- data = response.dig("data") || []
32
+ data = response["data"] || []
33
33
  data.map do |item|
34
- item.dig("attributes") || []
34
+ item["attributes"] || []
35
35
  end
36
36
  end
37
37
 
@@ -39,8 +39,8 @@ module Ukemi
39
39
  memo = Hash.new { |h, k| h[k] = [] }
40
40
 
41
41
  attributes.each do |attribute|
42
- data = attribute.dig(key)
43
- date = Time.at(attribute.dig("date")).to_date.to_s
42
+ data = attribute[key]
43
+ date = Time.at(attribute["date"]).to_date.to_s
44
44
  memo[data] << date
45
45
  end
46
46
 
data/lib/ukemi/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ukemi
4
- VERSION = "0.4.0"
4
+ VERSION = "0.4.1"
5
5
  end
data/ukemi.gemspec CHANGED
@@ -1,18 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'lib/ukemi/version'
3
+ require_relative "lib/ukemi/version"
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.name = "ukemi"
7
- spec.version = Ukemi::VERSION
8
- spec.authors = ["Manabu Niseki"]
9
- spec.email = ["manabu.niseki@gmail.com"]
6
+ spec.name = "ukemi"
7
+ spec.version = Ukemi::VERSION
8
+ spec.authors = ["Manabu Niseki"]
9
+ spec.email = ["manabu.niseki@gmail.com"]
10
10
 
11
- spec.summary = "A CLI tool for querying passive DNS services"
12
- spec.description = "A CLI tool for querying passive DNS services"
13
- spec.homepage = "https://github.com/ninoseki/ukemi"
14
- spec.license = "MIT"
15
- spec.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
11
+ spec.summary = "A CLI tool for querying passive DNS services"
12
+ spec.description = "A CLI tool for querying passive DNS services"
13
+ spec.homepage = "https://github.com/ninoseki/ukemi"
14
+ spec.license = "MIT"
15
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
16
16
 
17
17
  spec.metadata["homepage_uri"] = spec.homepage
18
18
 
@@ -21,26 +21,28 @@ Gem::Specification.new do |spec|
21
21
  spec.files = Dir.chdir(File.expand_path(__dir__)) do
22
22
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
23
23
  end
24
- spec.bindir = "exe"
25
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
+ spec.bindir = "exe"
25
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
26
26
  spec.require_paths = ["lib"]
27
27
 
28
- spec.add_development_dependency "bundler", "~> 2.1"
29
- spec.add_development_dependency "coveralls", "~> 0.8"
28
+ spec.add_development_dependency "bundler", "~> 2.2"
29
+ spec.add_development_dependency "coveralls_reborn", "~> 0.22"
30
+ spec.add_development_dependency "overcommit", "~> 0.58"
30
31
  spec.add_development_dependency "rake", "~> 13.0"
31
- spec.add_development_dependency "rspec", "~> 3.9"
32
+ spec.add_development_dependency "rspec", "~> 3.10"
33
+ spec.add_development_dependency "standard", "~> 1.1"
32
34
  spec.add_development_dependency "vcr", "~> 6.0"
33
- spec.add_development_dependency "webmock", "~> 3.8"
35
+ spec.add_development_dependency "webmock", "~> 3.14"
34
36
 
35
- spec.add_dependency "addressable", "~> 2.7"
37
+ spec.add_dependency "addressable", "~> 2.8"
36
38
  spec.add_dependency "dnsdb", "~> 0.1"
37
39
  spec.add_dependency "mem", "~> 0.1"
38
40
  spec.add_dependency "otx_ruby", "~> 0.9"
39
- spec.add_dependency "parallel", "~> 1.19"
41
+ spec.add_dependency "parallel", "~> 1.20"
40
42
  spec.add_dependency "passive_circl", "~> 0.1"
41
43
  spec.add_dependency "passivetotalx", "~> 0.1"
42
44
  spec.add_dependency "public_suffix", "~> 4.0"
43
45
  spec.add_dependency "securitytrails", "~> 1.0"
44
- spec.add_dependency "thor", "~> 1.0"
46
+ spec.add_dependency "thor", "~> 1.1"
45
47
  spec.add_dependency "virustotalx", "~> 1.1"
46
48
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ukemi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Manabu Niseki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-08-01 00:00:00.000000000 Z
11
+ date: 2021-08-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,28 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.1'
19
+ version: '2.2'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '2.1'
26
+ version: '2.2'
27
27
  - !ruby/object:Gem::Dependency
28
- name: coveralls
28
+ name: coveralls_reborn
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.8'
33
+ version: '0.22'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.8'
40
+ version: '0.22'
41
+ - !ruby/object:Gem::Dependency
42
+ name: overcommit
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.58'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.58'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rake
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +72,28 @@ dependencies:
58
72
  requirements:
59
73
  - - "~>"
60
74
  - !ruby/object:Gem::Version
61
- version: '3.9'
75
+ version: '3.10'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '3.10'
83
+ - !ruby/object:Gem::Dependency
84
+ name: standard
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.1'
62
90
  type: :development
63
91
  prerelease: false
64
92
  version_requirements: !ruby/object:Gem::Requirement
65
93
  requirements:
66
94
  - - "~>"
67
95
  - !ruby/object:Gem::Version
68
- version: '3.9'
96
+ version: '1.1'
69
97
  - !ruby/object:Gem::Dependency
70
98
  name: vcr
71
99
  requirement: !ruby/object:Gem::Requirement
@@ -86,28 +114,28 @@ dependencies:
86
114
  requirements:
87
115
  - - "~>"
88
116
  - !ruby/object:Gem::Version
89
- version: '3.8'
117
+ version: '3.14'
90
118
  type: :development
91
119
  prerelease: false
92
120
  version_requirements: !ruby/object:Gem::Requirement
93
121
  requirements:
94
122
  - - "~>"
95
123
  - !ruby/object:Gem::Version
96
- version: '3.8'
124
+ version: '3.14'
97
125
  - !ruby/object:Gem::Dependency
98
126
  name: addressable
99
127
  requirement: !ruby/object:Gem::Requirement
100
128
  requirements:
101
129
  - - "~>"
102
130
  - !ruby/object:Gem::Version
103
- version: '2.7'
131
+ version: '2.8'
104
132
  type: :runtime
105
133
  prerelease: false
106
134
  version_requirements: !ruby/object:Gem::Requirement
107
135
  requirements:
108
136
  - - "~>"
109
137
  - !ruby/object:Gem::Version
110
- version: '2.7'
138
+ version: '2.8'
111
139
  - !ruby/object:Gem::Dependency
112
140
  name: dnsdb
113
141
  requirement: !ruby/object:Gem::Requirement
@@ -156,14 +184,14 @@ dependencies:
156
184
  requirements:
157
185
  - - "~>"
158
186
  - !ruby/object:Gem::Version
159
- version: '1.19'
187
+ version: '1.20'
160
188
  type: :runtime
161
189
  prerelease: false
162
190
  version_requirements: !ruby/object:Gem::Requirement
163
191
  requirements:
164
192
  - - "~>"
165
193
  - !ruby/object:Gem::Version
166
- version: '1.19'
194
+ version: '1.20'
167
195
  - !ruby/object:Gem::Dependency
168
196
  name: passive_circl
169
197
  requirement: !ruby/object:Gem::Requirement
@@ -226,14 +254,14 @@ dependencies:
226
254
  requirements:
227
255
  - - "~>"
228
256
  - !ruby/object:Gem::Version
229
- version: '1.0'
257
+ version: '1.1'
230
258
  type: :runtime
231
259
  prerelease: false
232
260
  version_requirements: !ruby/object:Gem::Requirement
233
261
  requirements:
234
262
  - - "~>"
235
263
  - !ruby/object:Gem::Version
236
- version: '1.0'
264
+ version: '1.1'
237
265
  - !ruby/object:Gem::Dependency
238
266
  name: virustotalx
239
267
  requirement: !ruby/object:Gem::Requirement
@@ -256,9 +284,11 @@ executables:
256
284
  extensions: []
257
285
  extra_rdoc_files: []
258
286
  files:
287
+ - ".github/workflows/test.yaml"
259
288
  - ".gitignore"
289
+ - ".overcommit.yml"
260
290
  - ".rspec"
261
- - ".travis.yml"
291
+ - ".standard.yml"
262
292
  - Gemfile
263
293
  - LICENSE
264
294
  - README.md
@@ -294,14 +324,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
294
324
  requirements:
295
325
  - - ">="
296
326
  - !ruby/object:Gem::Version
297
- version: 2.3.0
327
+ version: 2.7.0
298
328
  required_rubygems_version: !ruby/object:Gem::Requirement
299
329
  requirements:
300
330
  - - ">="
301
331
  - !ruby/object:Gem::Version
302
332
  version: '0'
303
333
  requirements: []
304
- rubygems_version: 3.1.2
334
+ rubygems_version: 3.2.22
305
335
  signing_key:
306
336
  specification_version: 4
307
337
  summary: A CLI tool for querying passive DNS services
data/.travis.yml DELETED
@@ -1,6 +0,0 @@
1
- ---
2
- language: ruby
3
- cache: bundler
4
- rvm:
5
- - 2.7
6
- before_install: gem install bundler -v 2.1