IPv6 support Last revised: Mar 24, 2021

IPv6 support

This document provides information about IPv6 support which is a new
eggdrop feature since version 1.8.0.

ABOUT

Eggdrop can be compiled with IPv6 support. To make use of this, you need
an IPv6-enabled OS and IPv6 connectivity. Every possible type of TCP
connection can be established over IPv6 now, which includes IRC
connections, DCC connections, file transfer, botnet connections, Tcl
script connections initiated with the listen/connect commands, telnet
and ident lookups.

INSTALLATION

./configure and install as usual, the configure script will detect if
your system supports IPv6 and will enable it automatically. You can
override this behavior and manually enable or disable IPv6 with
./configure --enable-ipv6 or ./configure --disable-ipv6. Older operating
systems may have limited or no support for IPv6. Linux 2.4 & 2.6,
FreeBSD, NetBSD, OpenBSD and Mac OS X all have full IPv6 support. MS
Windows has proper support beginning with Windows Vista. XP's IPv6 stack
has some limitations and needs to be manually installed and enabled.
Cygwin includes IPv6 only since version 1.7. Unofficial patches are
available for 1.5.x.

USAGE

You can use IPv6 addresses wherever you could specify IPv4 ones. IPs and
hostnames are interchangeable everywhere. For certain settings and
commands, you can enclose IPv6 addresses in square brackets to prevent
the colon character (:) from being interpreted as a port separator.
These are documented in the help files and the html documentation, so
you can consult them when in doubt.

CTCP CHAT/CHAT4/CHAT6

When a user sends a CTCP chat request, the request is passed to the bot
via the IRC server, hiding the user's IP. Since Eggdrop is unable to
'see' the type IP of the user is using (IPv4 or IPv6), it is thus unable
to determine whether it should send back an IPv4 or an IPv6 address for
the user to connect to. To work around this problem, the CHAT4 and CHAT6
commands were added to Eggdrop to force it to present an IPv4 or IPv6
address for use with a DCC connection, respectively. Otherwise, the
traditional CHAT command will likely result in the Eggdrop presenting an
IPv4 address to the user. So in short, if you're on an IPv6 address and
want to use CTCP CHAT to initiate a DCC session for the partyline, use
CHAT6, not CHAT as the CTCP argument.

SETTINGS

There are four new IPv6 related config variables:

  vhost4

    set this to use a specific vhost with IPv4 connections. Can contain
    either an IP address or a hostname.

  vhost6

    set this to use a specific vhost with IPv6 connections. Can contain
    either an IPv6 address or a hostname.

  prefer-ipv6

    when a connection can be established through both IPv4 and IPv6. You
    can set this to 1 to prefer IPv6 or to 0 to prefer IPv4.

Other affected variables:

  my-ip and my-hostname are removed now. Their function is split between
  vhost4 and the listen command.

  nat-ip works with IPv4 as it used to. It has no meaning for IPv6 and
  is not queried for IPv6 connections.

Copyright (C) 2010 - 2025 Eggheads Development Team
