Fork me on GitHub

The latest code is on github

Latest relase (from 2014-06-16): 0.7.0
Download source / binaries: win32/64, android
Older downloads available below.

iodine lets you tunnel IPv4 data through a DNS server. This can be usable in different situations where internet access is firewalled, but DNS queries are allowed.

It runs on Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD and Windows and needs a TUN/TAP device. The bandwidth is asymmetrical with limited upstream and up to 1 Mbit/s downstream.

Compared to other DNS tunnel implementations, iodine offers:
Higher performance
iodine uses the NULL type that allows the downstream data to be sent without encoding. Each DNS reply can contain over a kilobyte of compressed payload data.
iodine runs on many different UNIX-like systems as well as on Win32. Tunnels can be set up between two hosts no matter their endianness or operating system.
iodine uses challenge-response login secured by MD5 hash. It also filters out any packets not coming from the IP used when logging in.
Less setup
iodine handles setting IP number on interfaces automatically, and up to 16 users can share one server at the same time. Packet size is automatically probed for maximum downstream throughput.
See the README, the CHANGELOG and the man page

The latest code is on github. iodine is released under the ISC license.

Test your DNS setup here:

We have a mailing list: iodine-users at You can send to it without joining. Archive is at: Thanks to Tomasz Chmielewski for hosting it.

We are probably idling in #iodine on ircnet if you want to talk. However, please dont just ask a question and leave if you get no reply for 2 minutes, it may take some time before we see it.

iodine is also available in:
MD5sum                            filename                size
fdbf3b81cd69caf5230d76a8b039fd99  iodine-0.7.0.tar.gz     96181 b
795f2e9d0314898ba5a63bd1fdc5fa18 80882 b
b18aca1b9e2a9e72cb77960c355d288b 249352 b

a15bb4faba020d217016fde6e231074a  iodine-0.6.0-rc1.tar.gz 89827 b
a201bc3c2d47775b39cd90b32eb390e7 184337 b
6952343cc4614857f83dbb81247871e7  iodine-0.5.2.tar.gz     50788 b
5bb0b56e047e1453a3695ec0b9478b84  iodine-0.5.1.tar.gz     50636 b
3e3fcf025697ee80f044716eee053848 149905 b
af2d9062b7788fc47385d8c6c645dfa0  iodine-0.5.0.tar.gz     43918 b
890f13ab9ee7ea722baf0ceb3ee561c0  iodine-0.4.2.tar.gz     35262 b
58d82bca11a41a01d0ddfa7d105e6a48  iodine-0.4.1.tar.gz     33551 b
82d331f75a99d1547e0ccc3c3efd0a7a  iodine-0.4.0.tar.gz     30075 b
dfbc5037fe0229e15f6f15775117aef5  iodine-0.3.4.tar.gz     14207 b
f2a64b4fce0d07eafded5c2125d7d80b  iodine-0.3.3.tar.gz     13274 b
cdaee04229c5aefdb806af27910f34d3  iodine-0.3.2.tar.gz     13014 b
c01fb08dabbd24b151fe5dfbb0742f7a  iodine-0.3.1.tar.gz      9956 b
00cce05cfc7ac3c284be62e98c8ffb25  iodine-0.3.tar.gz        9552 b

Latest binaries: (follows latest code, may not work)
android - windows

Back to
Contact us: code at kryo dot se