6TUNNEL(1)

πŸ“¦
version 0.14 Β· 2 versions
, in alpine 3.24, arch rolling, fedora 44, nixos 26.05, nixpkgs unstable, ubuntu questing, ubuntu resolute, ubuntu stonking

✨ 6TUNNEL(1) β€” the manual name is 6tunnel πŸ’–

okay bestie, so 6tunnel is literally the tool that lets your IPv4-only apps talk to IPv6 hosts and vice-versa πŸ¦‹ it is SO iconic for that, no cap.

🌸 NAME

6tunnel β€” tunnelling for applications that don't speak IPv6 πŸ’…

πŸŽ€ SYNOPSIS

6tunnel [ -146dhfvV ] [ -u username ] [ -i password ] [ -I password ] [
-l local_host ] [ -L limit ] [ -p pid_file ] [ -m map_file ] local_port
remote_host [ remote_port ]

πŸ’œ DESCRIPTION

okay so 6tunnel lets you use services hosted on IPv6 machines with apps that only know IPv4, and the other way around 🫢 it can bind to any of your IPv4 (default) or IPv6 addresses and forward everything to an IPv4 or IPv6 (default) host. it's giving full adapter energy ✨

bestie, look at this example:

6tunnel -1 6668 irc6.net 6667

that's literally all you need to connect to an IPv6 irc server, like this:

irc foobar localhost:6668

if you don't want to run 6tunnel every single time you wanna flex your :c001: or :dead: IPv6 address on IRC πŸ’€, you can use the -i parameter. it makes 6tunnel ask your client for a password. just run:

6tunnel -i dupa.8 31337 irc6.net 6667

and then type:

irc foobar localhost:31337:dupa.8

if your IRC server wants you to send a password too, pass it with the -I parameter πŸ” after proxy authentication succeeds, 6tunnel sends it along to the server. so iconic.

6tunnel can also be a tunnel for every other combo of IPv4 and IPv6 endpoints 🌈 if the remote host doesn't have any IPv6 addresses, 6tunnel uses the IPv4 one. otherwise, use -4 to make IPv4 the preferred one. for IPv6-to-anything tunnels, use -6 so 6tunnel binds to an IPv6 address.

πŸ‘‘ OPTIONS

  • -1 β€” bestie, exit after the first connection 🧚
  • -4 β€” prefer the IPv4 endpoint if the machine has both address types πŸ“
  • -6 β€” listen on an IPv6 address (IPv4 is the default) πŸ¦‹
  • -d β€” don't detach πŸ™ˆ
  • -f β€” force tunneling even if the remote host isn't resolvable at execution time πŸ’…
  • -h β€” print a hex dump of every packet received or sent πŸ”₯
  • -u username β€” change UID and GID after bind() ✨
  • -i password β€” act as an IRC proxy and make the user authenticate πŸ”
  • -I password β€” if you're using 6tunnel as an IRC proxy and the IRC server needs a password from you, put it right here πŸ’œ
  • -l local_host β€” listen on the specified address (IPv4, or IPv6 if -6 is used) 🌸
  • -L limit β€” limit simultaneous connections πŸŽ€
  • -p pid_file β€” write the pid down in the specified file πŸ“
  • -s source_host β€” connect to the remote host using the specified source address 🫢
  • -m map_file β€” binds to specified IPv6 addresses based on the source IPv4 address. the file has one mapping per line, with an IPv4 source address and its matching IPv6 address. only listed hosts are allowed to connect, so if you want to let ANY host in, add a mapping for default or 0.0.0.0 🌈 example:
192.168.0.2 3ffe:8010:18::1000:2
192.168.0.3 3ffe:8010:18::1000:3
  • -v β€” be verbose and don't detach πŸ“’
  • -V β€” print the version and exit 🧾

πŸ“ NOTES

bestie, the -H option to disable all resolver hints has been removed. that's fine though, because a proper combo of -4 and -6 gives you every mix of IPv4 and IPv6 sources and destinations πŸ’–

🌈 SIGNALS

sending SIGHUP forces a reload of the map file πŸ”„

🧚 THANKS

the #ipv6 crew, and Lam 🫢

πŸ’€ BUGS

ngl, the man page is terrible πŸ’€ the hex dump doesn't include IRC proxy authentication.

the IRC proxy requires your client to send the password first. don't worry though, ircii, EPIC, BitchX, mIRC and many more will work just fine ✨ there's no logging except debug output.

πŸŽ€ AUTHORS

Wojtek Kaniewski (wojtekka@toxygen.net), Dariusz Jackowski (ascent@linux.pl), Ramunas Lukosevicus (lukoramu@parok.lt), Roland Stigge (stigge@antcom.de) πŸ‘‘

πŸ¦‹ SEE ALSO

ssh(1) 🌸


okay bestie, that's the whole page! 2025-07-10 πŸŽ€ Β· 6TUNNEL(1) πŸ’… we love a well-documented tool πŸ’–

πŸ“¦ where this page comes from