File: botnet.html

package info (click to toggle)
eggdrop 1.10.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 9,596 kB
  • sloc: ansic: 65,863; javascript: 8,908; sh: 5,337; tcl: 3,801; makefile: 1,771; python: 121
file content (451 lines) | stat: -rw-r--r-- 26,389 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
<!DOCTYPE html>

<html lang="en" data-content_root="../">
  <head>
    <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>Botnet Sharing and Linking &#8212; Eggdrop 1.10.1rc2 documentation</title>
    <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
    <link rel="stylesheet" type="text/css" href="../_static/eggdrop.css?v=ab48a1b6" />
    <script src="../_static/documentation_options.js?v=290de6c6"></script>
    <script src="../_static/doctools.js?v=9bcbadda"></script>
    <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="IPv6 support" href="ipv6.html" />
    <link rel="prev" title="Bans, Invites, and Exempts" href="bans.html" /> 
  </head><body>
    <div class="header-wrapper" role="banner">
      <div class="header">
        <div class="headertitle"><a
          href="../index.html">Eggdrop 1.10.1rc2 documentation</a></div>
        <div class="rel" role="navigation" aria-label="related navigation">
          <a href="bans.html" title="Bans, Invites, and Exempts"
             accesskey="P">previous</a> |
          <a href="ipv6.html" title="IPv6 support"
             accesskey="N">next</a>
        </div>
       </div>
    </div>

    <div class="content-wrapper">
      <div class="content">
        <div class="sidebar">
          
          <h3>Table of Contents</h3>
          <p class="caption" role="heading"><span class="caption-text">Installing Eggdrop</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../install/readme.html">README</a></li>
<li class="toctree-l1"><a class="reference internal" href="../install/install.html">Installing Eggdrop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../install/upgrading.html">Upgrading Eggdrop</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Using Eggdrop</span></p>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="features.html">Eggdrop Features</a></li>
<li class="toctree-l1"><a class="reference internal" href="core.html">Eggdrop Core Settings</a></li>
<li class="toctree-l1"><a class="reference internal" href="partyline.html">The Party Line</a></li>
<li class="toctree-l1"><a class="reference internal" href="autoscripts.html">Eggdrop Autoscripts</a></li>
<li class="toctree-l1"><a class="reference internal" href="users.html">Users and Flags</a></li>
<li class="toctree-l1"><a class="reference internal" href="bans.html">Bans, Invites, and Exempts</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Botnet Sharing and Linking</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#what-is-a-botnet">What is a botnet?</a></li>
<li class="toctree-l2"><a class="reference internal" href="#terms">Terms</a></li>
<li class="toctree-l2"><a class="reference internal" href="#example-bottrees">Example bottrees</a></li>
<li class="toctree-l2"><a class="reference internal" href="#bot-flags">Bot Flags</a></li>
<li class="toctree-l2"><a class="reference internal" href="#adding-and-linking-bots">Adding and linking bots</a></li>
<li class="toctree-l2"><a class="reference internal" href="#using-botflags">Using botflags</a></li>
<li class="toctree-l2"><a class="reference internal" href="#making-bots-share-user-records">Making bots share user records</a></li>
<li class="toctree-l2"><a class="reference internal" href="#using-certificates-to-authenticate-eggdrops">Using certificates to authenticate Eggdrops</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="ipv6.html">IPv6 support</a></li>
<li class="toctree-l1"><a class="reference internal" href="tls.html">TLS support</a></li>
<li class="toctree-l1"><a class="reference internal" href="ircv3.html">IRCv3 support</a></li>
<li class="toctree-l1"><a class="reference internal" href="accounts.html">Account tracking in Eggdrop</a></li>
<li class="toctree-l1"><a class="reference internal" href="pbkdf2info.html">Encryption/Hashing</a></li>
<li class="toctree-l1"><a class="reference internal" href="python.html">Using the Python Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="twitchinfo.html">Twitch</a></li>
<li class="toctree-l1"><a class="reference internal" href="tricks.html">Advanced Tips</a></li>
<li class="toctree-l1"><a class="reference internal" href="text-sub.html">Textfile Substitutions</a></li>
<li class="toctree-l1"><a class="reference internal" href="tcl-commands.html">Eggdrop Tcl Commands</a></li>
<li class="toctree-l1"><a class="reference internal" href="twitch-tcl-commands.html">Eggdrop Twitch Tcl Commands</a></li>
<li class="toctree-l1"><a class="reference internal" href="patch.html">Patching Eggdrop</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Tutorials</span></p>
<ul>
<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 Tcl Script</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tutorials/module.html">Writing a Basic Eggdrop Module</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">Eggdrop Modules</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../modules/index.html">Eggdrop Module Information</a></li>
<li class="toctree-l1"><a class="reference internal" href="../modules/included.html">Modules included with Eggdrop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../modules/writing.html">How to Write an Eggdrop Module</a></li>
<li class="toctree-l1"><a class="reference internal" href="../modules/internals.html">Eggdrop Bind Internals</a></li>
</ul>
<p class="caption" role="heading"><span class="caption-text">About Eggdrop</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../about/about.html">About Eggdrop</a></li>
<li class="toctree-l1"><a class="reference internal" href="../about/legal.html">Boring legal stuff</a></li>
</ul>

          <div role="search">
            <h3 style="margin-top: 1.5em;">Search</h3>
            <form class="search" action="../search.html" method="get">
                <input type="text" name="q" />
                <input type="submit" value="Go" />
            </form>
          </div>

        </div>
        <div class="document">
            
      <div class="documentwrapper">
        <div class="bodywrapper">
          <div class="body" role="main">
            
  <p>Botnet Sharing and Linking</p>
<section id="botnet-sharing-and-linking">
<h1>Botnet Sharing and Linking<a class="headerlink" href="#botnet-sharing-and-linking" title="Link to this heading">¶</a></h1>
<blockquote>
<div><p>The purpose of this document is to show you what a botnet is and how it
could be useful to you. It also covers botflags userfile sharing.</p>
</div></blockquote>
<section id="what-is-a-botnet">
<h2>What is a botnet?<a class="headerlink" href="#what-is-a-botnet" title="Link to this heading">¶</a></h2>
<blockquote>
<div><p>A botnet consists of two or more bots linked together. This can allow bots to op each other securely, control floods efficiently, and share user lists, ban lists, exempt/invite lists, and ignore lists (if sharing is enabled).</p>
</div></blockquote>
</section>
<section id="terms">
<h2>Terms<a class="headerlink" href="#terms" title="Link to this heading">¶</a></h2>
<p>The following are some common terms used in this document:</p>
<dl>
<dt><strong>Botnet</strong></dt><dd><p>A botnet consists of two or more bots connected together.</p>
</dd>
<dt><strong>Link</strong></dt><dd><p>Link is the term used to describe a bot connecting to another bot.</p>
</dd>
<dt><strong>Hub</strong></dt><dd><p>A bot is described as a hub-bot if one or more bots are linked to it.</p>
</dd>
<dt><strong>Leaf</strong></dt><dd><p>A leaf is a non-hub bot connecting to a hub-bot. A leaf has only one other bot connected to it, its hub. Leaf bots can be assigned the “l” botflag to prevent other bots from linking to them.</p>
</dd>
<dt><strong>Link Bot</strong></dt><dd><p>A link-bot is a bot that is linked to another bot. It may or may not be a hub-bot.</p>
</dd>
<dt><strong>Share</strong></dt><dd><p>Share is the term used to describe the sharing of user records.</p>
</dd>
<dt><strong>Share Bot</strong></dt><dd><p>A share-bot is a bot which shares user records with one or more linked bots.</p>
</dd>
<dt><strong>Aggressive Share</strong></dt><dd><p>Aggressive share is a term used to describe the direction of sharing user-files. Aggressive share bots will SEND userfiles to another passive bot.</p>
</dd>
<dt><strong>Passive Share</strong></dt><dd><p>Passive share is a term used to describe the direction of sharing user-files. Passive share bots will accept userfiles from an aggressive share bot.</p>
</dd>
<dt><strong>Address</strong></dt><dd><p>The physical address, containing the address and port of the bot. For example: lame.org:3333. You can change a bot’s address with:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">.</span><span class="n">chaddr</span> <span class="o">&lt;</span><span class="n">botname</span><span class="o">&gt;</span> <span class="o">&lt;</span><span class="n">address</span><span class="o">&gt;</span> <span class="o">&lt;</span><span class="n">port</span><span class="c1">#&gt;[/&lt;relay-port#&gt;]</span>
</pre></div>
</div>
</dd>
<dt><strong>Relay Port</strong></dt><dd><p>The relay port number of the bot is defined in the config file. Note that you can define one port for bots and another for user connections.</p>
</dd>
<dt><strong>Relay</strong></dt><dd><p>A relay connection is used to relay (jump) to another bot via telnet or DCC chat. You can relay to another bot even if the remote bot is not linked. You can use:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">.</span><span class="n">relay</span> <span class="o">&lt;</span><span class="n">botname</span><span class="o">&gt;</span>
</pre></div>
</div>
<p>to relay to another bot.</p>
</dd>
<dt><strong>Port</strong></dt><dd><p>The telnet port is used by the bot to communicate with other bots and/or users. Note that you can define separate ports for user and bot connections.</p>
</dd>
</dl>
</section>
<section id="example-bottrees">
<h2>Example bottrees<a class="headerlink" href="#example-bottrees" title="Link to this heading">¶</a></h2>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>BotA
  |-+BotB
  |==BotC
  |=+BotD
  `--BotC
</pre></div>
</div>
<p>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</p>
</section>
<section id="bot-flags">
<h2>Bot Flags<a class="headerlink" href="#bot-flags" title="Link to this heading">¶</a></h2>
<p>Flags are attributes that determine what a bot can or is allowed to do.
Flags can be either global (such as +s) or channel specific (such as
|+s #lamest). See ‘.help botattr’ for help with setting these flags.</p>
<p>The following is a list of valid bot flags:</p>
<table class="docutils align-default">
<tbody>
<tr class="row-odd"><td><p>a</p></td>
<td><p>alternate (automatically link to this bot if the hub bot can’t
be linked)</p></td>
</tr>
<tr class="row-even"><td><p>b</p></td>
<td><p>ban sharing (passive bot is allowed to share bans with
aggressive bot)</p></td>
</tr>
<tr class="row-odd"><td><p>c</p></td>
<td><p>channel sharing (passive bot is allowed to share channel
changes with aggressive bot)</p></td>
</tr>
<tr class="row-even"><td><p>d</p></td>
<td><p>share aggressively (SEND userfile to a passive bot),
limited sharing (passive bot is NOT allowed to share anything)</p></td>
</tr>
<tr class="row-odd"><td><p>e</p></td>
<td><p>exempt sharing (passive bot is allowed to share exempts with
aggressive bot)</p></td>
</tr>
<tr class="row-even"><td><p>g</p></td>
<td><p>global share (share all channels)</p></td>
</tr>
<tr class="row-odd"><td><p>h</p></td>
<td><p>hub (automatically link to this bot)</p></td>
</tr>
<tr class="row-even"><td><p>i</p></td>
<td><p>isolate (isolate the party line across a bot link)</p></td>
</tr>
<tr class="row-odd"><td><p>j</p></td>
<td><p>invite sharing (passive bot is allowed to share invites with
aggressive bot)</p></td>
</tr>
<tr class="row-even"><td><p>l</p></td>
<td><p>leaf (bot is not allowed to link in other bots)</p></td>
</tr>
<tr class="row-odd"><td><p>n</p></td>
<td><p>ignore sharing (passive bot is allowed to share ignores with
aggressive bot)</p></td>
</tr>
<tr class="row-even"><td><p>p</p></td>
<td><p>share passively (ACCEPT userfile from an aggressive bot)</p></td>
</tr>
<tr class="row-odd"><td><p>r</p></td>
<td><p>reject (bot will not be allowed to link)</p></td>
</tr>
<tr class="row-even"><td><p>s</p></td>
<td><p>share aggressively (SEND userfile to a passive bot),
unlimited sharing (passive bot is allowed to share anything)</p></td>
</tr>
<tr class="row-odd"><td><p>u</p></td>
<td><p>user sharing (passive bot is allowed to share user changes
with aggressive bot)</p></td>
</tr>
<tr class="row-even"><td><p>0-9</p></td>
<td><p>user defined flags</p></td>
</tr>
</tbody>
</table>
</section>
<section id="adding-and-linking-bots">
<h2>Adding and linking bots<a class="headerlink" href="#adding-and-linking-bots" title="Link to this heading">¶</a></h2>
<p>With the common terms out of the way, we can start with the process of linking two bots. Before you start, you need to know the address and port of each bot you wish to link.</p>
<p>Here is an example scenario:</p>
<blockquote>
<div><p>BotA is on lame.org listening on port 3333, and BotB is on irc.org
listening on port 4444. First, you have to add each Bot to the other’s
userfile. On BotA, you would type ‘.+bot BotB irc.org 4444’. If BotB is
on a common channel with BotA, BotB’s hostmask is automatically added.
Otherwise, you have to add the hostmask manually with the ‘.+host’
command. On BotB, you would type ‘.+bot BotA lame.org 3333’.</p>
</div></blockquote>
<p>At this point, you can link the two bots by typing ‘.link BotA’ on BotB (or ‘.link BotB’ on BotA). The bots will now give themselves random passwords which are <em>not</em> stored encrypted in the userfile. Note that you can link as many bots as you wish to your botnet.</p>
<section id="secure-tls-links">
<h3>Secure (TLS) Links<a class="headerlink" href="#secure-tls-links" title="Link to this heading">¶</a></h3>
<p>Since Eggdrop 1.8.0, the ability to encrypt bot links using TLS is possible. On the hub bot you would prefix the port given in the <cite>listen</cite> command with a +, and when you add the hub bot to the leaf, you would prefix the port used in the <cite>.+bot</cite> command with a +. In other words, you would set <cite>listen +5555</cite> in the hub config and use <cite>.+bot hubbot 1.2.3.4 +5555</cite> on the leaf bot. These settings are explained more thoroughly in the <a class="reference external" href="https://docs.eggheads.org/using/tls.html#botnet">TLS botnet documentation.</a></p>
</section>
</section>
<section id="using-botflags">
<h2>Using botflags<a class="headerlink" href="#using-botflags" title="Link to this heading">¶</a></h2>
<p>Botflags are needed to assign special functions and tasks to your bots.
Bot flags are set with the ‘.botattr’ command. See ‘.help botattr’ for
help with this command. The following is a list of botflags and their
functions:</p>
<blockquote>
<div><dl class="simple">
<dt>“h” (hub)</dt><dd><p>If you want your bot(s) to automatically link/relink, you can assign
the +h botflag each bot’s hub. Note that if you set multiple bots +h,
the bot only attempts to link to one.</p>
</dd>
<dt>“a” (alternate)</dt><dd><p>If your bots are, for some reason, unable to link to their hub, they
will attempt to connect to an alternate hub. You can assign a bot as
an alternate hub by giving it the +a botflag.</p>
</dd>
<dt>“l” (leaf)</dt><dd><p>This flag, assigned to a link bot, will prevent the link bot from linking
other bots to your botnet.</p>
</dd>
<dt>“r” (reject)</dt><dd><p>If you assign this flag to a link bot, the link bot will not be allowed
to link to the botnet.</p>
</dd>
<dt>“i” (isolate)</dt><dd><p>This flag isolates a link bot’s partyline from the rest of the botnet.
Anything said on the link bot’s partyline won’t appear on the rest of
the botnet.</p>
</dd>
<dt>“s” (SEND userfile to)</dt><dd><dl class="simple">
<dt>+s   Giving a link bot this flag will make the bot share aggressively</dt><dd><p>with the link bot. See ‘Aggressive Share’ in section 2 of this
document for more information on aggressive sharing.</p>
</dd>
</dl>
</dd>
<dt>“|s” (channel-specific sharing)</dt><dd><p>+s bots need this flag for each channel you want to share.</p>
</dd>
<dt>“p” (ACCEPT userfile from)</dt><dd><p>Giving a link bot this flag will make the bot share passively with
the link bot. See ‘Passive Share’ in section 2 of this document for
more information on passive sharing.</p>
</dd>
<dt>“g” (global share)</dt><dd><p>This flag allows the sharing of all channels with a link bot.</p>
</dd>
<dt>“0-9” (user-defined)</dt><dd><p>These 10 flags are user-defined can be used by scripters.</p>
</dd>
</dl>
</div></blockquote>
</section>
<section id="making-bots-share-user-records">
<h2>Making bots share user records<a class="headerlink" href="#making-bots-share-user-records" title="Link to this heading">¶</a></h2>
<blockquote>
<div><p>Before you start preparing your bots for sharing, make sure that
you’ve loaded the transfer and share modules. You also have to ensure
that each channel you wish to share is set +shared (see ‘.help
chanset’ and ‘.help chaninfo’).</p>
<p>By using specific botflags, you can cause your bot to share
aggressively with some link bots, and passively with others. For
sharing to work, flags must be set properly on both the passive and
the aggressive bots. An aggressive  bot will not share userfiles with
another aggressive bot; a passive bot will not share userfiles with
another passive bot.</p>
<p>First off, let’s say we have two bots we want to link. We will
call one Lamestbot, and the other Lameshare. The first thing that needs
to be done is each bot needs the other bot added to its user record.
Your botnet should have a hub bot. This will have them connect
automatically whenever they are started. Without a hub, you would have to
manually link them with the .link command. For this situation we will
make Lamestbot the hub for our small botnet. Let’s also use a channel
called #eggdrop as the one we want to share user channel flags with. Do
the following:</p>
<p>On Lamestbot:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">.+</span><span class="n">bot</span> <span class="n">Lameshare</span> <span class="n">eggdrop</span><span class="o">.</span><span class="n">com</span> <span class="mi">3333</span>
</pre></div>
</div>
<p>This command adds a user record to
Lamestbot for Lameshare. Lameshare is running from eggdrop.com and is
on port 3333. If Lameshare were to have a separate port for users/relays
we would just add a ‘/’ and the port number, i.e. 3333/5555:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">.</span><span class="n">botattr</span> <span class="n">Lameshare</span> <span class="o">+</span><span class="n">s</span>
</pre></div>
</div>
<p>This tells us that Lamestbot will only send
user files to Lameshare; Lameshare will not send them to it:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">.</span><span class="n">botattr</span> <span class="n">Lameshare</span> <span class="o">|</span><span class="n">s</span> <span class="c1">#eggdrop</span>
</pre></div>
</div>
<p>This sets up sharing of the channel
flags for #eggdrop between the bots. Without this, they will not share
channel flags only global flags for the users</p>
<p>On Lameshare:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">.+</span><span class="n">bot</span> <span class="n">Lamestbot</span> <span class="n">best</span><span class="o">.</span><span class="n">com</span> <span class="mi">3333</span><span class="o">/</span><span class="mi">5555</span>
</pre></div>
</div>
<p>Again this will add a user on
Lameshare called Lamestbot with the domain of best.com. The bot has
two ports, 3333 for bot communications and 5555 for users/relays:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">.</span><span class="n">botattr</span> <span class="n">Lamestbot</span> <span class="o">+</span><span class="n">hp</span>
</pre></div>
</div>
<p>This command sets Lamestbot as the hub and
also as a passive share, which means Lameshare will accept user files
from Lamestbot::</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">.</span><span class="n">botattr</span> <span class="n">Lamestbot</span> <span class="o">|</span><span class="n">s</span> <span class="c1">#eggdrop</span>
</pre></div>
</div>
<p>This sets #eggdrop as a share channel</p>
<p>Our botnet:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>Lamestbot
  `-+Lameshare
</pre></div>
</div>
<p>Let’s add a third bot called beldin to this scenario:</p>
<p>On Lamestbot:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">.+</span><span class="n">bot</span> <span class="n">beldin</span> <span class="n">llama</span><span class="o">.</span><span class="n">com</span> <span class="mi">3333</span>

<span class="o">.</span><span class="n">botattr</span> <span class="n">beldin</span> <span class="n">s</span><span class="o">|</span><span class="n">s</span> <span class="c1">#eggdrop</span>
</pre></div>
</div>
<p>Notice how i piped (the | character)
the channel flag, also saving time.)</p>
<p>Also note that you don’t have to add beldin on Lameshare. Since
they are already sharing, it was added automatically. The one thing that
you should note is that no bot flags will be shared. If you set beldin as
+s (Aggressive share) on the hub (Lamestbot) he will not be set on the
other bots as that. The same with the channel +s flag. All other flags
will be shared such as the o, f, etc. Now that we have three bots, we
can also set up one as an alternate hub. The alternate hub is the bot
that the bots will auto-connect to in the event the hub goes down or
is unreachable.</p>
<p>Let’s make beldin an alternate hub for our little botnet.</p>
<p>On Lameshare:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="o">.</span><span class="n">botattr</span> <span class="n">beldin</span> <span class="o">+</span><span class="n">a</span>
</pre></div>
</div>
<p>That’s all there is to it. Again, since bot flags are not shared,
you would have to add the bot flag +a for beldin on them all. The only
ones you would not have to do this on are beldin and the hub (Lamestbot).
Of course, if you had more bots, you would have to add beldin as a +a on
them, but you would not do it on the hub or beldin.</p>
<p>Our botnet:</p>
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>Lamestbot
  |-+beldin
  `-+Lameshare
</pre></div>
</div>
</div></blockquote>
</section>
<section id="using-certificates-to-authenticate-eggdrops">
<h2>Using certificates to authenticate Eggdrops<a class="headerlink" href="#using-certificates-to-authenticate-eggdrops" title="Link to this heading">¶</a></h2>
<p>Eggdrops can use certificates to authenticate when linking to each other instead of a password. First, you must ensure you have set the appropriate certificates in the <cite>ssl-privatekey</cite> and <cite>ssl-certificate</cite> settings in the config file, and then enable the <cite>ssl-cert-auth</cite> setting. Next, add the certificate on the partyline by using <cite>.fprint +</cite> to add the fingerprint for the certificate currently in use, or <cite>.fprint &lt;SHA1 fingerprint&gt;</cite> to manually add a fingerprint. Once the config file settings are set 0and fingerprints are added on the partyline, Eggdrops will attempt to use their certificates instead of passwords for authentication.</p>
<p>Copyright (C) 1999 - 2025 Eggheads Development Team</p>
</section>
</section>


            <div class="clearer"></div>
          </div>
        </div>
      </div>
        </div>
        <div class="clearer"></div>
      </div>
    </div>

    <div class="footer-wrapper">
      <div class="footer">
        <div class="left">
          <div role="navigation" aria-label="related navigaton">
            <a href="bans.html" title="Bans, Invites, and Exempts"
              >previous</a> |
            <a href="ipv6.html" title="IPv6 support"
              >next</a>
          </div>
          <div role="note" aria-label="source link">
          </div>
        </div>

        <div class="right">
          
    <div class="footer" role="contentinfo">
    &#169; Copyright 2025, Eggheads.
      Last updated on Aug 15, 2025.
      Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 8.2.3.
    </div>
        </div>
        <div class="clearer"></div>
      </div>
    </div>

  </body>
</html>