Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Celluloid::IO-powered DNS server
branch: master
Failed to load latest commit information.
lib/celluloid Fix calling the callback block
spec Gemnasium, Code Climate, Coveralls
tasks
.coveralls.yml Gemnasium, Code Climate, Coveralls
.gitignore Initial commit
.rspec Initial commit
.travis.yml
CHANGES.md Bump version to 0.0.1
Gemfile Gemnasium, Code Climate, Coveralls
LICENSE.txt New logo and README fixups
README.md Celluloid::DNS is defunct
Rakefile Initial commit
celluloid-dns.gemspec Initial commit
logo.png Logo redux (again)

README.md

Celluloid::DNS

Gem Version Build Status Dependency Status Code Climate Coverage Status

Celluloid::DNS is defunct. Please use RubyDNS instead

Celluloid::DNS is a programmable Celluloid "cell" for answering DNS requests. It's implemented using Celluloid::IO and is great for programatic DNS servers which dynamically generate DNS responses, particularly within Celluloid-based programs.

A nonblocking DNS client is already built into Celluloid::IO itself. Celluloid::DNS is just for servers.

Installation

Add this line to your application's Gemfile:

gem 'celluloid-dns'

And then execute:

$ bundle

Or install it yourself as:

$ gem install celluloid-dns

Inside of your Ruby project, use:

require 'celluloid/dns'

...to pull Celluloid::DNS in as a dependency.

Usage

Start a DNS server that always resolves to 127.0.0.1:

require "celluloid/dns"

Celluloid::DNS::Server.new("127.0.0.1", 1234) do |request|
  request.answer request.questions.map { |q| [q, "127.0.0.1"] }
end

sleep

Query the server:

$ dig @localhost -p 1234 anything.com

Contributing to Celluloid::DNS

  • Fork this repository on github
  • Make your changes and send me a pull request
  • If I like them I'll merge them
  • If I've accepted a patch, feel free to ask for commit access

License

Copyright (c) 2012 Tony Arcieri. Distributed under the MIT License. See LICENSE.txt for further details.

Something went wrong with that request. Please try again.