shodanz 2.0.6 → 2.0.7

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: 99a5e96240f1b07b93e2c291fe7881099b27f171210f2d5119235b790f4b8df8
4
- data.tar.gz: cd332d55feb245bf520fffde2cd8fde08684c07189e3131b9ad8243e23704a72
3
+ metadata.gz: 3d92deb0585fd18e242bad0340ea6234d7660c8a2f39476f1fd38dbbf600b12f
4
+ data.tar.gz: 6d6527de39e62bb02fd31121f4f18267581ebe766ffb38a8298c828ac55e4e42
5
5
  SHA512:
6
- metadata.gz: c3b310b4ecb5a9623b8b8c5921658363aa5eab7b38aa9b0b2dd94d025aba2833f979ef4de0906434f06e24ebce31ba2618103f17a09e4a790434f632c99a45b2
7
- data.tar.gz: b8114254a3f2e11da8d37532e723c2e1dd9d5e881de38cc0ee489a9ba7144393adb379b7994df404817c1cc22faa0d56eb930faf7049184d0092226c22eaaacb
6
+ metadata.gz: b99faadc4515a125fc64d001a79c7e6f0147b0e184a2cdf4b885d60eccb40783285be2ae16fb765b36ffce1df4bebc319435fec7432eb2a4993d7e65900edc6a
7
+ data.tar.gz: 23159690e115ea13f7e4013f9a0d2afd72d28da59830e6e675fb0c525907a2384d13fca71aac768eceaa706d33b29c810052c78ee8c4c2abbc20c8cfcb1bd978
@@ -6,10 +6,3 @@ updates:
6
6
  interval: daily
7
7
  time: "10:00"
8
8
  open-pull-requests-limit: 10
9
- ignore:
10
- - dependency-name: async-http
11
- versions:
12
- - 0.55.0
13
- - dependency-name: pry
14
- versions:
15
- - 0.14.0
@@ -1,4 +1,4 @@
1
- name: CI
1
+ name: Test
2
2
 
3
3
  on:
4
4
  push:
@@ -11,23 +11,20 @@ on:
11
11
  - cron: "0 9 * * *"
12
12
 
13
13
  jobs:
14
- test:
14
+ rspec:
15
15
  if: |
16
16
  github.actor == 'picatz' ||
17
17
  github.actor == 'dependabot[bot]' ||
18
18
  github.actor == 'dependabot-preview[bot]'
19
19
  runs-on: ubuntu-latest
20
20
  steps:
21
- - uses: actions/checkout@v1
22
- - name: Set up Ruby 2.7
23
- uses: actions/setup-ruby@v1
21
+ - uses: actions/checkout@v3
22
+ - uses: ruby/setup-ruby@v1
24
23
  with:
25
- ruby-version: 2.7.x
26
- - name: Rspec
24
+ ruby-version: '3.2'
25
+ bundler-cache: true
26
+ - name: RSpec
27
27
  env:
28
28
  SHODAN_API_KEY: ${{secrets.SHODAN_API_KEY}}
29
29
  run: |
30
- gem install bundler:2.2.33
31
- bundle _2.2.33_ install --jobs 4 --retry 3
32
- bundle exec rspec
33
-
30
+ bundle exec rake
data/README.md CHANGED
@@ -9,6 +9,7 @@ A modern, async Ruby [gem](https://rubygems.org/) for [Shodan](https://www.shoda
9
9
  ## Installation
10
10
 
11
11
  $ gem install shodanz
12
+
12
13
  ## Usage
13
14
 
14
15
  ```ruby
@@ -16,36 +17,16 @@ require "shodanz"
16
17
 
17
18
  client = Shodanz.client.new(key: "YOUR_API_KEY")
18
19
  ```
19
- > **NOTE:** You can also set the `SHODAN_API_KEY` environment variable instead of passing the API key as an argument when creating a client.
20
+
21
+ > **Note**
22
+ > You can also set the `SHODAN_API_KEY` environment variable instead of passing the API key as an argument when creating a client.
20
23
 
21
24
  ### Optional Async Support
22
25
 
23
26
  Shodanz utilizes [async](https://github.com/socketry/async) to provide asyncronous IO. This doesn't break any existing scripts using Shodanz, but now offers even more flexibility to write more awesome things, like this asyncronous honeypot detector:
24
27
 
25
- ```ruby
26
- require 'async'
27
- require 'shodanz'
28
-
29
- client = Shodanz.client.new
30
-
31
- # Asynchronously stream banner info from shodan and check any
32
- # IP addresses against the experimental honeypot scoring service.
33
- client.streaming_api.banners do |banner|
34
- if ip = banner['ip_str']
35
- Async do
36
- score = client.rest_api.honeypot_score(ip).wait
37
- puts "#{ip} has a #{score * 100}% chance of being a honeypot"
38
- rescue Shodanz::Errors::RateLimited
39
- sleep rand
40
- retry
41
- rescue # any other errors
42
- next
43
- end
44
- end
45
- end
46
- ```
47
-
48
- > **Note:** To run any Shodanz method asyncronously, simply wrap it in a `Async { ... }` block. To wait for any other async operation to finnish in the block, call `.wait` on it.
28
+ > **Note**
29
+ > To run any Shodanz method asyncronously, simply wrap it in a `Async { ... }` block. To wait for any other async operation to finnish in the block, call `.wait` on it.
49
30
 
50
31
  ## REST API
51
32
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Shodanz
4
- VERSION = '2.0.6'
4
+ VERSION = '2.0.7'
5
5
  end
data/lib/shodanz.rb CHANGED
@@ -2,14 +2,14 @@
2
2
 
3
3
  require 'json'
4
4
  require 'async'
5
+ require 'console'
5
6
  require 'async/http/internet'
6
7
  require 'shodanz/version'
7
8
  require 'shodanz/errors'
8
9
  require 'shodanz/api'
9
10
  require 'shodanz/client'
10
11
 
11
- # disable async logs by default
12
- Async.logger.level = 4
12
+ Console.logger.level = 4
13
13
 
14
14
  # Shodanz is a modern Ruby gem for Shodan, the world's
15
15
  # first search engine for Internet-connected devices.
data/shodanz.gemspec CHANGED
@@ -20,13 +20,13 @@ Gem::Specification.new do |spec|
20
20
  end
21
21
  spec.require_paths = ['lib']
22
22
 
23
- spec.add_dependency 'async-http', '>= 0.38.1', '< 0.57.0'
24
- spec.add_dependency 'async', '>= 1.17.1', '< 2.1.0'
23
+ spec.add_dependency 'async-http', '>= 0.38.1', '< 0.62.0'
24
+ spec.add_dependency 'async', '>= 1.17.1', '< 2.7.0'
25
25
 
26
- spec.add_development_dependency 'async-rspec', '~> 1.16.1'
27
- spec.add_development_dependency 'bundler', '~> 2.2.0'
26
+ spec.add_development_dependency 'async-rspec', '~> 1.17.0'
27
+ spec.add_development_dependency 'bundler', '~> 2.4.0'
28
28
  spec.add_development_dependency 'pry', '~> 0.14.1'
29
- spec.add_development_dependency 'rake', '~> 13.0.0'
29
+ spec.add_development_dependency 'rake', '~> 13.1.0'
30
30
  spec.add_development_dependency 'rb-readline', '~> 0.5.5'
31
- spec.add_development_dependency 'rspec', '~> 3.11.0'
31
+ spec.add_development_dependency 'rspec', '~> 3.12.0'
32
32
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shodanz
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.6
4
+ version: 2.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kent 'picatz' Gruber
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-02-18 00:00:00.000000000 Z
11
+ date: 2023-11-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async-http
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: 0.38.1
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: 0.57.0
22
+ version: 0.62.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: 0.38.1
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: 0.57.0
32
+ version: 0.62.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: async
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -39,7 +39,7 @@ dependencies:
39
39
  version: 1.17.1
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: 2.1.0
42
+ version: 2.7.0
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -49,35 +49,35 @@ dependencies:
49
49
  version: 1.17.1
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
- version: 2.1.0
52
+ version: 2.7.0
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: async-rspec
55
55
  requirement: !ruby/object:Gem::Requirement
56
56
  requirements:
57
57
  - - "~>"
58
58
  - !ruby/object:Gem::Version
59
- version: 1.16.1
59
+ version: 1.17.0
60
60
  type: :development
61
61
  prerelease: false
62
62
  version_requirements: !ruby/object:Gem::Requirement
63
63
  requirements:
64
64
  - - "~>"
65
65
  - !ruby/object:Gem::Version
66
- version: 1.16.1
66
+ version: 1.17.0
67
67
  - !ruby/object:Gem::Dependency
68
68
  name: bundler
69
69
  requirement: !ruby/object:Gem::Requirement
70
70
  requirements:
71
71
  - - "~>"
72
72
  - !ruby/object:Gem::Version
73
- version: 2.2.0
73
+ version: 2.4.0
74
74
  type: :development
75
75
  prerelease: false
76
76
  version_requirements: !ruby/object:Gem::Requirement
77
77
  requirements:
78
78
  - - "~>"
79
79
  - !ruby/object:Gem::Version
80
- version: 2.2.0
80
+ version: 2.4.0
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: pry
83
83
  requirement: !ruby/object:Gem::Requirement
@@ -98,14 +98,14 @@ dependencies:
98
98
  requirements:
99
99
  - - "~>"
100
100
  - !ruby/object:Gem::Version
101
- version: 13.0.0
101
+ version: 13.1.0
102
102
  type: :development
103
103
  prerelease: false
104
104
  version_requirements: !ruby/object:Gem::Requirement
105
105
  requirements:
106
106
  - - "~>"
107
107
  - !ruby/object:Gem::Version
108
- version: 13.0.0
108
+ version: 13.1.0
109
109
  - !ruby/object:Gem::Dependency
110
110
  name: rb-readline
111
111
  requirement: !ruby/object:Gem::Requirement
@@ -126,14 +126,14 @@ dependencies:
126
126
  requirements:
127
127
  - - "~>"
128
128
  - !ruby/object:Gem::Version
129
- version: 3.11.0
129
+ version: 3.12.0
130
130
  type: :development
131
131
  prerelease: false
132
132
  version_requirements: !ruby/object:Gem::Requirement
133
133
  requirements:
134
134
  - - "~>"
135
135
  - !ruby/object:Gem::Version
136
- version: 3.11.0
136
+ version: 3.12.0
137
137
  description: Featuring full support for the REST, Streaming and Exploits API
138
138
  email:
139
139
  - kgruber1@emich.edu
@@ -142,7 +142,7 @@ extensions: []
142
142
  extra_rdoc_files: []
143
143
  files:
144
144
  - ".github/dependabot.yml"
145
- - ".github/workflows/ci.yml"
145
+ - ".github/workflows/test.yml"
146
146
  - ".gitignore"
147
147
  - ".rspec"
148
148
  - CODE_OF_CONDUCT.md
@@ -171,7 +171,7 @@ homepage: https://github.com/picatz/shodanz
171
171
  licenses:
172
172
  - MIT
173
173
  metadata: {}
174
- post_install_message:
174
+ post_install_message:
175
175
  rdoc_options: []
176
176
  require_paths:
177
177
  - lib
@@ -186,8 +186,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
186
186
  - !ruby/object:Gem::Version
187
187
  version: '0'
188
188
  requirements: []
189
- rubygems_version: 3.0.6
190
- signing_key:
189
+ rubygems_version: 3.4.10
190
+ signing_key:
191
191
  specification_version: 4
192
192
  summary: A modern, async Ruby gem for Shodan, the world's first search engine for
193
193
  Internet-connected devices.