dnsbl-client 1.0.4 → 1.0.5
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 +5 -5
- data/data/dnsbl.yaml +0 -4
- data/lib/dnsbl/client/version.rb +1 -1
- data/test/test_dnsbl-client.rb +182 -175
- metadata +3 -10
- data/.gitignore +0 -18
- data/Gemfile +0 -4
- data/LICENSE.txt +0 -22
- data/README.md +0 -37
- data/Rakefile +0 -20
- data/dnsbl-client.gemspec +0 -26
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: f4e20ce5cce11180724a890fa7ffd37a5d0010e7347d032387668cafc29d8ad8
|
4
|
+
data.tar.gz: 17b17dc71cf73c23cd68dd72fe268090e4ee67c933cf26783d91d82a51493a82
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 89452e4db2cab30c21be082070df59cb7a43043332c7e5565c11b990453c977fda18c173434d1b1a3db9c06d4bf24152fe0602a2e0caf5c60f26bcf23a0a720a
|
7
|
+
data.tar.gz: bde3f216674c6fc7ed6432616b16157da78eeb18a2fcc5000229035268884ea0c0af2b5c4891bf5a4a2bfd8a423f8fb34eaacd85eb3bd0251a2d2e21d8e37dd4
|
data/data/dnsbl.yaml
CHANGED
@@ -153,10 +153,6 @@ NOMOREFUN:
|
|
153
153
|
127.0.0.9: See http://moensted.dk/spam/no-more-funn/?addr=$
|
154
154
|
127.0.0.10: Possible open proxy
|
155
155
|
127.0.0.11: Please stop testing our servers
|
156
|
-
SPAMCANNIBAL:
|
157
|
-
domain: bl.spamcannibal.org
|
158
|
-
type: ip
|
159
|
-
127.0.0.2: Blacklisted
|
160
156
|
UCEPROTECT1:
|
161
157
|
domain: dnsbl-1.uceprotect.net
|
162
158
|
type: ip
|
data/lib/dnsbl/client/version.rb
CHANGED
data/test/test_dnsbl-client.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
unless Kernel.respond_to?(:require_relative)
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
2
|
+
module Kernel
|
3
|
+
def require_relative(path)
|
4
|
+
require File.join(File.dirname(caller[0]), path.to_str)
|
5
|
+
end
|
6
|
+
end
|
7
7
|
end
|
8
8
|
|
9
9
|
require_relative 'helper'
|
@@ -11,186 +11,193 @@ require_relative 'helper'
|
|
11
11
|
$nameservers = [['4.2.2.2',53]]
|
12
12
|
|
13
13
|
class TestDNSBLClient < Minitest::Test
|
14
|
-
|
15
|
-
|
16
|
-
|
14
|
+
def test_return_no_hits_for_0_0_0_254
|
15
|
+
c = DNSBL::Client.new
|
16
|
+
c.nameservers = $nameservers
|
17
17
|
# for some reason DRONEBL returns 127.0.0.255 when queried for 127.0.0.255, so I'll use 127.0.0.254
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
18
|
+
# spfbl started returning 127.0.0.254 for 127.0.0.254, so I'll try 0.0.0.254
|
19
|
+
res = c.lookup("0.0.0.254")
|
20
|
+
if res.length > 0
|
21
|
+
puts(res)
|
22
|
+
end
|
23
|
+
assert_equal(0,res.length)
|
24
|
+
end
|
25
|
+
def test_return_all_lists_for_127_0_0_2
|
26
|
+
# this test doesn't work anymore
|
27
|
+
#c = DNSBL::Client.new
|
28
|
+
#c.nameservers = $nameservers
|
29
|
+
#res = c.lookup("127.0.0.2")
|
30
|
+
#puts res
|
31
|
+
#puts c.dnsbls
|
32
|
+
#assert(res.length >= c.dnsbls.length)
|
33
|
+
end
|
34
|
+
def test_return_results_for_bad_domains
|
35
|
+
c = DNSBL::Client.new
|
36
|
+
c.nameservers = $nameservers
|
37
|
+
res = c.lookup("pfizer.viagra.aqybasej.gurdoctor.com")
|
38
|
+
assert(res.length >= 0)
|
39
|
+
end
|
40
|
+
def test_interpret_project_honeypot_results
|
41
|
+
refute_nil(ENV['PHPAPIKEY'], "Project Honeypot API Key Required. Please set PHPAPIKEY.")
|
42
|
+
apikey = ENV['PHPAPIKEY']
|
43
|
+
config = YAML.load("---
|
37
44
|
PROJECTHONEYPOT:
|
38
45
|
domain: dnsbl.httpbl.org
|
39
46
|
type: ip
|
40
47
|
apikey: #{apikey}
|
41
48
|
decoder: phpot_decoder")
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
49
|
+
c = DNSBL::Client.new(config)
|
50
|
+
c.nameservers = $nameservers
|
51
|
+
res = c.lookup("127.0.0.1")
|
52
|
+
assert_equal(0,res.length)
|
53
|
+
res = c.lookup("127.1.1.0")
|
54
|
+
assert_equal(1,res.length)
|
55
|
+
assert_equal("#{apikey}.0.1.1.127.dnsbl.httpbl.org",res[0].query)
|
56
|
+
assert_equal("127.1.1.0",res[0].result)
|
57
|
+
assert_equal("type=search engine,engine=AltaVista",res[0].meaning)
|
58
|
+
res = c.lookup("127.1.1.1")
|
59
|
+
assert_equal(1,res.length)
|
60
|
+
assert_equal("#{apikey}.1.1.1.127",res[0].item)
|
61
|
+
assert_equal("#{apikey}.1.1.1.127.dnsbl.httpbl.org",res[0].query)
|
62
|
+
assert_equal("127.1.1.1",res[0].result)
|
63
|
+
assert_equal("days=1,score=1,type=suspicious",res[0].meaning)
|
64
|
+
res = c.lookup("127.1.1.2")
|
65
|
+
assert_equal(1,res.length)
|
66
|
+
assert_equal("#{apikey}.2.1.1.127",res[0].item)
|
67
|
+
assert_equal("#{apikey}.2.1.1.127.dnsbl.httpbl.org",res[0].query)
|
68
|
+
assert_equal("127.1.1.2",res[0].result)
|
69
|
+
assert_equal("days=1,score=1,type=harvester",res[0].meaning)
|
70
|
+
res = c.lookup("127.1.1.3")
|
71
|
+
assert_equal(1,res.length)
|
72
|
+
assert_equal("#{apikey}.3.1.1.127",res[0].item)
|
73
|
+
assert_equal("#{apikey}.3.1.1.127.dnsbl.httpbl.org",res[0].query)
|
74
|
+
assert_equal("127.1.1.3",res[0].result)
|
75
|
+
assert_equal("days=1,score=1,type=suspicious,harvester",res[0].meaning)
|
76
|
+
res = c.lookup("127.1.1.4")
|
77
|
+
assert_equal(1,res.length)
|
78
|
+
assert_equal("#{apikey}.4.1.1.127",res[0].item)
|
79
|
+
assert_equal("#{apikey}.4.1.1.127.dnsbl.httpbl.org",res[0].query)
|
80
|
+
assert_equal("127.1.1.4",res[0].result)
|
81
|
+
assert_equal("days=1,score=1,type=comment spammer",res[0].meaning)
|
82
|
+
res = c.lookup("127.1.1.5")
|
83
|
+
assert_equal(1,res.length)
|
84
|
+
assert_equal("#{apikey}.5.1.1.127",res[0].item)
|
85
|
+
assert_equal("#{apikey}.5.1.1.127.dnsbl.httpbl.org",res[0].query)
|
86
|
+
assert_equal("127.1.1.5",res[0].result)
|
87
|
+
assert_equal("days=1,score=1,type=suspicious,comment spammer",res[0].meaning)
|
88
|
+
res = c.lookup("127.1.1.6")
|
89
|
+
assert_equal(1,res.length)
|
90
|
+
assert_equal("#{apikey}.6.1.1.127",res[0].item)
|
91
|
+
assert_equal("#{apikey}.6.1.1.127.dnsbl.httpbl.org",res[0].query)
|
92
|
+
assert_equal("127.1.1.6",res[0].result)
|
93
|
+
assert_equal("days=1,score=1,type=harvester,comment spammer",res[0].meaning)
|
94
|
+
res = c.lookup("127.1.1.7")
|
95
|
+
assert_equal(1,res.length)
|
96
|
+
assert_equal("#{apikey}.7.1.1.127",res[0].item)
|
97
|
+
assert_equal("#{apikey}.7.1.1.127.dnsbl.httpbl.org",res[0].query)
|
98
|
+
assert_equal("127.1.1.7",res[0].result)
|
99
|
+
assert_equal("days=1,score=1,type=suspicious,harvester,comment spammer",res[0].meaning)
|
100
|
+
res = c.lookup("127.1.10.1")
|
101
|
+
assert_equal(1,res.length)
|
102
|
+
assert_equal("#{apikey}.1.10.1.127",res[0].item)
|
103
|
+
assert_equal("#{apikey}.1.10.1.127.dnsbl.httpbl.org",res[0].query)
|
104
|
+
assert_equal("127.1.10.1",res[0].result)
|
105
|
+
assert_equal("days=1,score=10,type=suspicious",res[0].meaning)
|
106
|
+
res = c.lookup("127.1.20.1")
|
107
|
+
assert_equal(1,res.length)
|
108
|
+
assert_equal("#{apikey}.1.20.1.127",res[0].item)
|
109
|
+
assert_equal("#{apikey}.1.20.1.127.dnsbl.httpbl.org",res[0].query)
|
110
|
+
assert_equal("127.1.20.1",res[0].result)
|
111
|
+
assert_equal("days=1,score=20,type=suspicious",res[0].meaning)
|
112
|
+
res = c.lookup("127.1.40.1")
|
113
|
+
assert_equal(1,res.length)
|
114
|
+
assert_equal("#{apikey}.1.40.1.127",res[0].item)
|
115
|
+
assert_equal("#{apikey}.1.40.1.127.dnsbl.httpbl.org",res[0].query)
|
116
|
+
assert_equal("127.1.40.1",res[0].result)
|
117
|
+
assert_equal("days=1,score=40,type=suspicious",res[0].meaning)
|
118
|
+
res = c.lookup("127.1.80.1")
|
119
|
+
assert_equal(1,res.length)
|
120
|
+
assert_equal("#{apikey}.1.80.1.127",res[0].item)
|
121
|
+
assert_equal("#{apikey}.1.80.1.127.dnsbl.httpbl.org",res[0].query)
|
122
|
+
assert_equal("127.1.80.1",res[0].result)
|
123
|
+
assert_equal("days=1,score=80,type=suspicious",res[0].meaning)
|
124
|
+
res = c.lookup("127.10.1.1")
|
125
|
+
assert_equal(1,res.length)
|
126
|
+
assert_equal("#{apikey}.1.1.10.127",res[0].item)
|
127
|
+
assert_equal("#{apikey}.1.1.10.127.dnsbl.httpbl.org",res[0].query)
|
128
|
+
assert_equal("127.10.1.1",res[0].result)
|
129
|
+
assert_equal("days=10,score=1,type=suspicious",res[0].meaning)
|
130
|
+
res = c.lookup("127.20.1.1")
|
131
|
+
assert_equal(1,res.length)
|
132
|
+
assert_equal("#{apikey}.1.1.20.127",res[0].item)
|
133
|
+
assert_equal("#{apikey}.1.1.20.127.dnsbl.httpbl.org",res[0].query)
|
134
|
+
assert_equal("127.20.1.1",res[0].result)
|
135
|
+
assert_equal("days=20,score=1,type=suspicious",res[0].meaning)
|
136
|
+
res = c.lookup("127.40.1.1")
|
137
|
+
assert_equal(1,res.length)
|
138
|
+
assert_equal("#{apikey}.1.1.40.127",res[0].item)
|
139
|
+
assert_equal("#{apikey}.1.1.40.127.dnsbl.httpbl.org",res[0].query)
|
140
|
+
assert_equal("127.40.1.1",res[0].result)
|
141
|
+
assert_equal("days=40,score=1,type=suspicious",res[0].meaning)
|
142
|
+
res = c.lookup("127.80.1.1")
|
143
|
+
assert_equal(1,res.length)
|
144
|
+
assert_equal("#{apikey}.1.1.80.127",res[0].item)
|
145
|
+
assert_equal("#{apikey}.1.1.80.127.dnsbl.httpbl.org",res[0].query)
|
146
|
+
assert_equal("127.80.1.1", res[0].result)
|
147
|
+
assert_equal("days=80,score=1,type=suspicious",res[0].meaning)
|
148
|
+
res = c.__phpot_decoder("127.0.0.0")
|
149
|
+
assert_equal("type=search engine,engine=undocumented",res)
|
150
|
+
res = c.__phpot_decoder("127.0.1.0")
|
151
|
+
assert_equal("type=search engine,engine=AltaVista",res)
|
152
|
+
res = c.__phpot_decoder("127.0.2.0")
|
153
|
+
assert_equal("type=search engine,engine=Ask",res)
|
154
|
+
res = c.__phpot_decoder("127.0.3.0")
|
155
|
+
assert_equal("type=search engine,engine=Baidu",res)
|
156
|
+
res = c.__phpot_decoder("127.0.4.0")
|
157
|
+
assert_equal("type=search engine,engine=Excite",res)
|
158
|
+
res = c.__phpot_decoder("127.0.5.0")
|
159
|
+
assert_equal("type=search engine,engine=Google",res)
|
160
|
+
res = c.__phpot_decoder("127.0.6.0")
|
161
|
+
assert_equal("type=search engine,engine=Looksmart",res)
|
162
|
+
res = c.__phpot_decoder("127.0.7.0")
|
163
|
+
assert_equal("type=search engine,engine=Lycos",res)
|
164
|
+
res = c.__phpot_decoder("127.0.8.0")
|
165
|
+
assert_equal("type=search engine,engine=MSN",res)
|
166
|
+
res = c.__phpot_decoder("127.0.9.0")
|
167
|
+
assert_equal("type=search engine,engine=Yahoo",res)
|
168
|
+
res = c.__phpot_decoder("127.0.10.0")
|
169
|
+
assert_equal("type=search engine,engine=Cuil",res)
|
170
|
+
res = c.__phpot_decoder("127.0.11.0")
|
171
|
+
assert_equal("type=search engine,engine=InfoSeek",res)
|
172
|
+
res = c.__phpot_decoder("127.0.12.0")
|
173
|
+
assert_equal("type=search engine,engine=Miscellaneous",res)
|
174
|
+
end
|
168
175
|
|
169
|
-
|
170
|
-
|
171
|
-
|
176
|
+
def test_normalize_domains_to_two_levels_if_it_s_neither_in_two_level_nor_three_level_list
|
177
|
+
c = DNSBL::Client.new
|
178
|
+
c.nameservers = $nameservers
|
172
179
|
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
180
|
+
assert_equal("example.org", c.normalize("example.org"))
|
181
|
+
assert_equal("example.org", c.normalize("www.example.org"))
|
182
|
+
assert_equal("example.org", c.normalize("foo.bar.baz.example.org"))
|
183
|
+
end
|
177
184
|
|
178
|
-
|
179
|
-
|
180
|
-
|
185
|
+
def test_normaize_domains_to_three_levels_if_it_s_in_two_level_list
|
186
|
+
c = DNSBL::Client.new
|
187
|
+
c.nameservers = $nameservers
|
181
188
|
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
189
|
+
assert_equal("example.co.uk", c.normalize("example.co.uk"))
|
190
|
+
assert_equal("example.co.uk", c.normalize("www.example.co.uk"))
|
191
|
+
assert_equal("example.co.uk", c.normalize("foo.bar.baz.example.co.uk"))
|
192
|
+
assert_equal("example.blogspot.com", c.normalize("example.blogspot.com"))
|
193
|
+
end
|
187
194
|
|
188
|
-
|
189
|
-
|
190
|
-
|
195
|
+
def test_normalize_domains_to_four_levels_if_it_s_in_three_level_list
|
196
|
+
c = DNSBL::Client.new
|
197
|
+
c.nameservers = $nameservers
|
191
198
|
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
199
|
+
assert_equal("example.act.edu.au", c.normalize("example.act.edu.au"))
|
200
|
+
assert_equal("example.act.edu.au", c.normalize("www.example.act.edu.au"))
|
201
|
+
assert_equal("example.act.edu.au", c.normalize("foo.bar.example.act.edu.au"))
|
202
|
+
end
|
196
203
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dnsbl-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- chrislee35
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-08-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -46,16 +46,10 @@ executables:
|
|
46
46
|
extensions: []
|
47
47
|
extra_rdoc_files: []
|
48
48
|
files:
|
49
|
-
- ".gitignore"
|
50
|
-
- Gemfile
|
51
|
-
- LICENSE.txt
|
52
|
-
- README.md
|
53
|
-
- Rakefile
|
54
49
|
- bin/dnsbl-client
|
55
50
|
- data/dnsbl.yaml
|
56
51
|
- data/three-level-tlds
|
57
52
|
- data/two-level-tlds
|
58
|
-
- dnsbl-client.gemspec
|
59
53
|
- lib/dnsbl/client.rb
|
60
54
|
- lib/dnsbl/client/version.rb
|
61
55
|
- test/helper.rb
|
@@ -79,8 +73,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
79
73
|
- !ruby/object:Gem::Version
|
80
74
|
version: '0'
|
81
75
|
requirements: []
|
82
|
-
|
83
|
-
rubygems_version: 2.6.12
|
76
|
+
rubygems_version: 3.1.2
|
84
77
|
signing_key:
|
85
78
|
specification_version: 4
|
86
79
|
summary: queries various DNS Blacklists
|
data/.gitignore
DELETED
data/Gemfile
DELETED
data/LICENSE.txt
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
Copyright (c) 2013 chrislee35
|
2
|
-
|
3
|
-
MIT License
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
-
a copy of this software and associated documentation files (the
|
7
|
-
"Software"), to deal in the Software without restriction, including
|
8
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
-
permit persons to whom the Software is furnished to do so, subject to
|
11
|
-
the following conditions:
|
12
|
-
|
13
|
-
The above copyright notice and this permission notice shall be
|
14
|
-
included in all copies or substantial portions of the Software.
|
15
|
-
|
16
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
-
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
-
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
-
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
DELETED
@@ -1,37 +0,0 @@
|
|
1
|
-
# DNSBL::Client
|
2
|
-
|
3
|
-
dnsbl-client queries DNS Blacklists for listings. Currently this only does IP lookups, but the next version will handle domains.
|
4
|
-
|
5
|
-
## Installation
|
6
|
-
|
7
|
-
Add this line to your application's Gemfile:
|
8
|
-
|
9
|
-
gem 'dnsbl-client'
|
10
|
-
|
11
|
-
And then execute:
|
12
|
-
|
13
|
-
$ bundle
|
14
|
-
|
15
|
-
Or install it yourself as:
|
16
|
-
|
17
|
-
$ gem install dnsbl-client
|
18
|
-
|
19
|
-
## Usage
|
20
|
-
|
21
|
-
require "dnsbl/client"
|
22
|
-
c = DNSBL::Client.new
|
23
|
-
c.lookup("203.150.14.85")
|
24
|
-
=> [#<struct DNSBL::DNSBLResult dnsbl="UCEPROTECT1", query="85.14.150.203.dnsbl-1.uceprotect.net", result="127.0.0.2", meaning="Blacklisted", timing=0.0247988700866699>, #<struct DNSBL::DNSBLResult dnsbl="BARRACUDA", query="85.14.150.203.b.barracudacentral.org", result="127.0.0.2", meaning="Listed", timing=0.0266849994659424>]
|
25
|
-
|
26
|
-
c.add_dnsbl("superdnsbl","super.dnsbl.com",'ip',{"0"=>"OK","127.0.0.2"=>"Blacklisted"})
|
27
|
-
puts c.dnsbls.join(" ")
|
28
|
-
|
29
|
-
## Contributing
|
30
|
-
|
31
|
-
1. Fork it
|
32
|
-
2. Create your feature branch (`git checkout -b my-new-feature`)
|
33
|
-
3. Commit your changes (`git commit -am 'Add some feature'`)
|
34
|
-
4. Push to the branch (`git push origin my-new-feature`)
|
35
|
-
5. Create new Pull Request
|
36
|
-
|
37
|
-
<a href='mailto:github@chrislee[dot]dhs[dot]org[stop here]xxx'><img src='http://chrisleephd.us/images/github-email.png?dnsbl-client'></a>
|
data/Rakefile
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
#!/usr/bin/env rake
|
2
|
-
require "bundler/gem_tasks"
|
3
|
-
|
4
|
-
require 'rake/testtask'
|
5
|
-
require 'rdoc/task'
|
6
|
-
|
7
|
-
Rake::TestTask.new do |t|
|
8
|
-
t.libs << 'lib'
|
9
|
-
t.test_files = FileList['test/test_*.rb']
|
10
|
-
t.verbose = true
|
11
|
-
end
|
12
|
-
|
13
|
-
RDoc::Task.new do |rd|
|
14
|
-
rd.main = "README.doc"
|
15
|
-
rd.rdoc_files.include("README.md", "lib/**/*.rb")
|
16
|
-
rd.options << "--all"
|
17
|
-
rd.options << "--verbose"
|
18
|
-
end
|
19
|
-
|
20
|
-
task :default => :test
|
data/dnsbl-client.gemspec
DELETED
@@ -1,26 +0,0 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
lib = File.expand_path('../lib', __FILE__)
|
3
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require 'dnsbl/client/version'
|
5
|
-
|
6
|
-
Gem::Specification.new do |spec|
|
7
|
-
spec.name = "dnsbl-client"
|
8
|
-
spec.version = DNSBL::Client::VERSION
|
9
|
-
spec.authors = ["chrislee35"]
|
10
|
-
spec.email = ["rubygems@chrislee.dhs.org"]
|
11
|
-
spec.description = %q{simple interface to lookup blacklists results}
|
12
|
-
spec.summary = %q{queries various DNS Blacklists}
|
13
|
-
spec.homepage = "http://github.com/chrislee35/dnsbl-client"
|
14
|
-
spec.license = "MIT"
|
15
|
-
|
16
|
-
spec.files = `git ls-files`.split($/)
|
17
|
-
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
-
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
-
spec.require_paths = ["lib"]
|
20
|
-
|
21
|
-
spec.add_development_dependency "bundler", "~> 1.3"
|
22
|
-
spec.add_development_dependency "rake", "~> 10"
|
23
|
-
|
24
|
-
#spec.signing_key = "#{File.dirname(__FILE__)}/../gem-private_key.pem"
|
25
|
-
#spec.cert_chain = ["#{File.dirname(__FILE__)}/../gem-public_cert.pem"]
|
26
|
-
end
|