iodine

The latest code is on github

Latest relase (from 2026-10-25): 0.9.0
Download source / binaries: win64
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, macOS, 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.
Portability
iodine runs on many different UNIX-like systems as well as on Windows. Tunnels can be set up between two hosts no matter their endianness or operating system.
Security
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 pages (iodine, iodined)

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

Test your DNS setup here: https://code.kryo.se/iodine/check-it/

We have a mailing list: iodine-users at lists.wpkg.org. You can send to it without joining. Archive is at: http://lists.wpkg.org/mailman/listinfo/iodine-users. 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                     bytes
037c7523919032a1f3177532f8a04b2e  iodine-0.9.0.tar.gz         419142
9fc514b2690a467db7f269f88aa8a4d4  iodine-0.9.0-windows.zip    624267

6f2a53476cbc09bbffe7e07d6e9dd19d  iodine-0.8.0.tar.gz         100577
3318d1dd3fcab5f3e4ab3cc5b690a3f4  iodine-0.8.0-windows.zip    384238
fdbf3b81cd69caf5230d76a8b039fd99  iodine-0.7.0.tar.gz          96181
795f2e9d0314898ba5a63bd1fdc5fa18  iodine-0.7.0-android.zip     80882
b18aca1b9e2a9e72cb77960c355d288b  iodine-0.7.0-windows.zip    249352
a15bb4faba020d217016fde6e231074a  iodine-0.6.0-rc1.tar.gz      89827
a201bc3c2d47775b39cd90b32eb390e7  iodine-0.6.0-rc1-win32.zip  184337
6952343cc4614857f83dbb81247871e7  iodine-0.5.2.tar.gz          50788
5bb0b56e047e1453a3695ec0b9478b84  iodine-0.5.1.tar.gz          50636
3e3fcf025697ee80f044716eee053848  iodine-0.5.1-win32.zip      149905
af2d9062b7788fc47385d8c6c645dfa0  iodine-0.5.0.tar.gz          43918
890f13ab9ee7ea722baf0ceb3ee561c0  iodine-0.4.2.tar.gz          35262
58d82bca11a41a01d0ddfa7d105e6a48  iodine-0.4.1.tar.gz          33551
82d331f75a99d1547e0ccc3c3efd0a7a  iodine-0.4.0.tar.gz          30075
dfbc5037fe0229e15f6f15775117aef5  iodine-0.3.4.tar.gz          14207
f2a64b4fce0d07eafded5c2125d7d80b  iodine-0.3.3.tar.gz          13274
cdaee04229c5aefdb806af27910f34d3  iodine-0.3.2.tar.gz          13014
c01fb08dabbd24b151fe5dfbb0742f7a  iodine-0.3.1.tar.gz           9956
00cce05cfc7ac3c284be62e98c8ffb25  iodine-0.3.tar.gz             9552


Back to code.kryo.se
Contact us: code at kryo dot se