dps 0.0.9 → 0.0.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/dps.rb +11 -1
- data/lib/dps/dns.rb +22 -12
- data/lib/dps/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 591288310761ee808b58e9583dd14a51e14c32d1c6341d859d6560ce64e95cbc
|
4
|
+
data.tar.gz: 97e68d49c04562388eba7024b7d5c2a1ca49499543658f09e7f8032baf041dc3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 42a5e910ec0bcab2af1546396cce787ec34bc6a3c89d89251430f977845f870b588c33dda841b2bf89671f69d0e4aa5f644bd64dbc90fa3a293140d28f0cb7bd
|
7
|
+
data.tar.gz: 738d3a83c035de076664321ea784c6fb05fb31d54f006d08e3433cf633222a10150e349e9c0a65ee0cb5a8bfd6468c8be048721e1b92cd19f5bca1cd1e2ab14f
|
data/lib/dps.rb
CHANGED
@@ -7,11 +7,21 @@ module Dps
|
|
7
7
|
class Error < StandardError; end
|
8
8
|
class ProcNotSetError < StandardError; end
|
9
9
|
|
10
|
+
mattr_accessor :dns_nameservers
|
10
11
|
mattr_accessor :endpoints
|
11
12
|
mattr_accessor :domains
|
12
13
|
mattr_accessor :new_payment_endpoints_renderers
|
14
|
+
|
13
15
|
self.new_payment_endpoints_renderers = {}
|
14
|
-
|
16
|
+
self.dns_nameservers = [
|
17
|
+
'1.1.1.1', # Cloudflare
|
18
|
+
'1.0.0.1', # Cloudflare
|
19
|
+
'84.200.69.80', # DNS Watch
|
20
|
+
'84.200.70.40', # DNS Watch
|
21
|
+
'91.239.100.100', # UncensoredDNS
|
22
|
+
'89.233.43.71', # UncensoredDNS
|
23
|
+
]
|
24
|
+
|
15
25
|
def self.setup
|
16
26
|
yield(self)
|
17
27
|
end
|
data/lib/dps/dns.rb
CHANGED
@@ -6,22 +6,20 @@ module Dps
|
|
6
6
|
class << self
|
7
7
|
def get_records(domain)
|
8
8
|
get_txt_records(domain).
|
9
|
-
collect { |value| decode_txt_record(value) }.
|
9
|
+
collect { |value| decode_txt_record(value) }.
|
10
|
+
select(&:valid?)
|
10
11
|
end
|
11
12
|
|
12
13
|
def decode_txt_record(value)
|
13
14
|
parts = value.gsub('"', '').split
|
14
15
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
parts.reverse!
|
19
|
-
|
20
|
-
case action
|
16
|
+
head, tail = head_and_tail(parts)
|
17
|
+
|
18
|
+
case head
|
21
19
|
when "dps:endpoint"
|
22
|
-
Endpoint.new(
|
20
|
+
Endpoint.new(tail)
|
23
21
|
else
|
24
|
-
InvalidRecord.new("Unexpected action '#{
|
22
|
+
InvalidRecord.new("Unexpected action '#{head}'")
|
25
23
|
end
|
26
24
|
end
|
27
25
|
|
@@ -39,15 +37,27 @@ module Dps
|
|
39
37
|
|
40
38
|
private
|
41
39
|
|
40
|
+
def head_and_tail(array)
|
41
|
+
head = array[0]
|
42
|
+
tail = array[1, array.length - 1]
|
43
|
+
[head, tail]
|
44
|
+
end
|
45
|
+
|
46
|
+
def dnsruby_config
|
47
|
+
{
|
48
|
+
nameserver: Dps.dns_nameservers
|
49
|
+
}
|
50
|
+
end
|
51
|
+
|
42
52
|
def get_txt_records(domain)
|
43
53
|
result = []
|
44
54
|
|
45
|
-
|
55
|
+
Dnsruby::DNS.open(dnsruby_config) do |dns|
|
46
56
|
begin
|
47
|
-
record = dns.getresource(domain,
|
57
|
+
record = dns.getresource(domain, Dnsruby::Types::TXT)
|
48
58
|
result << record.data
|
49
59
|
rescue Dnsruby::NXDomain => e
|
50
|
-
raise
|
60
|
+
raise StandardError.new("Invalid domain '#{domain}'.")
|
51
61
|
end
|
52
62
|
end
|
53
63
|
|
data/lib/dps/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dps
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mat Holroyd
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-07-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dnsruby
|