Skip to content

Commit

Permalink
Update docs
Browse files Browse the repository at this point in the history
  • Loading branch information
vanosg committed Aug 7, 2024
1 parent 320ab0f commit dcd2efe
Show file tree
Hide file tree
Showing 74 changed files with 1,395 additions and 701 deletions.
50 changes: 35 additions & 15 deletions README
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@ WHAT IS EGGDROP?
events, providing information, hosting games, etc.

One of the features that makes Eggdrop stand out from other bots is
module and Tcl scripting support. With scripts and modules you can
make the bot perform almost any task you want. They can do anything:
from preventing floods to greeting users and banning advertisers from
channels.
module and Tcl and Python scripting support. With scripts and modules
you can make the bot perform almost any task you want. They can do
anything: from preventing floods to greeting users and banning
advertisers from channels.

You can also link multiple Eggdrop bots together to form a botnet.
This can allow bots to op each other securely, control floods
Expand Down Expand Up @@ -60,16 +60,17 @@ FTP

The latest Eggdrop stable source code is always located at
https://geteggdrop.com. You can also download the current stable,
previous stable, and development snapshot via FTP at
ftp://ftp.eggheads.org/pub/eggdrop/source
previous stable, and development snapshot at
https://ftp.eggheads.org/pub/eggdrop/source

Git Development Snapshot

Eggdrop development has moved from a CVS-based version control system
to git. If you are interested in trying out the VERY LATEST updates to
Eggdrop, you may be interested in pulling the most recent code from
there. BE WARNED, the development branch of Eggdrop is not to be
considered stable and may (haha) have some significant bugs in it.
Eggdrop developers use git to manage the Eggdrop codebase for
development. If you are interested in trying out the VERY LATEST
updates to Eggdrop, you can use git to obtain most recent code from
the Eggheads repository. BE WARNED, the development branch of Eggdrop
is not to be considered stable and may (haha) contain significant bugs
still being worked on.

To obtain Eggdrop via the git repository (hosted by GitHub), you can
either clone the repository via git or download a development
Expand Down Expand Up @@ -105,10 +106,29 @@ SYSTEM PRE-REQUISITES
download Tcl source from
https://www.tcl.tk/software/tcltk/download.html.

It is also strongly recommended to install openssl (and its
development headers) in order to enable SSL/TLS protection of network
data. The header files are often called something similar to
'libssl-dev'.
Eggdrop also requires openssl (and its development headers) in order
to enable SSL/TLS protection of network data. The header files are
often called something similar to 'libssl-dev'. While not advised,
this requirement can be removed by compilling using
./configure --disable-tls, but you will not be able to connect to
TLS-protected IRC servers nor utilize secure botnet communication.

MINIMUM REQUIREMENTS

Some components of Eggdrop relies on a variety of third-party libraries,
documented here.

-----------------------------------------------------------------------
Functionality Package Minimum Version
------------------------------- ------------------- -------------------
Tcl interpreter (required) Tcl Dev Library 8.5.0

Secure communication OpenSSL 0.9.8

Python module Python 3.8.0

Compression module zlib Any
-----------------------------------------------------------------------

QUICK STARTUP

Expand Down
22 changes: 11 additions & 11 deletions UPGRADING
Original file line number Diff line number Diff line change
Expand Up @@ -26,15 +26,15 @@ HOW TO UPGRADE
Restart your Eggdrop and you will be up and running with the latest
version of Eggdrop.

MUST-READ CHANGES FOR EGGDROP V1.9
MUST-READ CHANGES FOR EGGDROP V1.10

These are NOT all the changes or new settings; rather just the "killer"
changes that may directly affect Eggdrop's previous performance without
modification.

Config file changes

To migrate from a 1.8 to a 1.9 Eggdrop, some changes are suggested to be
To migrate from a 1.8 to a Eggdrop, some changes are suggested to be
made in your configuration file:

- Eggdrop has deprecated the blowfish module for password hashing in
Expand Down Expand Up @@ -62,22 +62,22 @@ made in your configuration file:

Modules

While most 3rd party modules that worked on Eggdrop v1.6/v1.8 should
still work with Eggdrop v1.9, many of them contain a version check that
only allows them to run on 1.6.x bots. We have removed the version check
from some of the more popular modules provide them at
ftp://eggheads.org/pub/eggdrop/modules/1.9/
While most 3rd party modules that worked on older Eggdrop versions
should still work with Eggdrop , many of them contain a version check
that only allows them to run on 1.6.x bots. We have removed the version
check from some of the more popular modules provide them at
https://ftp.eggheads.org/pub/eggdrop/modules/1.10/

Scripts

All 3rd party Tcl scripts that work with Eggdrop v1.6/v1.8 should fully
work with Eggdrop v1.9.
All 3rd party Tcl scripts that worked with Eggdrop versions as early as
v1.6 should still fully work with Eggdrop .

Botnet

In Eggdrop v1.8, Eggdrop bots would automatically attempt to upgrade any
botnet link to an SSL/TLS connection. In v1.9, the user is required to
explicitly request an SSL/TLS connection by prefixing the port with a
botnet link to an SSL/TLS connection. Since v1.9, the user is required
to explicitly request an SSL/TLS connection by prefixing the port with a
'+'. If you wish your botnet to take advantage of encryption, use the
.chaddr command to update your ports to start with a '+'.

Expand Down
15 changes: 9 additions & 6 deletions doc/BOTNET
Original file line number Diff line number Diff line change
Expand Up @@ -90,15 +90,18 @@ Port
and/or users. Note that you can define separate ports for user and
bot connections.

EXAMPLE BOTTREE
EXAMPLE BOTTREES

BotA
|-+BotB
`-+BotC

BotB is linked to a master sharebot, BotA, and a slave sharebot, BotC.
BotB shares passively with [receives from] BotA and shares aggressively
with [sends to] BotC.
|==BotC
|=+BotD
`--BotC

Legend: * -- means the bots are linked, but not sharing userfiles * -+
means the bots are sharing userfiles * == means the bots have an
encrypted link between them, and are not sharing userfiles * =+ means
the bots have an encrypted link between them, and are sharing userfiles

BOT FLAGS

Expand Down
15 changes: 15 additions & 0 deletions doc/IRCv3
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,21 @@ The following capabilities are supported by Eggdrop:
- Monitor
- server-time
- setname
- userhost-in-names
- +typing

ERRATA

- Enabling echo-message will cause Eggdrop to trigger PUB/PUBM binds
on its own messages (because now it can actually see them). This may
cause unintentional functionality with some scripts
- Enabling userhost-in-names will cause Eggdrop's internal mechanisms
to mark a channel's userlist as synch'd upon receiving the NAMES
list after a join, instead of waiting for a full WHO listing. This
is done because the assumption is that userhost-in-names was enabled
as a response to WHO queries being disabled on a server, which
prevents Eggdrop from populating its userlist. To avoid unintended
functionality, it is suggested that this capability only be enabled
on servers that disable WHO queries.

Copyright (C) 2010 - 2024 Eggheads Development Team
18 changes: 9 additions & 9 deletions doc/TLS
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ TLS support Last revised: Jan 26, 2020
TLS support

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

ABOUT

Eggdrop can be optionally compiled with TLS support. This requires
OpenSSL 0.9.8 or more recent installed on your system. TLS support
includes encryption for IRC, DCC, botnet, telnet and scripted
connections as well as certificate authentication for users and bots.
OpenSSL 0.9.8 or later installed on your system. TLS support includes
encryption for IRC, DCC, botnet, telnet and scripted connections as well
as certificate authentication for users and bots.

INSTALLATION

Expand Down Expand Up @@ -82,7 +82,7 @@ like this:

In short, a bot added to your Eggdrop with a +port in the address can
only connect to a bot listening with a +port in the config. Conversely,
a bot added to your eggdrop without a + prefix can only connect to a bot
a bot added to your Eggdrop without a + prefix can only connect to a bot
listening without a + prefix in the config.

If TLS negotiation fails, the connection is deliberately aborted and no
Expand Down Expand Up @@ -111,7 +111,7 @@ Scripts can open or connect to TLS ports the usual way specifying the
port with a plus sign. Alternatively, the connection could be
established as plaintext and later switched on with the starttls Tcl
command. (Note that the other side should also switch to TLS at the same
time - the synchronization is the script's job, not eggdrop's.)
time - the synchronization is the script's job, not Eggdrop's.)

KEYS, CERTIFICATES AND AUTHENTICATION

Expand All @@ -121,7 +121,7 @@ bots and TLS listening ports. General information about certificates and
public key infrastructure can be obtained from Internet. This document
only contains eggdrop-specific information on the subject. The easy way
to create a key and a certificate is to type 'make sslcert' after
compiling your bot (If you installed eggdrop to a non-standard location,
compiling your bot (If you installed Eggdrop to a non-standard location,
use make sslcert DEST=/path/to/eggdrop). This will generate a 4096-bit
private key (eggdrop.key) and a certificate (eggdrop.crt) after you fill
in the required fields. Alternatively, you can use 'make sslsilent' to
Expand All @@ -133,12 +133,12 @@ make a ssl certificate for yourself and enable ssl-cert-auth in the
config file. Then either connect to the bot using TLS and type ".fprint
+" or enter your certificate fingerprint with .fprint SHA1-FINGERPRINT.
To generate a ssl certificate for yourself, you can run the following
command from the eggdrop source directory:
command from the Eggdrop source directory:

openssl req -new -x509 -nodes -keyout my.key -out my.crt -config ssl.conf

When asked about bot's handle, put your handle instead. How to use your
new certificate to connect to eggdrop, depends on your irc client. To
new certificate to connect to Eggdrop, depends on your irc client. To
connect to your bot from the command line, you can use the OpenSSL ssl
client:

Expand Down
8 changes: 0 additions & 8 deletions doc/core.settings
Original file line number Diff line number Diff line change
Expand Up @@ -118,14 +118,6 @@ overwritten by the logfile of the next day.
reaches the size of 550 kilobytes. Note that this only works if
you have keep-all-logs set to 0 (OFF).

set quick-logs 0

This could be good if you have had a problem with logfiles filling
your quota/hard disk or if you log +p and publish it to the web,
and you need more up-to-date info. Note that this setting might
increase the CPU usage of your bot (on the other hand it will
decrease your RAM usage).

set raw-log 0

This setting allows you the logging of raw incoming server traffic
Expand Down
2 changes: 1 addition & 1 deletion doc/html/_static/documentation_options.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const DOCUMENTATION_OPTIONS = {
VERSION: '1.9.5',
VERSION: '1.10.0rc1',
LANGUAGE: 'en',
COLLAPSE_INDEX: false,
BUILDER: 'html',
Expand Down
10 changes: 6 additions & 4 deletions doc/html/about/about.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />

<title>About Eggdrop &#8212; Eggdrop 1.9.5 documentation</title>
<title>About Eggdrop &#8212; Eggdrop 1.10.0rc1 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/eggdrop.css?v=ab48a1b6" />
<script src="../_static/documentation_options.js?v=9cc2bd95"></script>
<script src="../_static/documentation_options.js?v=0c3350b6"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="search" title="Search" href="../search.html" />
Expand All @@ -18,7 +18,7 @@
<div class="header-wrapper" role="banner">
<div class="header">
<div class="headertitle"><a
href="../index.html">Eggdrop 1.9.5 documentation</a></div>
href="../index.html">Eggdrop 1.10.0rc1 documentation</a></div>
<div class="rel" role="navigation" aria-label="related navigation">
<a href="../modules/internals.html" title="Eggdrop Bind Internals"
accesskey="P">previous</a> |
Expand Down Expand Up @@ -53,6 +53,7 @@ <h3>Table of Contents</h3>
<li class="toctree-l1"><a class="reference internal" href="../using/ircv3.html">IRCv3 support</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/accounts.html">Account tracking in Eggdrop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/pbkdf2info.html">Encryption/Hashing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/python.html">Using the Python Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/twitchinfo.html">Twitch</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/tricks.html">Advanced Tips</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/text-sub.html">Textfile Substitutions</a></li>
Expand All @@ -65,6 +66,7 @@ <h3>Table of Contents</h3>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/setup.html">Setting Up Eggdrop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/firststeps.html">Common First Steps</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/tlssetup.html">Enabling TLS Security on Eggdrop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/userfilesharing.html">Sharing Userfiles</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/firstscript.html">Writing an Eggdrop Script</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/module.html">Writing a Basic Eggdrop Module</a></li>
</ul>
Expand Down Expand Up @@ -175,7 +177,7 @@ <h1>About Eggdrop<a class="headerlink" href="#about-eggdrop" title="Link to this

<div class="footer" role="contentinfo">
&#169; Copyright 2024, Eggheads.
Last updated on Jan 14, 2024.
Last updated on Aug 07, 2024.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 7.2.6.
</div>
</div>
Expand Down
10 changes: 6 additions & 4 deletions doc/html/about/legal.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />

<title>Boring legal stuff &#8212; Eggdrop 1.9.5 documentation</title>
<title>Boring legal stuff &#8212; Eggdrop 1.10.0rc1 documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/eggdrop.css?v=ab48a1b6" />
<script src="../_static/documentation_options.js?v=9cc2bd95"></script>
<script src="../_static/documentation_options.js?v=0c3350b6"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="search" title="Search" href="../search.html" />
Expand All @@ -17,7 +17,7 @@
<div class="header-wrapper" role="banner">
<div class="header">
<div class="headertitle"><a
href="../index.html">Eggdrop 1.9.5 documentation</a></div>
href="../index.html">Eggdrop 1.10.0rc1 documentation</a></div>
<div class="rel" role="navigation" aria-label="related navigation">
<a href="about.html" title="About Eggdrop"
accesskey="P">previous</a>
Expand Down Expand Up @@ -50,6 +50,7 @@ <h3>Table of Contents</h3>
<li class="toctree-l1"><a class="reference internal" href="../using/ircv3.html">IRCv3 support</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/accounts.html">Account tracking in Eggdrop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/pbkdf2info.html">Encryption/Hashing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/python.html">Using the Python Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/twitchinfo.html">Twitch</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/tricks.html">Advanced Tips</a></li>
<li class="toctree-l1"><a class="reference internal" href="../using/text-sub.html">Textfile Substitutions</a></li>
Expand All @@ -62,6 +63,7 @@ <h3>Table of Contents</h3>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/setup.html">Setting Up Eggdrop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/firststeps.html">Common First Steps</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/tlssetup.html">Enabling TLS Security on Eggdrop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/userfilesharing.html">Sharing Userfiles</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/firstscript.html">Writing an Eggdrop Script</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/module.html">Writing a Basic Eggdrop Module</a></li>
</ul>
Expand Down Expand Up @@ -126,7 +128,7 @@ <h1>Boring legal stuff<a class="headerlink" href="#boring-legal-stuff" title="Li

<div class="footer" role="contentinfo">
&#169; Copyright 2024, Eggheads.
Last updated on Jan 14, 2024.
Last updated on Aug 07, 2024.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 7.2.6.
</div>
</div>
Expand Down
Loading

0 comments on commit dcd2efe

Please sign in to comment.