dps 0.0.9 → 0.0.11

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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/lib/dps.rb +11 -1
  3. data/lib/dps/dns.rb +22 -12
  4. data/lib/dps/version.rb +1 -1
  5. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fe6edaca6bd54be5b2d4209106faad950c85d5e24723bd754924c6299b922c52
4
- data.tar.gz: 846bfda91b9f26aa9319ad02783fe122fde0562b15fda31a38a8e1234751ddcd
3
+ metadata.gz: 591288310761ee808b58e9583dd14a51e14c32d1c6341d859d6560ce64e95cbc
4
+ data.tar.gz: 97e68d49c04562388eba7024b7d5c2a1ca49499543658f09e7f8032baf041dc3
5
5
  SHA512:
6
- metadata.gz: 6a3882d7661bc5efcf9751d5bd3954a91fedce55d3a02a7137244d234b8312a2fc8cd3c2677a82c5e81db376df77ddc23d424d7285e10bec02c405823001bf9a
7
- data.tar.gz: f68a33510f5fc4fbb285da2b2fcd6f5decf5ff494bb2e7e0e90630d30f07df5e4347cec7593d2e329f11c266696f376046f526f3182ddca39cf2b21e5e11d145
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
@@ -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) }.select(&:valid?)
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
- # Reverse since Ruby #pop starts from end of list.
16
- parts.reverse!
17
- action = parts.pop
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(parts)
20
+ Endpoint.new(tail)
23
21
  else
24
- InvalidRecord.new("Unexpected action '#{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
- ::Dnsruby::DNS.open do |dns|
55
+ Dnsruby::DNS.open(dnsruby_config) do |dns|
46
56
  begin
47
- record = dns.getresource(domain, "TXT")
57
+ record = dns.getresource(domain, Dnsruby::Types::TXT)
48
58
  result << record.data
49
59
  rescue Dnsruby::NXDomain => e
50
- raise InvalidRecord.new("Invalid domain.")
60
+ raise StandardError.new("Invalid domain '#{domain}'.")
51
61
  end
52
62
  end
53
63
 
@@ -1,3 +1,3 @@
1
1
  module Dps
2
- VERSION = "0.0.9"
2
+ VERSION = "0.0.11"
3
3
  end
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.9
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-03-21 00:00:00.000000000 Z
11
+ date: 2019-07-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dnsruby