Sha256: 02884f227de1d156db730226f87999f206dadaab366b7aec23da5d1a112a6b84

Contents?: true

Size: 606 Bytes

Versions: 3

Compression:

Stored size: 606 Bytes

Contents

#!/usr/bin/env ruby

require 'rubydns'
require 'psych'

db_file = ARGV[0]
port = ARGV[1] || 5300

db = if File.file? db_file
       warn 'Found dns db'
       Psych.load_file(db_file)
     else
       warn 'Found no dns db. Use default db.'

       {
         /www\.example\.org/ => '1.1.1.1'
       }
     end

interfaces = [
  [:udp, '127.0.0.1', port],
  [:tcp, '127.0.0.1', port]
]

# Start the RubyDNS server
RubyDNS.run_server(listen: interfaces) do
  db.each do |matcher, result|
    match(matcher, Resolv::DNS::Resource::IN::A) do |transaction|
      transaction.respond!(result)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
middleman-cli-4.3.0.rc.4 fixtures/preview-server-app/bin/dns_server.rb
middleman-cli-4.3.0.rc.3 fixtures/preview-server-app/bin/dns_server.rb
middleman-cli-4.3.0.rc.2 fixtures/preview-server-app/bin/dns_server.rb