rubydns 0.1.8

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.
File without changes
@@ -0,0 +1,74 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # Copyright (c) 2009 Samuel Williams. Released under the GNU GPLv3.
4
+ #
5
+ # This program is free software: you can redistribute it and/or modify
6
+ # it under the terms of the GNU General Public License as published by
7
+ # the Free Software Foundation, either version 3 of the License, or
8
+ # (at your option) any later version.
9
+ #
10
+ # This program is distributed in the hope that it will be useful,
11
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
12
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
+ # GNU General Public License for more details.
14
+ #
15
+ # You should have received a copy of the GNU General Public License
16
+ # along with this program. If not, see <http://www.gnu.org/licenses/>.
17
+
18
+ require 'rubygems'
19
+ require 'rubydns'
20
+
21
+ $R = Resolv::DNS.new
22
+ Name = Resolv::DNS::Name
23
+
24
+ RubyDNS::run_server(:listen => [[:udp, "0.0.0.0", 5300]]) do
25
+ # SOA Record
26
+ # dig @localhost -p 5300 SOA mydomain.org
27
+ match("mydomain.org", :SOA) do |transaction|
28
+ #
29
+ # For more details about these headers please see:
30
+ # http://www.ripe.net/ripe/docs/ripe-203.html
31
+ #
32
+
33
+ transaction.respond!(
34
+ Name.create("ns.mydomain.org."), # Master Name
35
+ Name.create("admin.mydomain.org."), # Responsible Name
36
+ File.mtime(__FILE__).to_i, # Serial Number
37
+ 1200, # Refresh Time
38
+ 900, # Retry Time
39
+ 3600000, # Maximum TTL / Expiry Time
40
+ 172800 # Minimum TTL
41
+ )
42
+ end
43
+
44
+ # Default NS record
45
+ # dig @localhost -p 5300 NS
46
+ match("", :NS) do |transaction|
47
+ transaction.respond!(Name.create("ns.mydomain.org."))
48
+ end
49
+
50
+ # For this exact address record, return an IP address
51
+ # dig @localhost -p 5300 CNAME bob.mydomain.org
52
+ match(/([^.]+).mydomain.org/, :CNAME) do |match_data, transaction|
53
+ transaction.respond!(Name.create("www.mydomain.org"))
54
+ transaction.append_query!("www.mydomain.org", :A)
55
+ end
56
+
57
+ match("80.0.0.10.in-addr.arpa", :PTR) do |transaction|
58
+ transaction.respond!(Name.create("www.mydomain.org."))
59
+ end
60
+
61
+ match("www.mydomain.org", :A) do |transaction|
62
+ transaction.respond!("10.0.0.80", :record_type => :A)
63
+ end
64
+
65
+ match("ns.mydomain.org", :A) do |transaction|
66
+ transaction.respond!("10.0.0.10")
67
+ end
68
+
69
+ # Default DNS handler
70
+ otherwise do |transaction|
71
+ # Non-Existant Domain
72
+ transaction.failure!(:NXDomain)
73
+ end
74
+ end
@@ -0,0 +1,185 @@
1
+ 0.channel18.facebook.com
2
+ 2leep.com
3
+ EVIntl-ocsp.verisign.com
4
+ EVSecure-ocsp.verisign.com
5
+ a.tribalfusion.com
6
+ a1059.g.akamai.net
7
+ a126.g.akamai.net
8
+ a1338.g.akamai.net
9
+ a199.gi3.akamai.net
10
+ a248.e.akamai.net
11
+ a696.g.akamai.net
12
+ a803.g.akamai.net
13
+ ad.doubleclick.net
14
+ ad.yieldmanager.com
15
+ ad1.netshelter.net
16
+ ad2.netshelter.net
17
+ address.yahoo.com
18
+ ads.adbrite.com
19
+ ads.trademe.co.nz
20
+ ads.tw.adsonar.com
21
+ ads1.perfadbrite.com.akadns.net
22
+ adsfac.us
23
+ ajax.googleapis.com
24
+ aleccolocco.blogspot.com
25
+ anycast-asia.quantserve.com.akadns.net
26
+ apps.facebook.com
27
+ appspot.l.google.com
28
+ ayako.oriontransfer.org
29
+ b.scorecardresearch.com
30
+ b1.adbrite.com
31
+ backend.deviantart.com
32
+ blog.nominet.org.uk
33
+ c.fsdn.com
34
+ cache-01.cleanprint.net
35
+ clients.l.google.com
36
+ clients1.google.com
37
+ cms.myspacecdn.com
38
+ configuration.apple.com
39
+ d.yimg.com
40
+ d1.openx.org
41
+ data.coremetrics.com
42
+ developer.apple.com
43
+ devimages.apple.com
44
+ dg.specificclick.net
45
+ digg.analytics.live.com
46
+ digg.com
47
+ e.vistaprint.com
48
+ englishrussia.com
49
+ feeds.digg.com
50
+ feeds.dzone.com
51
+ feeds.feedburner.com
52
+ feeds2.feedburner.com
53
+ filetransfer.msg.yahoo.com
54
+ filterforge.com
55
+ financier.oriontransfer.co.nz
56
+ gems.oriontransfer.org
57
+ ghs.l.google.com
58
+ googleads.g.doubleclick.net
59
+ googlemail-pop.l.google.com
60
+ groups.google.com
61
+ hat.bmanpn.com
62
+ hogbaysoftware.appspot.com
63
+ i.creativecommons.org
64
+ id.google.com
65
+ images.apple.com
66
+ images.macrumors.com
67
+ images.trademe.co.nz
68
+ img.slate.com
69
+ js.adsonar.com
70
+ js.revsci.net
71
+ kotaku.com
72
+ l.sharethis.com
73
+ l.yimg.com
74
+ lambda-the-ultimate.org
75
+ login.facebook.com
76
+ login.live.com
77
+ login.messaging.aol.com
78
+ login.oscar.aol.com
79
+ login.yahoo.com
80
+ lus.sharethis.com.akadns.net
81
+ m1.2mdn.net
82
+ mac.com
83
+ mail.google.com
84
+ mail.mac.com
85
+ mail.me.com
86
+ managingosx.wordpress.com
87
+ maps.google.com
88
+ marketing.vistaprint.com
89
+ media.digg.com
90
+ media.washingtonpost.com
91
+ messenger.hotmail.com
92
+ metrics.washingtonpost.com
93
+ metro-amz-lb1-1649407802.us-east-1.elb.amazonaws.com
94
+ mm.chitika.net
95
+ news.ycombinator.com
96
+ o.aolcdn.com
97
+ o.sa.aol.com
98
+ ocsp.verisign.net
99
+ odb.outbrain.com
100
+ omega.contacts.msn.com
101
+ omega.contacts.msn.com.nsatc.net
102
+ pagead2.googlesyndication.com
103
+ partner.googleadservices.com
104
+ partnerad.l.google.com
105
+ pixel.quantserve.com
106
+ pop.googlemail.com
107
+ ps.friendconnect.gmodules.com
108
+ publish.iwork.com
109
+ r1rk9np7bpcsfoeekl0khkd2juj27q3o.friendconnect.gmodules.com
110
+ rad.msn.com
111
+ regretfulmorning.com
112
+ resources.infolinks.com
113
+ rss.lists.apple.com
114
+ rss.slashdot.org
115
+ s24.sitemeter.com
116
+ s26.sitemeter.com
117
+ s7.addthis.com
118
+ safebrowsing-cache.google.com
119
+ safebrowsing.clients.google.com
120
+ scripts.chitika.net
121
+ scsa.msg.yahoo.com
122
+ seal.verisign.com
123
+ sec.westpac.co.nz
124
+ secure-nz.imrworldwide.com
125
+ shared-hosted-1561031087.us-east-1.elb.amazonaws.com
126
+ slashdot.org
127
+ slate.cleanprint.net
128
+ spacemusic.libsyn.com
129
+ ssl-google-analytics.l.google.com
130
+ ssl-hints.netflame.cc
131
+ ssl.google-analytics.com
132
+ static.ak.connect.facebook.com
133
+ static.ak.facebook.com
134
+ static.getclicky.com
135
+ stats.wordpress.com
136
+ syndication.thedailywtf.com
137
+ tags.expo9.exponential.com
138
+ talk.google.com
139
+ time.asia.apple.com
140
+ tools.google.com
141
+ votes.buzz.yahoo.com
142
+ widgets.outbrain.com
143
+ wiki.oriontransfer.org
144
+ www-google-analytics.l.google.com
145
+ www.acquire.co.nz
146
+ www.apple.com
147
+ www.apple.com.akadns.net
148
+ www.applejoe.com
149
+ www.apples.com
150
+ www.ascent.co.nz
151
+ www.bing.com
152
+ www.blogcdn.com
153
+ www.blogger.com
154
+ www.blogsmithmedia.com
155
+ www.co2stats.com
156
+ www.demonoid.com
157
+ www.digg.com
158
+ www.drobostore.com
159
+ www.dzone.com
160
+ www.em6live.co.nz
161
+ www.engadget.com
162
+ www.facebook.com
163
+ www.filterforge.com
164
+ www.friendconnect.gmodules.com
165
+ www.geekologie.com
166
+ www.google-analytics.com
167
+ www.google.com
168
+ www.idevgames.com
169
+ www.iwatchstuff.com
170
+ www.l.google.com
171
+ www.linuxquestions.org
172
+ www.lucidsystems.org
173
+ www.macrumors.com
174
+ www.michael.net.nz
175
+ www.potionfactory.com
176
+ www.recipepuppy.com
177
+ www.slashdot.org
178
+ www.slate.com
179
+ www.sqlite.org
180
+ www.trademe.co.nz
181
+ www.vistaprint.com
182
+ www.washingtonpost.com
183
+ www.westpac.co.nz
184
+ www4.l.google.com
185
+ z.digg.com
metadata ADDED
@@ -0,0 +1,89 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rubydns
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: false
5
+ segments:
6
+ - 0
7
+ - 1
8
+ - 8
9
+ version: 0.1.8
10
+ platform: ruby
11
+ authors:
12
+ - Samuel Williams
13
+ autorequire:
14
+ bindir: bin
15
+ cert_chain: []
16
+
17
+ date: 2009-09-04 00:00:00 +12:00
18
+ default_executable:
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: rexec
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 0
29
+ version: "0"
30
+ type: :runtime
31
+ version_requirements: *id001
32
+ description:
33
+ email:
34
+ executables:
35
+ - rd-resolve-test
36
+ - rd-dns-check
37
+ extensions: []
38
+
39
+ extra_rdoc_files:
40
+ - README.rdoc
41
+ files:
42
+ - lib/rubydns/resolv.rb
43
+ - lib/rubydns/server.rb
44
+ - lib/rubydns/transaction.rb
45
+ - lib/rubydns/version.rb
46
+ - lib/rubydns.rb
47
+ - test/daemon1.rb
48
+ - test/daemon2.rb
49
+ - test/example1.rb
50
+ - test/log/Server/stderr.log
51
+ - test/log/Server/stdout.log
52
+ - test/soa_example1.rb
53
+ - test/test_domains.txt
54
+ - bin/rd-dns-check
55
+ - bin/rd-resolve-test
56
+ - README.rdoc
57
+ has_rdoc: true
58
+ homepage: http://www.oriontransfer.co.nz/software/ruby-dns
59
+ licenses: []
60
+
61
+ post_install_message:
62
+ rdoc_options:
63
+ - --main
64
+ - README.rdoc
65
+ require_paths:
66
+ - lib
67
+ required_ruby_version: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ segments:
72
+ - 0
73
+ version: "0"
74
+ required_rubygems_version: !ruby/object:Gem::Requirement
75
+ requirements:
76
+ - - ">="
77
+ - !ruby/object:Gem::Version
78
+ segments:
79
+ - 0
80
+ version: "0"
81
+ requirements: []
82
+
83
+ rubyforge_project:
84
+ rubygems_version: 1.3.6
85
+ signing_key:
86
+ specification_version: 2
87
+ summary: A simple DNS server DSL for Ruby.
88
+ test_files: []
89
+