CustomDNS is a modular DNS server written in Java. It's based on Brian Wellington's dnsjava pacakge, but it adds support for virtual hostnames, SQL databases, and dynamic client updates. You can use CustomDNS out-of-the-box as a clone of ml.org/dyndns.org, or you can use it to develop custom DNS applications.
dnsjava is an implementation of the DNS protocol in Java. It supports all of the common record types. dnsjava provides both high and low level access to the resolver. The high level functions perform queries for records of a given name, type, and class, and return an array of records. A cache is used to reduce the number of queries sent. The low level functions allow direct manipulation of dns messages and records, as well as allowing additional resolver properties to be set. A 'dig' clone, dynamic update program, and basic server are also included. Extensions to the DNS protocol are supported as well (DNSSEC, TSIG, EDNS0).
JH2N (Java host to named conversion program) converts a hosts file to a full BIND 8 or 9 configuration. JH2N was inspired by the h2n.pl program included in the O'Reilly "DNS and BIND" book. Various options are available to enhance its operation by incuding external files. Using the simple host file syntax, very large and complex zones can be maintained.
GNU Libidn is an implementation of the Stringprep, Punycode, and IDNA specifications defined by the IETF Internationalized Domain Names (IDN) working group. It is used to prepare internationalized strings (such as domain name labels, usernames, and passwords) in order to increase the likelihood that string input and string comparison work in ways that make sense for typical users throughout the world. The library contains a generic Stringprep implementation that does Unicode 3.2 NFKC normalization, mapping and prohibition of characters, and bidirectional character handling. Profiles for iSCSI, Kerberos 5, Nameprep, SASL, and XMPP are included. Punycode and ASCII Compatible Encoding (ACE) via IDNA are supported.
YaCy is a search engine that anyone can use to index the Internet (WWW and FTP) or to create a search portal for others (Internet or intranet). The scale of YaCy is limited only by the number of users. and can index billions of web pages. In P2P mode it is fully decentralized. All users of the search engine network are equal and it is not possible for anyone to censor the content of the distributed index.
jresolver is a lightweight domain name resolver library written in pure Java. It is what RFC1034 describes as a stub resolver, i.e. it uses a single nameserver to do the hard work of resolving its queries. It operates using UDP as a transport, and has support for multithreaded querying and a robust resend and timeout mechanism.