SHOW:
|
|
- or go back to the newest paste.
1 | #!/usr/bin/env ruby | |
2 | require 'rubydns' | |
3 | require_relative 'ad_functions' | |
4 | ||
5 | INTERFACES = [ | |
6 | [:udp, "0.0.0.0", 53], | |
7 | [:tcp, "0.0.0.0", 53] | |
8 | ] | |
9 | Name = Resolv::DNS::Name | |
10 | IN = Resolv::DNS::Resource::IN | |
11 | ||
12 | # Use upstream DNS for name resolution. | |
13 | UPSTREAM = RubyDNS::Resolver.new([[:udp, "8.8.8.8", 53], [:tcp, "8.8.8.8", 53]]) | |
14 | ||
15 | def self.run | |
16 | # Start the RubyDNS server | |
17 | RubyDNS::run_server(:listen => INTERFACES) do | |
18 | $adservers_array.each do |adserver| | |
19 | - | match(adserver, IN::A) do |transaction| |
19 | + | match(/#{adserver}/, IN::A) do |transaction| |
20 | transaction.respond!("0.0.0.0") | |
21 | end | |
22 | end | |
23 | ||
24 | # Default DNS handler | |
25 | otherwise do |transaction| | |
26 | transaction.passthrough!(UPSTREAM) | |
27 | end | |
28 | end | |
29 | end | |
30 | run |