Page MenuHomeDevCentral

D1209.id3102.diff
No OneTemporary

D1209.id3102.diff

diff --git a/pillar/viperserv/bots.sls b/pillar/viperserv/bots.sls
--- a/pillar/viperserv/bots.sls
+++ b/pillar/viperserv/bots.sls
@@ -11,9 +11,8 @@
viperserv_bots:
Daeghrefn:
+ realname: https://daeghrefn.nasqueron.org
scripts:
- - Core.tcl
- - Tech.tcl
- Daeghrefn/Time.tcl
- Daeghrefn/Wolfplex.tcl
- Daeghrefn/Server.tcl
@@ -26,17 +25,19 @@
- Daeghrefn/Tools.tcl
- Daeghrefn/Channel.tcl
- vendor/proxycheck.tcl
+ modules:
+ - transfer
+ - filesys
+ - seen
Wearg:
+ realname: RabbitMQ broker client
scripts:
- - Core.tcl
- - Tech.tcl
- Wearg/Broker.tcl
- Wearg/Time.tcl
- Wearg/Notifications.tcl
TC2:
+ realname: Tau Ceti Central
runas: tc2
scripts:
- - Core.tcl
- - Tech.tcl
- TC2/Time.tcl
- TC2/Server.tcl
diff --git a/roles/viperserv/eggdrop/config.sls b/roles/viperserv/eggdrop/config.sls
new file mode 100644
--- /dev/null
+++ b/roles/viperserv/eggdrop/config.sls
@@ -0,0 +1,79 @@
+# -------------------------------------------------------------
+# Salt — Deploy eggdrop park
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# Project: Nasqueron
+# Created: 2017-11-14
+# License: Trivial work, not eligible to copyright
+# -------------------------------------------------------------
+
+# -------------------------------------------------------------
+# Directory for configuration
+#
+# Each bot gets a directory to store userlist, chanlist, motd,
+# and specific configuration file.
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+{% for botname, bot in pillar['viperserv_bots'].iteritems() %}
+
+/srv/viperserv/{{ botname }}:
+ file.directory:
+ - user: {{ bot['runas'] | default('viperserv') }}
+ - group: nasqueron-irc
+ - dir_mode: 770
+
+{% endfor %}
+
+# -------------------------------------------------------------
+# Logs
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+{% for botname, bot in pillar['viperserv_bots'].iteritems() %}
+
+/srv/viperserv/logs/{{ botname }}.log:
+ file.managed:
+ - user: {{ bot['runas'] | default('viperserv') }}
+ - group: nasqueron-irc
+
+{% endfor %}
+
+# -------------------------------------------------------------
+# Configuration files
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+/srv/viperserv/core.conf:
+ file.managed:
+ - source: salt://roles/viperserv/eggdrop/files/eggdrop-core.conf
+ - user: viperserv
+ - group: nasqueron-irc
+
+{% for botname, bot in pillar['viperserv_bots'].iteritems() %}
+
+/srv/viperserv/{{ botname }}/eggdrop.conf:
+ file.managed:
+ - source: salt://roles/viperserv/eggdrop/files/eggdrop-bot.conf
+ - user: {{ bot['runas'] | default('viperserv') }}
+ - group: nasqueron-irc
+ - template: jinja
+ - context:
+ botname: {{ botname }}
+ realname: {{ bot['realname'] | default(botname) }}
+ scripts: {{ bot['scripts'] }}
+ modules: {{ bot['modules'] | default([]) }}
+
+/srv/viperserv/{{ botname }}/motd:
+ file.managed:
+ - source: salt://roles/viperserv/eggdrop/files/motd/{{ botname }}
+ - user: {{ bot['runas'] | default('viperserv') }}
+ - group: nasqueron-irc
+
+/srv/viperserv/{{ botname }}/banner:
+ file.managed:
+ - source: salt://roles/viperserv/eggdrop/files/banner
+ - user: {{ bot['runas'] | default('viperserv') }}
+ - group: nasqueron-irc
+ - template: jinja
+ - context:
+ bot: {{ botname }}
+ server: {{ grains['id'] }}
+
+{% endfor %}
diff --git a/roles/viperserv/eggdrop/files/banner b/roles/viperserv/eggdrop/files/banner
new file mode 100644
--- /dev/null
+++ b/roles/viperserv/eggdrop/files/banner
@@ -0,0 +1,3 @@
+This connection is in clear text, so ensure you use a SSH tunnel to the server.
+
+[ {{ server }} ]-[ ViperServ ]-[ {{ bot }} ]
diff --git a/roles/viperserv/eggdrop/files/eggdrop-bot.conf b/roles/viperserv/eggdrop/files/eggdrop-bot.conf
new file mode 100755
--- /dev/null
+++ b/roles/viperserv/eggdrop/files/eggdrop-bot.conf
@@ -0,0 +1,70 @@
+#!/usr/bin/env eggdrop
+
+# -------------------------------------------------------------
+# Eggdrop configuration file
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# License: Trivial work, not eligible to copyright
+# Source file: roles/viperserv/eggdrop/files/eggdrop-bot.conf
+# Pillar file: pillar/viperserv/bots.sls
+# -------------------------------------------------------------
+#
+# <auto-generated>
+# This file is managed by our rOPS SaltStack repository.
+#
+# Changes to this file may cause incorrect behavior
+# and will be lost if the state is redeployed.
+# </auto-generated>
+#
+# _ ___ _____
+# | | / (_)___ ___ _____/ ___/___ ______ __
+# | | / / / __ \/ _ \/ ___/\__ \/ _ \/ ___/ | / /
+# | |/ / / /_/ / __/ / ___/ / __/ / | |/ /
+# |___/_/ .___/\___/_/ /____/\___/_/ |___/
+# /_/
+#
+# [ 1993 technology for 2017 hackers ]
+#
+# -------------------------------------------------------------
+
+# -------------------------------------------------------------
+# Basic settings
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+set username {{ botname }}
+set nick $username
+set altnick {{ botname }}`
+set realname {{ realname }}
+
+set vhost6 viperserv.nasqueron.org
+set listen-addr 2001:470:1f13:9e1:0:c0ff:ee:7
+set prefer-ipv6 1
+
+set network freenode
+set net-type 5
+set servers {
+ chat.freenode.net:+6697
+}
+
+# -------------------------------------------------------------
+# MySQL
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+load lib/fbsql/fbsql.so
+
+# -------------------------------------------------------------
+# Scripts
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+# Main eggdrop settings common to all ViperServ bots
+source core.conf
+
+# Eggdrop modules to load
+{% for module in modules %}
+loadmodule {{ module }}{% endfor %}
+
+# These scripts are provided by the rVIPER distribution
+source scripts/Core.tcl
+source scripts/Tech.tcl
+{% for script in scripts %}
+source scripts/{{ script }}{% endfor %}
+source scripts/vendor/action.fix.tcl
diff --git a/roles/viperserv/eggdrop/files/eggdrop-core.conf b/roles/viperserv/eggdrop/files/eggdrop-core.conf
new file mode 100644
--- /dev/null
+++ b/roles/viperserv/eggdrop/files/eggdrop-core.conf
@@ -0,0 +1,1452 @@
+# -------------------------------------------------------------
+# Eggdrop configuration file
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# License: Trivial work, not eligible to copyright
+# Source file: roles/viperserv/eggdrop/files/eggdrop-core.conf
+# -------------------------------------------------------------
+#
+# <auto-generated>
+# This file is managed by our rOPS SaltStack repository.
+#
+# Changes to this file may cause incorrect behavior
+# and will be lost if the state is redeployed.
+# </auto-generated>
+#
+# _ ___ _____
+# | | / (_)___ ___ _____/ ___/___ ______ __
+# | | / / / __ \/ _ \/ ___/\__ \/ _ \/ ___/ | / /
+# | |/ / / /_/ / __/ / ___/ / __/ / | |/ /
+# |___/_/ .___/\___/_/ /____/\___/_/ |___/
+# /_/
+#
+# [ 1993 technology for 2017 hackers ]
+#
+# -------------------------------------------------------------
+
+##### BASIC SETTINGS #####
+
+# This setting defines which contact person should be shown in .status,
+# /msg help, and other places. You really should include this information.
+set admin "Dereckson <email: dereckson@espace-win.org>"
+
+# This setting is used only for info to share with others on your botnet.
+# Set this to the IRC network your bot is connected to.
+set network "freenode"
+
+# This setting defines which timezone is your bot in. It's used for internal
+# routines as well as for logfile timestamping and scripting purposes.
+# The timezone string specifies the name of the timezone and must be three
+# or more alphabetic characters. For example, Central European Time(UTC+1)
+# should be "CET".
+set timezone "UTC"
+
+# The offset setting specifies the time value to be added to the local
+# time to get Coordinated Universal Time (UTC aka GMT). The offset is
+# positive if the local timezone is west of the Prime Meridian and
+# negative if it is east. The value (in hours) must be between -23 and
+# 23. For example, if the timezone is UTC+1, the offset is -1.
+set offset "0"
+
+# If you don't want to use the timezone setting for scripting purposes only,
+# but instead everywhere possible, un-comment the following line.
+set env(TZ) "$timezone$offset"
+
+############################################################################
+# Network settings overview
+# With the addition of IPv6 and the associated config changes, here are some
+# BASIC common networking scenarios, along with the appropriate settings
+# needed:
+#
+# SHELL PROVIDER (MULTIPLE IPs/VHOSTS)
+# * set vhost4 or vhost6 to the IP/vhost you want to use
+# * set listen-addr to the same IP/vhost as above
+#
+# HOME COMPUTER/VPS, DIRECT INTERNET CONNETION (SINGLE IP, NO NAT)
+# * do not set vhost4/vhost6
+# * do not set listen-addr
+#
+# HOME COMPUTER, BEHIND A NAT
+# * do not set vhost4/vhost6
+# * do not set listen-addr
+# * set nat-ip to your external IP
+#
+# Below is a detailed description of each setting, please read them to
+# learn more about their function.
+############################################################################
+
+# If you're using virtual hosting (your machine has more than 1 IP), you
+# may want to specify the particular IP to bind to. You can specify either
+# by hostname or by IP. Note that this is not used for listening. Use the
+# 'listen-addr' variable to specify the listening address. If you are
+# behind a NAT, you will likely want to leave this commented out as Eggdrop
+# should determine the correct IP on its own.
+#set vhost4 "virtual.host.com"
+#set vhost4 "99.99.0.0"
+
+# IPv6 vhost to bind to for outgoing IPv6 connections. You can set it
+# to any valid IPv6 address or hostname, resolving to an IPv6 address.
+# Note that this is not used for listening. Use the 'listen-addr'
+# variable to specify the listening address.
+#set vhost6 "my.ipv6.host.com"
+#set vhost6 "2001:db8::c001:b07"
+
+# IPv4/IPv6 address (or hostname) to bind for listening. If you don't set
+# this variable, eggdrop will listen on all available IPv4 or IPv6 interfaces,
+# depending on the 'prefer-ipv6' variable (see below).
+# Note that eggdrop will accept IPv4 connections with IPv6 sockets too.
+#set listen-addr "99.99.0.0"
+#set listen-addr "2001:db8:618:5c0:263::"
+#set listen-addr "virtual.host.com"
+
+# If you want to have your Eggdrop messages displayed in a language other
+# than English, change this setting to match your preference. An alternative
+# would be to set the environment variable EGG_LANG to that value.
+#
+# Languages included with Eggdrop: Danish, English, French, Finnish, German.
+#addlang "english"
+
+
+##### LOG FILES #####
+
+# Eggdrop is capable of logging various things, from channel chatter to
+# commands people use on the bot and file transfers. Logfiles are normally
+# kept for 24 hours. Afterwards, they will be renamed to "(logfile).yesterday".
+# After 48 hours, they will be overwritten by the logfile of the next day.
+#
+# Events are logged by certain categories. This way, you can specify
+# exactly what kind of events you want sent to various logfiles.
+#
+# Logfile flags:
+# b - information about bot linking and userfile sharing
+# c - commands
+# d - misc debug information
+# h - raw share traffic
+# j - joins, parts, quits, topic changes, and netsplits on the channel
+# k - kicks, bans, and mode changes on the channel
+# m - private msgs, notices and ctcps to the bot
+# o - misc info, errors, etc (IMPORTANT STUFF)
+# p - public text on the channel
+# r - raw incoming server traffic
+# s - server connects, disconnects, and notices
+# t - raw botnet traffic
+# v - raw outgoing server traffic
+# w - wallops (make sure the bot sets +w in init-server)
+# x - file transfers and file-area commands
+#
+# Note that modes d, h, r, t, and v can fill disk quotas quickly. There are
+# also eight user-defined levels (1-8) which can be used by Tcl scripts.
+#
+# Each logfile belongs to a certain channel. Events of type 'k', 'j', and 'p'
+# are logged to whatever channel they happened on. Most other events are
+# currently logged to every channel. You can make a logfile belong to all
+# channels by assigning it to channel "*".
+
+# This is the maximum number of concurrent logfiles that can be opened
+# for writing at one time. At most, this value should be the maximum
+# number of channels you expect to create log files for. There is no
+# value for 'infinity'; very few cases should ever require more than 20.
+# A decrease to this value while running will require a restart (not rehash)
+# of the bot. However, don't decrease it below 5.
+set max-logs 20
+
+# This is the maximum size of your logfiles. Set it to 0 to disable.
+# This value is in kilobytes, so '550' would mean cycle logs when it
+# reaches the size of 550 kilobytes. Note that this only works if you
+# have keep-all-logs 0 (OFF).
+set max-logsize 0
+
+# This could be good if you have had problem with the logfile filling
+# your quota/hard disk or if you log +p and publish it to the web and
+# 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 mem usage).
+set quick-logs 0
+
+# This setting allows you the logging of raw incoming server traffic via
+# console/log flag 'r', raw outgoing server traffic via console/log mode 'v',
+# raw botnet traffic via console/log mode 't', and raw share traffic via
+# console/log mode 'h'. These flags can create a large security hole,
+# allowing people to see user passwords. This is now restricted to +n users
+# only. Please choose your owners with care.
+set raw-log 0
+
+# This creates a logfile named eggdrop.log containing private msgs/ctcps,
+# commands, errors, and misc. info from any channel.
+logfile mco * "logs/$username.log"
+
+# This creates a logfile named lamest.log containing joins, parts,
+# netsplits, kicks, bans, mode changes, and public chat on the
+# channel #lamest.
+#logfile jpk #lamest "logs/lamest.log"
+
+# Use this feature to timestamp entries in the log file.
+set log-time 1
+
+# Set the following to the timestamp for the logfile entries. Popular times
+# might be "[%H:%M]" (hour, min), or "[%H:%M:%S]" (hour, min, sec).
+# Read `man strftime' for more formatting options. Keep it below 32 chars.
+set timestamp-format {[%H:%M:%S]}
+
+# If you want to keep your logfiles forever, turn this setting on. All
+# logfiles will get suffix ".[day, 2 digits][month, 3 letters][year, 4 digits]".
+# Note that your quota/hard-disk might be filled by this, so check your
+# logfiles often and download them.
+set keep-all-logs 0
+
+# If keep-all-logs is 1, this setting will define the suffix of the logfiles.
+# The default will result in a suffix like "04May2000". "%Y%m%d" will produce
+# the often used yyyymmdd format. Read the strftime manpages for more options.
+# NOTE: On systems which don't support strftime, the default format will
+# be used _always_.
+set logfile-suffix ".%d%b%Y"
+
+# You can specify when Eggdrop should switch logfiles and start fresh. You
+# must use military time for this setting. 300 is the default, and describes
+# 03:00 (AM).
+set switch-logfiles-at 300
+
+# "Writing user file..." and "Writing channel file..." messages won't be logged
+# anymore if this option is enabled. If you set it to 2, the "Backing up user
+# file..." and "Backing up channel file..." messages will also not be logged.
+# In addition to this, you can disable the "Switching logfiles..." and the new
+# date message at midnight, by setting this to 3.
+set quiet-save 0
+
+
+##### CONSOLE #####
+
+# This is the default console mode. It uses the same event flags as the log
+# files do. The console channel is automatically set to your "primary" channel,
+# which is set in the modules section of the config file. Masters can change
+# their console channel and modes with the '.console' command.
+
+set console "mkcobxs"
+
+
+##### FILES AND DIRECTORIES #####
+
+# Specify here the filename your userfile should be saved as.
+set userfile "$username/user"
+
+# Specify here the filename Eggdrop will save its pid to. If no pidfile is
+# specified, pid.(botnet-nick) will be used.
+#set pidfile "pid.LamestBot"
+
+# Specify here where Eggdrop should look for help files. Don't modify this
+# setting unless you know what you're doing!
+set help-path "help/"
+
+# Specify here where Eggdrop should look for text files. This is used for
+# certain Tcl and DCC commands.
+set text-path "$username/"
+
+# The MOTD (Message Of The day) is displayed when people dcc chat or telnet
+# to the bot. Look at doc/TEXT-SUBSTITUTIONS for options.
+set motd "$username/motd"
+
+# This banner will be displayed on telnet connections. Look at
+# doc/TEXT-SUBSTITUTIONS for options.
+set telnet-banner "$username/banner"
+
+# This specifies what permissions the user, channel, and notes files should
+# be set to. The octal values are the same as for the chmod system command.
+#
+# To remind you:
+#
+# u g o u g o u g o
+# 0600 rw------- 0400 r-------- 0200 -w------- u - user
+# 0660 rw-rw---- 0440 r--r----- 0220 -w--w---- g - group
+# 0666 rw-rw-rw- 0444 r--r--r-- 0222 -w--w--w- o - others
+#
+# Note that the default 0600 is the most secure one and should only be changed
+# if you need your files for shell scripting or other external applications.
+set userfile-perm 0660
+
+
+##### BOTNET/DCC/TELNET #####
+
+# Settings in this section should be unimportant for you until you deal
+# with botnets (multiple Eggdrops connected together to maximize efficiency).
+# You should read doc/BOTNET before modifying these settings.
+
+# If you want to use a different nickname on the botnet than you use on
+# IRC (i.e. if you're on an un-trusted botnet), un-comment the next line
+# and set it to the nick you would like to use.
+#set botnet-nick "LlamaBot"
+
+# This opens a telnet port by which you and other bots can interact with the
+# Eggdrop by telneting in.
+#
+# There are more options for the listen command in doc/tcl-commands.doc. Note
+# that if you are running more than one bot on the same machine, you will want
+# to space the telnet ports at LEAST 5 apart, although 10 is even better.
+#
+# Valid ports are typically anything between 1025 and 65535 assuming the
+# port is not already in use.
+#
+# If you would like the bot to listen for users and bots in separate ports,
+# use the following format:
+#
+# listen 3333 bots
+# listen 4444 users
+#
+# If you wish to use only one port, use this format:
+#
+# listen 3333 all
+#
+# You can setup a SSL port by prepending a plus sign to it:
+#
+# listen +5555 all
+#
+# You need to un-comment this line and change the port number in order to open
+# the listen port. You should not keep this set to 3333.
+#listen 3333 all
+
+# This setting defines whether or not people can boot users on the Eggdrop
+# from other bots in your botnet. Valid settings are:
+# 0 - allow *no* outside boots
+# 1 - allow boots from sharebots
+# 2 - allow any boots
+set remote-boots 2
+
+# This setting allows remote bots to tell your Eggdrop to unlink from
+# share bots.
+set share-unlinks 1
+
+# This setting will drop telnet connections not matching a known host.
+set protect-telnet 0
+
+# This setting will make the bot ignore DCC chat requests which appear to
+# have bogus information on the grounds that the user may have been trying
+# to make the bot connect to somewhere that will get it into trouble, or
+# that the user has a broken client, in which case the connect wouldn't work
+# anyway.
+set dcc-sanitycheck 0
+
+# This setting defines the time in seconds the bot should wait for ident reply
+# before the lookup fails. The default ident on timeout is 'telnet'. A value of
+# 0 disables the ident lookup entirely.
+set ident-timeout 5
+
+# Define here whether or not a +o user still needs the +p flag to dcc the bot.
+set require-p 1
+
+# If you want people allow to telnet in and type 'NEW' to become a new user,
+# set this to 1. This is similar to the 'hello' msg command. The protect-telnet
+# setting must be set to 0 to use this.
+set open-telnets 0
+
+# If you don't want Eggdrop to identify itself as an eggdrop on a telnet
+# connection, set this setting to 1. Eggdrop will display 'Nickname' instead.
+set stealth-telnets 0
+
+# If you want Eggdrop to display a banner when telneting in, set this setting
+# to 1. The telnet banner is set by 'set telnet-banner'.
+set use-telnet-banner 1
+
+# This setting defines a time in seconds that the bot should wait before
+# a dcc chat, telnet, or relay connection times out.
+set connect-timeout 15
+
+# Specify here the number of lines to accept from a user on the partyline
+# within 1 second before they are considered to be flooding and therefore
+# get booted.
+set dcc-flood-thr 3
+
+# Define here how many telnet connection attempts in how many seconds from
+# the same host constitute a flood. The correct format is Attempts:Seconds.
+set telnet-flood 5:60
+
+# If you want telnet-flood to apply even to +f users, set this setting to 1.
+set paranoid-telnet-flood 1
+
+# Set here the amount of seconds before giving up on hostname/address
+# lookup (you might want to increase this if you are on a slow network).
+set resolve-timeout 7
+
+
+##### SSL SETTINGS #####
+
+# Settings in this section take effect when eggdrop is compiled with TLS
+# support.
+#
+# IMPORTANT: The following two settings MUST be uncommented in order to
+# use SSL functionality!
+
+# File containing your private key, needed for the SSL certificate
+# (see below). You can create one issuing the following command:
+#
+# openssl genrsa -out eggdrop.key 4096
+#
+# It will create a 4096 bit RSA key, strong enough for eggdrop.
+# For your convenience, you can type 'make sslcert' after 'make install'
+# and you'll get a key and a certificate in your eggdrop directory.
+# If you installed to a non-default location, use 'make sslcert DEST=...'
+#
+# THIS IS REQUIRED if you intend to use this bot as a hub for SSL hubs/
+# listen ports, secure file transfer and /ctcp botnick schat
+#set ssl-privatekey "eggdrop.key"
+
+# Specify the filename where your SSL certificate is located. If you
+# don't set this, eggdrop will not be able to act as a server in SSL
+# connections, as with most ciphers a certificate and a private key
+# are required on the server side. Must be in PEM format.
+# If you don't have one, you can create it using the following command:
+#
+# openssl req -new -key eggdrop.key -x509 -out eggdrop.crt -days 365
+#
+# For your convenience, you can type 'make sslcert' after 'make install'
+# and you'll get a key and a certificate in your eggdrop directory.
+# If you installed to a non-default location, use 'make sslcert DEST=...'
+#
+# THIS IS REQUIRED if you intend to use this bot as a hub for SSL hubs/
+# listen ports, secure file transfer and /ctcp botnick schat
+#set ssl-certificate "eggdrop.crt"
+
+# Sets the maximum depth for the certificate chain verification that will
+# be allowed for ssl. When certificate verification is enabled, any chain
+# exceeding this depth will fail verification.
+#set ssl-verify-depth 9
+
+# Specify the location at which CA certificates for verification purposes
+# are located. These certificates are trusted. If you don't set this,
+# certificate verification will not work.
+set ssl-capath "/etc/ssl/"
+#set ssl-cafile ""
+
+# Specify the list of ciphers (in order of preference) allowed for use with
+# ssl. The cipher list is one or more cipher strings separated by colons,
+# commas or spaces. Unavailable ciphers are silently ignored unless no useable
+# cipher could be found. For the list of possible cipher strings and their
+# meanings, please refer to the ciphers(1) manual.
+# Note: if you set this, the value replaces any ciphers OpenSSL might use by
+# default. To include the default ciphers, you can put DEFAULT as a cipher
+# string in the list.
+# For example:
+#
+# set ssl-ciphers "DEFAULT ADH"
+#
+# This will make eggdrop allow the default OpenSSL selection plus anonymous
+# DH ciphers.
+#
+# set ssl-ciphers "ALL"
+#
+# This will make eggdrop allow all ciphers supported by OpenSSL, in a
+# reasonable order.
+#set ssl-ciphers ""
+
+# Enable certificate authorization. Set to 1 to allow users and bots to
+# identify automatically by their certificate fingerprints. Setting it
+# to 2 to will force fingerprint logins. With a value of 2, users without
+# a fingerprint set or with a certificate UID not matching their handle
+# won't be allowed to login on SSL enabled telnet ports. Fingerprints
+# must be set in advance with the .fprint and .chfinger commands.
+# NOTE: this setting has no effect on plain-text ports.
+#set ssl-cert-auth 0
+
+# You can control SSL certificate verification using the following variables.
+# All of them are flag-based. You can set them by adding together the numbers
+# for all exceptions you want to enable. By default certificate verification
+# is disabled and all certificates are assumed to be valid. The numbers are
+# the following:
+#
+# Enable certificate verification - 1
+# Allow self-signed certificates - 2
+# Don't check peer common or alt names - 4
+# Allow expired certificates - 8
+# Allow certificates which are not valid yet - 16
+# Allow revoked certificates - 32
+# A value of 0 disables verification.
+
+# Control certificate verification for DCC chats (only /dcc chat botnick)
+#set ssl-verify-dcc 0
+
+# Control certificate verification for linking to hubs
+#set ssl-verify-bots 0
+
+# Control cerfificate verification for SSL listening ports. This includes
+# leaf bots connecting, users telneting in and /ctcp bot chat.
+#set ssl-verify-clients 0
+
+
+##### MORE ADVANCED SETTINGS #####
+
+# Set this to your socks host if your Eggdrop sits behind a firewall. If
+# you use a Sun "telnet passthru" firewall, prefix the host with a '!'.
+#set firewall "!sun-barr.ebay:3666"
+
+# If you have a NAT firewall (you box has an IP in one of the following
+# ranges: 192.168.0.0-192.168.255.255, 172.16.0.0-172.31.255.255,
+# 10.0.0.0-10.255.255.255 and your firewall transparently changes your
+# address to a unique address for your box) or you have IP masquerading
+# between you and the rest of the world, and /dcc chat, /ctcp chat or
+# userfile sharing aren't working, enter your outside IP here. This IP
+# is used for transfers and CTCP replies only, and is different than the
+# vhost4/6 and listen-addr settings. You likely still need to set them.
+#set nat-ip "127.0.0.1"
+
+# If you want all dcc file transfers to use a particular portrange either
+# because you're behind a firewall, or for other security reasons, set it
+# here.
+#set reserved-portrange 2010:2020
+
+# Set the time in minutes that temporary ignores should last.
+set ignore-time 15
+
+# Define here what Eggdrop considers 'hourly'. All calls to it, including such
+# things as note notifying or userfile saving, are affected by this.
+# For example:
+#
+# set hourly-updates 15
+#
+# The bot will save its userfile 15 minutes past every hour.
+set hourly-updates 00
+
+# Un-comment the next line and set the list of owners of the bot.
+# You NEED to change this setting.
+# This is a list of handles -- usernames in the bot.
+#set owner "MrLame, MrsLame"
+
+# Who should a note be sent to when new users are learned?
+set notify-newusers "$owner"
+
+# Enter the flags that all new users should get by default. See '.help whois'
+# on the partyline for a list of flags and their descriptions.
+set default-flags "hp"
+
+# Enter all user-defined fields that should be displayed in a '.whois'.
+# This will only be shown if the user has one of these extra fields.
+# You might prefer to comment this out and use the userinfo1.0.tcl script
+# which provides commands for changing all of these.
+set whois-fields "url birthday"
+
+# Uncomment these two lines if you wish to disable the .tcl and .set commands.
+# If you select your owners wisely, you should be okay enabling these.
+#unbind dcc n tcl *dcc:tcl
+#unbind dcc n set *dcc:set
+
+# If you enable this setting, only permanent owners (owner setting) will be
+# able to use .tcl and .set. Moreover, if you want only let permanent owners
+# use .dump, then set this to 2.
+# WARNING: setting this to 0 is a security risk, don't do it unless you trust
+# your owners enough to give them shell access to the account the bot is
+# running on.
+set must-be-owner 1
+
+# Comment out this line to add the 'simul' partyline command (owners can
+# manipulate other people on the party line). Please select owners wisely
+# and use this command ethically!
+unbind dcc n simul *dcc:simul
+
+# Set here the maximum number of socket connections you will allow. You can
+# increase this later, but never decrease it below current usage.
+# If you're using Tcl threads, this is a per-thread maximum.
+set max-socks 100
+
+# Enable this setting if you want +d & +k users to use commands bound as -|-.
+set allow-dk-cmds 1
+
+# If your Eggdrop rejects bots that actually have already disconnected from
+# another hub, but the disconnect information has not yet spread over the
+# botnet due to lag, use this setting. The bot will wait dupwait-timeout
+# seconds before it checks again and then finally reject the bot.
+set dupwait-timeout 5
+
+# Set this to 0 if you want the bot to strip '~+-^=' characters from user@hosts
+# before matching them.
+# This setting is currently kept for compatibility, but will be removed from
+# the next release. Please leave it set to 1 to avoid problems with your user
+# files in the future.
+set strict-host 1
+
+# Enable cidr support for b/e/I modes. This means the bot will understand
+# and match modes in cidr notation, and will be able to put and enforce such
+# bans or unban itself, if banned with a cidr mask.
+# Do NOT set this, if your network/server does not support cidr!
+set cidr-support 0
+
+##### MODULES #####
+
+# Below are various settings for the modules included with Eggdrop.
+# PLEASE READ AND EDIT THEM CAREFULLY, even if you're an old hand at
+# Eggdrop, things change.
+
+# This path specifies the path were Eggdrop should look for its modules.
+# If you run the bot from the compilation directory, you will want to set
+# this to "". If you use 'make install' (like all good kiddies do ;), this
+# is a fine default. Otherwise, use your head :)
+set mod-path "/opt/eggdrop/modules/"
+
+
+#### BLOWFISH MODULE ####
+
+# IF YOU DON'T READ THIS YOU MAY RENDER YOUR USERFILE USELESS LATER
+# Eggdrop encrypts its userfile, so users can have secure passwords.
+# Please note that when you change your encryption method later (i.e.
+# using other modules like a md5 module), you can't use your current
+# userfile anymore. Eggdrop will not start without an encryption module.
+loadmodule blowfish
+
+# Specify whether to use ECB or CBC operation modes. ECB is legacy for
+# the Eggdrop blowfish module and is used by default. CBC is more recent
+# regarded as more secure than ECB. You may choose either, but an Eggdrop
+# using CBC to send encrypted data cannot be decrypted by an Eggdrop using
+# ECB. This setting currently defaults to ECB for compatibility reasons,
+# but will transition to using CBC by default in v1.9.0. To explicitly
+# state which mode is used, the following setting may be set to either
+# "ecb" or "cbc".
+set blowfish-use-mode ecb
+
+
+#### DNS MODULE ####
+
+# This module provides asynchronous dns support. This will avoid long
+# periods where the bot just hangs there, waiting for a hostname to
+# resolve, which will often let it timeout on all other connections.
+loadmodule dns
+
+# In case your bot has trouble finding dns servers or you want to use
+# specific ones, you can set them here. The value is a list of dns servers.
+# The order doesn't matter. You can also specify a non-standard port.
+# The default is to use the system specified dns servers. You don't need to
+# modify this setting normally.
+#set dns-servers "8.8.8.8 8.8.4.4"
+
+# Specify how long should the DNS module cache replies at maximum. The value
+# must be in seconds.
+# Note that it will respect the TTL of the reply and this is just an upper
+# boundary.
+set dns-cache 86400
+
+# Specify how long should the DNS module cache negative replies (NXDOMAIN,
+# DNS Lookup failed). The value must be in seconds.
+set dns-negcache 600
+
+# How many times should the DNS module resend the query for a given domain
+# if it receives no reply?
+set dns-maxsends 4
+
+# Specify how long should the DNS module wait for a reply before resending the
+# query. The value must be in seconds.
+set dns-retrydelay 3
+
+#### CHANNELS MODULE ####
+
+# This module provides channel related support for the bot. Without it,
+# you won't be able to make the bot join a channel or save channel
+# specific userfile information.
+loadmodule channels
+
+# Enter here the filename where dynamic channel settings are stored.
+set chanfile "$username/chan"
+
+# Set this setting to 1 if you want your bot to expire bans/exempts/invites set
+# by other opped bots on the channel.
+set force-expire 0
+
+# Set this setting to 1 if you want your bot to share user greets with other
+# bots on the channel if sharing user data.
+set share-greet 0
+
+# Set this setting to 1 if you want to allow users to store an info line.
+set use-info 1
+
+# Set this setting to 1 if you want to allow both +p and +s channel modes
+# to be enforced at the same time by the chanmode channel setting.
+# Make sure your server supports +ps mixing or you may get endless mode
+# floods.
+set allow-ps 0
+
+# The following settings are used as default values when you .+chan #chan or .tcl
+# channel add #chan. Look below for explanation of every option.
+
+set default-flood-chan 0:0
+set default-flood-deop 0:0
+set default-flood-kick 0:0
+set default-flood-join 0:0
+set default-flood-ctcp 0:0
+set default-flood-nick 0:0
+set default-aop-delay 5:30
+set default-idle-kick 0
+set default-chanmode "nt"
+set default-stopnethack-mode 0
+set default-revenge-mode 0
+set default-ban-type 3
+set default-ban-time 120
+set default-exempt-time 60
+set default-invite-time 60
+
+set default-chanset {
+ -autoop -autovoice
+ -bitch +cycle
+ +dontkickops +dynamicbans
+ +dynamicexempts +dynamicinvites
+ -enforcebans +greet
+ -inactive -nodesynch
+ -protectfriends +protectops
+ -revenge -revengebot
+ -secret -seen
+ +shared -statuslog
+ +userbans +userexempts
+ +userinvites -protecthalfops
+ -autohalfop -static
+}
+
+# chanmode +/-<modes>
+# This setting makes the bot enforce channel modes. It will always add
+# the +<modes> and remove the -<modes> modes.
+#
+# idle-kick 0
+# This setting will make the bot check every minute for idle
+# users. Set this to 0 to disable idle check.
+#
+# stopnethack-mode 0
+# This setting will make the bot de-op anyone who enters the channel
+# with serverops. There are seven different modes for this settings:
+# 0 turn off
+# 1 isoptest (allow serverop if registered op)
+# 2 wasoptest (allow serverop if op before split)
+# 3 allow serverop if isop or wasop
+# 4 allow serverop if isop and wasop.
+# 5 If the channel is -bitch, see stopnethack-mode 3
+# If the channel is +bitch, see stopnethack-mode 1
+# 6 If the channel is -bitch, see stopnethack-mode 2
+# If the channel is +bitch, see stopnethack-mode 4
+#
+# revenge-mode 0
+# This settings defines how the bot should punish bad users when
+# revenging. There are four possible settings:
+# 0 Deop the user.
+# 1 Deop the user and give them the +d flag for the channel.
+# 2 Deop the user, give them the +d flag for the channel, and kick them.
+# 3 Deop the user, give them the +d flag for the channel, kick, and ban them.
+#
+# ban-type 3
+# This setting defines what type of bans should eggdrop place for +k users or
+# when revenge-mode is 3.
+# Available types are:
+# 0 *!user@host
+# 1 *!*user@host
+# 2 *!*@host
+# 3 *!*user@*.host
+# 4 *!*@*.host
+# 5 nick!user@host
+# 6 nick!*user@host
+# 7 nick!*@host
+# 8 nick!*user@*.host
+# 9 nick!*@*.host
+# You can also specify types from 10 to 19 which correspond to types
+# 0 to 9, but instead of using a * wildcard to replace portions of the
+# host, only numbers in hostnames are replaced with the '?' wildcard.
+# Same is valid for types 20-29, but instead of '?', the '*' wildcard
+# will be used. Types 30-39 set the host to '*'.
+#
+# ban-time 120
+# Set here how long temporary bans will last (in minutes). If you
+# set this setting to 0, the bot will never remove them.
+#
+# exempt-time 60
+# Set here how long temporary exempts will last (in minutes). If you
+# set this setting to 0, the bot will never remove them. The bot will
+# check the exempts every X minutes, but will not remove the exempt if
+# a ban is set on the channel that matches that exempt. Once the ban is
+# removed, then the exempt will be removed the next time the bot checks.
+# Please note that this is an IRCnet feature.
+#
+# invite-time 60
+# Set here how long temporary invites will last (in minutes). If you
+# set this setting to 0, the bot will never remove them. The bot will
+# check the invites every X minutes, but will not remove the invite if
+# a channel is set to +i. Once the channel is -i then the invite will be
+# removed the next time the bot checks. Please note that this is an IRCnet
+# feature.
+#
+# aop-delay (minimum:maximum)
+# This is used for autoop, autohalfop, autovoice. If an op or voice joins a
+# channel while another op or voice is pending, the bot will attempt to put
+# both modes on one line.
+# aop-delay 0 No delay is used.
+# aop-delay X An X second delay is used.
+# aop-delay X:Y A random delay between X and Y is used.
+#
+# need-op { putserv "PRIVMSG #lamest :op me cos i'm lame!" }
+# This setting will make the bot run the script enclosed in brackets
+# if it does not have ops. This must be shorter than 120 characters.
+# If you use scripts like getops.tcl or botnetop.tcl, you don't need
+# to set this setting.
+#
+# need-invite { putserv "PRIVMSG #lamest :let me in!" }
+# This setting will make the bot run the script enclosed in brackets
+# if it needs an invite to the channel. This must be shorter than 120
+# characters. If you use scripts like getops.tcl or botnetop.tcl, you
+# don't need to set this setting.
+#
+# need-key { putserv "PRIVMSG #lamest :let me in!" }
+# This setting will make the bot run the script enclosed in brackets
+# if it needs the key to the channel. This must be shorter than 120
+# characters. If you use scripts like getops.tcl or botnetop.tcl, you
+# don't need to set this setting
+#
+# need-unban { putserv "PRIVMSG #lamest :let me in!" }
+# This setting will make the bot run the script enclosed in brackets
+# if it needs to be unbanned on the channel. This must be shorter than
+# 120 characters. If you use scripts like getops.tcl or botnetop.tcl,
+# you don't need to set this setting
+#
+# need-limit { putserv "PRIVMSG #lamest :let me in!" }
+# This setting will make the bot run the script enclosed in brackets
+# if it needs the limit to be raised on the channel. This must be
+# shorter than 120 characters. If you use scripts like getops.tcl or
+# botnetop.tcl, you don't need to set this setting
+#
+# flood-chan 15:60
+# Set here how many channel messages in how many seconds from one
+# host constitutes a flood. Setting this to 0, 0:X or X:0 disables
+# flood protection for the channel, where X is an integer >= 0.
+#
+# flood-deop 3:10
+# Set here how many deops in how many seconds from one host constitutes
+# a flood. Setting this to 0, 0:X or X:0 disables deop flood protection
+# for the channel, where X is an integer >= 0.
+#
+# flood-kick 3:10
+# Set here how many kicks in how many seconds from one host constitutes
+# a flood. Setting this to 0, 0:X or X:0 disables kick flood protection
+# for the channel, where X is an integer >= 0.
+#
+# flood-join 5:60
+# Set here how many joins in how many seconds from one host constitutes
+# a flood. Setting this to 0, 0:X or X:0 disables join flood protection
+# for the channel, where X is an integer >= 0.
+#
+# flood-ctcp 3:60
+# Set here how many channel ctcps in how many seconds from one host
+# constitutes a flood. Setting this to 0, 0:X or X:0 disables ctcp flood
+# protection for the channel, where X is an integer >= 0.
+#
+# flood-nick 5:60
+# Set here how many nick changes in how many seconds from one host
+# constitutes a flood. Setting this to 0, 0:X or X:0 disables nick flood
+# protection for the channel, where X is an integer >= 0.
+#
+# A complete list of all available channel settings:
+#
+# enforcebans
+# When a ban is set, kick people who are on the channel and match
+# the ban?
+#
+# dynamicbans
+# Only activate bans on the channel when necessary? This keeps
+# the channel's ban list from getting excessively long. The bot
+# still remembers every ban, but it only activates a ban on the
+# channel when it sees someone join who matches that ban.
+#
+# userbans
+# Allow bans to be made by users directly? If turned off, the bot
+# will require all bans to be made through the bot's console.
+#
+# dynamicexempts
+# Only activate exempts on the channel when necessary? This keeps
+# the channel's exempt list from getting excessively long. The bot
+# still remembers every exempt, but it only activates a exempt on
+# the channel when it sees a ban set that matches the exempt. The
+# exempt remains active on the channel for as long as the ban is
+# still active.
+#
+# userexempts
+# Allow exempts to be made by users directly? If turned off, the
+# bot will require all exempts to be made through the bot's console.
+#
+# dynamicinvites
+# Only activate invites on the channel when necessary? This keeps
+# the channel's invite list from getting excessively long. The bot
+# still remembers every invite, but the invites are only activated
+# when the channel is set to invite only and a user joins after
+# requesting an invite. Once set, the invite remains until the
+# channel goes to -i.
+#
+# userinvites
+# Allow invites to be made by users directly? If turned off, the
+# bot will require all invites to be made through the bot's console.
+#
+# autoop
+# Op users with the +o flag as soon as they join the channel?
+# This is insecure and not recommended.
+#
+# autohalfop
+# Halfop users with the +l flag as soon as they join the channel?
+# This is insecure and not recommended.
+#
+# bitch
+# Only let users with +o) flag be opped on the channel?
+#
+# greet
+# Say a user's info line when they join the channel?
+#
+# protectops
+# Re-op a user with the +o flag if they get deopped?
+#
+# protecthalfops
+# Re-halfop a user with the +l flag if they get dehalfopped?
+#
+# protectfriends
+# Re-op a user with the +f flag if they get deopped?
+#
+# statuslog
+# Log the channel status line every 5 minutes? This shows the bot's
+# status on the channel (op, voice, etc.), the channel's modes, and
+# the total number of members, ops, voices, regular users, and +b,
+# +e, and +I modes on the channel. A sample status line follows:
+#
+# [01:40] @#lamest (+istn) : [m/1 o/1 v/4 n/7 b/1 e/5 I/7]
+#
+# revenge
+# Remember people who deop/kick/ban the bot, valid ops, or friends
+# and punish them? Users with the +f flag are exempt from revenge.
+#
+# revengebot
+# This is similar to to the 'revenge' option, but it only triggers
+# if a bot gets deopped, kicked or banned.
+#
+# autovoice
+# Voice users with the +v flag when they join the channel?
+#
+# secret
+# Prevent this channel from being listed on the botnet?
+#
+# shared
+# Share channel-related user info for this channel?
+#
+# cycle
+# Cycle the channel when it has no ops?
+#
+# dontkickops
+# Do you want the bot not to be able to kick users who have the +o
+# flag, letting them kick-flood for instance to protect the channel
+# against clone attacks.
+#
+# inactive
+# This prevents the bot from joining the channel (or makes it leave
+# the channel if it is already there). It can be useful to make the
+# bot leave a channel without losing its settings, channel-specific
+# user flags, channel bans, and without affecting sharing.
+#
+# seen
+# Respond to seen requests in the channel? The seen module must be
+# loaded for this to work.
+#
+# nodesynch
+# Allow non-ops to perform channel modes? This can stop the bot from
+# fighting with services such as ChanServ, or from kicking IRCops when
+# setting channel modes without having ops.
+#
+# static
+# Allow only permanent owners to remove the channel?
+
+# To add a channel to eggdrop, please enter the bot's partyline and type
+# .+chan #channel. Check also .help chanset and .help chaninfo.
+# You can still add a channel here and it will be saved if you have a
+# chanfile. We recommend you to use the partyline though.
+#
+#channel add #lamest
+
+
+#### SERVER MODULE ####
+
+# This module provides the core server support. You have to load this
+# if you want your bot to come on IRC. Not loading this is equivalent
+# to the old NO_IRC define.
+loadmodule server
+
+# Control certificate verification for irc servers. For a description of the
+# possible values, look at the SSL SETTINGS section above.
+#set ssl-verify-server 0
+
+# This is a Tcl script to be run immediately after connecting to a server.
+bind evnt - init-server evnt:init_server
+
+proc evnt:init_server {type} {
+ global botnick
+ putquick "MODE $botnick +i-ws"
+}
+
+# Set the default port which should be used if none is specified with
+# '.jump' or in 'set servers'.
+set default-port 6667
+
+# Number of seconds to wait between transmitting queued lines to the server.
+# Lower this value at your own risk. ircd is known to start flood control
+# at 512 bytes/2 seconds.
+set msg-rate 2
+
+# This setting makes the bot try to get his original nickname back if its
+# primary nickname is already in use.
+set keep-nick 1
+
+
+# This setting makes the bot squelch the error message when rejecting a DCC
+# CHAT, SEND or message command. Normally, Eggdrop notifies the user that the
+# command has been rejected because they don't have access. Note that sometimes
+# IRC server operators detect bots that way.
+set quiet-reject 1
+
+# If you want your bot to answer lower case ctcp requests (non rfc-
+# compliant), set this setting to 1. mIRC will do this, most other
+# clients will not.
+set lowercase-ctcp 0
+
+# Set how many ctcps should be answered at once.
+set answer-ctcp 3
+
+# Set here how many msgs in how many seconds from one host constitutes
+# a flood. If you set this to 0:0, msg flood protection will be disabled.
+set flood-msg 5:60
+
+# Set here how many ctcps in how many seconds from one host constitutes
+# a flood. If you set this to 0:0, ctcp flood protection will be disabled.
+set flood-ctcp 3:60
+
+# This setting defines how long Eggdrop should wait before moving from one
+# server to another on disconnect. If you set 0 here, Eggdrop will not wait
+# at all and will connect instantly. Setting this too low could result in
+# your bot being K:Lined.
+set server-cycle-wait 60
+
+# Set here how long Eggdrop should wait for a response when connecting to a
+# server before giving up and moving on to next server.
+set server-timeout 60
+
+# Set this to 1 if Eggdrop should check for stoned servers? (where the
+# server connection has died, but Eggdrop hasn't been notified yet).
+set check-stoned 1
+
+# If you want your bot to exit the server if it receives an ERROR message,
+# set this to 1.
+set serverror-quit 1
+
+# Set here the maximum number of lines to queue to the server. If you're
+# going to dump large chunks of text to people over IRC, you will probably
+# want to raise this. 300 is fine for most people though.
+set max-queue-msg 300
+
+# If you want Eggdrop to trigger binds for ignored users, set this to 1.
+set trigger-on-ignore 0
+
+# This setting configures PUBM and MSGM binds to be exclusive of PUB and MSG
+# binds. This means if a MSGM bind with the mask "*help*" exists and is
+# triggered, any MSG bindings with "help" in their mask will not be
+# triggered. Don't enable this unless you know what you are doing!
+set exclusive-binds 0
+
+# Allow identical messages in the mode queue?
+set double-mode 1
+
+# Allow identical messages in the server queue?
+set double-server 1
+
+# Allow identical messages in the help queue?
+set double-help 1
+
+# This optimizes the kick queue. It also traces nick changes and parts in
+# the channel and changes the kick queue accordingly. There are three
+# different options for this setting:
+# 0 = Turn it off.
+# 1 = Optimize the kick queue by summarizing kicks.
+# 2 = Trace nick changes and parts on the channel and change the queue
+# accordingly. For example, bot will not try to kick users who have
+# already parted the channel.
+# ATTENTION: Setting 2 is very CPU intensive.
+set optimize-kicks 1
+
+# If your network supports more recipients per command then 1, you can
+# change this behavior here. Set this to the number of recipients per
+# command, or set this to 0 for unlimited.
+set stack-limit 4
+
+### SERVER MODULE - OTHER NETWORKS (net-type 5) ###
+
+# This settings defines how umode +r is understood by Eggdrop. Some networks
+# use +r to indicate a restricted connection. If this is your case, and you
+# want your bot to leave restricted servers and jump to the next server on its
+# list, then set it to 1.
+#set check-mode-r 1
+
+# This setting allows you to specify the maximum nick-length supported by your
+# network. The default setting is 9. The maximum supported length by Eggdrop
+# is 32.
+if {$network == "freenode"} {
+ set nick-len 16
+}
+
+#### CTCP MODULE ####
+
+# This module provides the normal ctcp replies that you'd expect.
+# Without it loaded, CTCP CHAT will not work. The server module
+# is required for this module to function.
+loadmodule ctcp
+
+# Set here how the ctcp module should answer ctcps. There are 3 possible
+# operating modes:
+# 0: Normal behavior is used.
+# 1: The bot ignores all ctcps, except for CHAT and PING requests
+# by users with the +o flag.
+# 2: Normal behavior is used, however the bot will not answer more
+# than X ctcps in Y seconds (defined by 'set flood-ctcp').
+set ctcp-mode 0
+
+# There are also several variables to help make your bot less noticeable.
+# They are: ctcp-version, ctcp-finger, and ctcp-userinfo. You can use set to set
+# them to values you'd like.
+
+
+#### IRC MODULE ####
+
+# This module provides basic IRC support for your bot. You have to
+# load this if you want your bot to come on IRC. The server and channels
+# modules must be loaded for this module to function.
+loadmodule irc
+
+# Set this to 1 if you want to bounce all server bans.
+set bounce-bans 0
+
+# Set this to 1 if you want to bounce all server exemptions (+e modes).
+# This is disabled if use-exempts is disabled.
+set bounce-exempts 0
+
+# Set this to 1 if you want to bounce all server invitations (+I modes).
+# This is disabled if use-invites is disabled.
+set bounce-invites 0
+
+# Set this to 1 if you want to bounce all server modes.
+set bounce-modes 0
+
+# Set here the maximum number of bans you want the bot to set on a channel.
+# Eggdrop will not place any more bans if this limit is reached. Undernet
+# currently allows 45 bans, IRCnet allows 64, EFnet allows 100, and DALnet
+# allows 100.
+set max-bans 30
+
+# Set here the maximum number of exempts you want Eggdrop to set on a channel.
+# Eggdrop will not place any more exempts if this limit is reached.
+set max-exempts 20
+
+# Set here the maximum number of invites you want Eggdrop to set on a channel.
+# Eggdrop will not place any more invites if this limit is reached.
+set max-invites 20
+
+# There is a global limit for +b/+e/+I modes. This limit should be set to
+# the same value as max-bans for networks that do not support +e/+I.
+set max-modes 30
+
+# The following settings should be left commented unless the default values
+# are being overridden. By default, exempts and invites are on for EFnet and
+# IRCnet, but off for all other large networks. This behavior can be modified
+# with the following 2 flags. If your network doesn't support +e/+I modes then
+# you will be unable to use these features.
+#
+# Do you want to enable exempts (+e modes)?
+#set use-exempts 0
+
+# Do you want to enable invites (+I modes)?
+#set use-invites 0
+
+# If you want people to be able to add themselves to the bot's userlist
+# with the default userflags (defined above in the config file) via the
+# 'hello' msg command, set this to 1.
+set learn-users 0
+
+# Set here the time (in seconds) to wait for someone to return from a netsplit
+# (i.e. wasop will expire afterwards). Set this to 1500 on IRCnet since its
+# nick delay stops after 30 minutes.
+set wait-split 600
+
+# Set here the time (in seconds) that someone must have been off-channel
+# before re-displaying their info line.
+set wait-info 180
+
+# Set this to the maximum number of bytes to send in the arguments
+# of modes sent to the server. Most servers default this to 200.
+set mode-buf-length 200
+
+# Many IRCops find bots by seeing if they reply to 'hello' in a msg.
+# You can change this to another word by un-commenting the following
+# two lines and changing "myword" to the word wish to use instead of
+# 'hello'. It must be a single word.
+#unbind msg - hello *msg:hello
+#bind msg - myword *msg:hello
+
+# Many takeover attempts occur due to lame users blindly /msg ident'ing to
+# the bot and attempting to guess passwords. We now unbind this command by
+# default to discourage them. You can enable these commands by commenting the
+# following two lines.
+unbind msg - ident *msg:ident
+unbind msg - addhost *msg:addhost
+
+# Some IRC servers are using some non-standard op-like channel prefixes/modes.
+# Define them here so the bot can recognize them. Just "@" should be fine for
+# most networks. Un-comment the second line for some UnrealIRCds.
+
+set opchars "@"
+#set opchars "@&~"
+
+# If you are so lame you want the bot to display peoples info lines, even
+# when you are too lazy to add their chanrecs to a channel, set this to 1.
+# *NOTE* This means *every* user with an info line will have their info
+# line displayed on EVERY channel they join (provided they have been gone
+# longer than wait-info).
+set no-chanrec-info 0
+
+### IRC MODULE - IRCnet SPECIFIC FEATURES (net-type 1) ###
+
+# Attention: Use these settings *only* if you set 'net-type' to 1!
+
+# At the moment, the current IRCnet IRCd version (2.10) doesn't support the
+# mixing of b, o and v modes with e and I modes. This might be changed in the
+# future, so use 1 at the moment for this setting.
+set prevent-mixing 1
+
+### IRC MODULE - OTHER NETWORKS (net-type 5) ###
+
+# Attention: Use these settings *only* if you set 'net-type' to 5!
+
+# If your network supports more users per kick command then 1, you can
+# change this behavior here. Set this to the number of users to kick at
+# once, or set this to 0 for all at once.
+#set kick-method 1
+
+# Some networks allow you to stack lots of channel modes into one line.
+# They're all guaranteed to support at least 3, so that's the default.
+# If you know your network supports more, you may want to adjust this.
+# This setting is limited to 6, although if you want to use a higher value,
+# you can modify this by changing the value of MODES_PER_LINE_MAX in
+# src/chan.h and recompiling the bot.
+if {$network == "freenode"} {
+ set modes-per-line 4
+}
+
+# Some networks don't include the +l limit and +k or -k key modes
+# in the modes-per-line (see above) limitation. Set include-lk to 0 for
+# these networks.
+#set include-lk 1
+
+# Set this to 1 if your network uses IRCu2.10.01 specific /who requests.
+# Eggdrop can, therefore, ask only for exactly what's needed.
+#set use-354 0
+
+# If your network doesn't use rfc 1459 compliant string matching routines,
+# set this to 0.
+#set rfc-compliant 1
+
+
+#### TRANSFER MODULE ####
+
+# The transfer module provides DCC SEND/GET support and userfile transfer
+# support for userfile sharing. Un-comment the next line to load it if you
+# need this functionality.
+#loadmodule transfer
+
+# Set here the maximum number of simultaneous downloads to allow for
+# each user.
+set max-dloads 3
+
+# Set here the block size for dcc transfers. ircII uses 512 bytes,
+# but admits that it may be too small. 1024 is standard these days.
+# 0 is turbo-dcc (recommended).
+set dcc-block 0
+
+# Enable this setting if you want to copy files to a temporary location before
+# sending them. This might be useful for file stability, but if your
+# directories are NFS mounted, it's a pain. Setting this to 1 is not advised
+# for big files or if you're low on disk space.
+set copy-to-tmp 1
+
+# Set here the time (in seconds) to wait before an inactive transfer times out.
+set xfer-timeout 30
+
+
+#### SHARE MODULE ####
+
+# This module provides userfile sharing support between two directly
+# linked bots. The transfer and channels modules are required for this
+# module to correctly function. Un-comment the following line to load
+# the share module.
+#loadmodule share
+
+# Settings in this section must be un-commented before setting.
+
+# When two bots get disconnected, this setting allows them to create a
+# resync buffer which saves all changes done to the userfile during
+# the disconnect. When they reconnect, they will not have to transfer
+# the complete user file, but, instead, just send the resync buffer.
+#
+# NOTE: This has been known to cause loss of channel flags and other
+# problems. Using this setting is not recommended.
+#set allow-resync 0
+
+# This setting specifies how long to hold another bots resync data
+# before flushing it.
+#set resync-time 900
+
+# When sharing user lists, DON'T ACCEPT global flag changes from other bots?
+# NOTE: The bot will still send changes made on the bot, it just won't accept
+# any global flag changes from other bots. This overrides the private-globals
+# setting (below).
+#set private-global 0
+
+# When sharing user lists, if private-global isn't set, which global flag
+# changes from other bots should be ignored?
+#set private-globals "mnot"
+
+# When sharing user lists, don't accept ANY userfile changes from other
+# bots? Paranoid people should use this feature on their hub bot. This
+# will force all userlist changes to be made via the hub.
+#set private-user 0
+
+# This setting makes the bot discard its own bot records in favor of
+# the ones sent by the hub.
+# NOTE: No passwords or botflags are shared, only ports and
+# address are added to sharing procedure. This only works with hubs that
+# are v1.5.1 or higher.
+#set override-bots 0
+
+
+#### COMPRESS MODULE ####
+
+# This module provides provides support for file compression. This allows the
+# bot to transfer compressed user files and therefore save a significant amount
+# of bandwidth. The share module must be loaded to load this module. Un-comment
+# the following line to the compress module.
+#loadmodule compress
+
+# Allow compressed sending of user files? The user files are compressed with
+# the compression level defined in `compress-level'.
+set share-compressed 1
+
+# This is the default compression level used. These levels are the same as
+# those used by GNU gzip.
+#set compress-level 9
+
+
+#### FILESYSTEM MODULE ####
+
+# This module provides an area within the bot where users can store and
+# manage files. With this module, the bot is usable as a file server. The
+# transfer module is required for this module to function. Un-comment
+# the following line to load the filesys module.
+#loadmodule filesys
+
+# Set here the 'root' directory for the file system.
+set files-path "filesys"
+
+# If you want to allow uploads, set this to the directory uploads
+# should be put into. Set this to "" if you don't want people to
+# upload files to your bot.
+set incoming-path "filesys/incoming"
+
+# If you don't want to have a central incoming directory, but instead
+# want uploads to go to the current directory that a user is in, set
+# this setting to 1.
+set upload-to-pwd 0
+
+# Eggdrop creates a '.filedb' file in each subdirectory of your file area
+# to keep track of its own file system information. If you can't do that (for
+# example, if the dcc path isn't owned by you, or you just don't want it to do
+# that) specify a path here where you'd like all of the database files to be
+# stored instead.
+set filedb-path ""
+
+# Set here the maximum number of people that can be in the file area at once.
+# Setting this to 0 makes it effectively infinite.
+set max-file-users 20
+
+# Set here the maximum allowable file size that will be received (in KB).
+# Setting this to 0 makes it effectively infinite.
+set max-filesize 1024
+
+
+#### NOTES MODULE ####
+
+# This module provides support for storing of notes for users from each other.
+# Note sending between currently online users is supported in the core, this is
+# only for storing the notes for later retrieval.
+loadmodule notes
+
+# Set here the filename where private notes between users are stored.
+set notefile "$username/notes"
+
+# Set here the maximum number of notes to allow to be stored for each user
+# (to prevent flooding).
+set max-notes 50
+
+# Set here how long (in days) to store notes before expiring them.
+set note-life 60
+
+# Set this to 1 if you want to allow users to specify a forwarding address
+# for forwarding notes to another account on another bot.
+set allow-fwd 0
+
+# Set this to 1 if you want the bot to let people know hourly if they have
+# any notes.
+set notify-users 0
+
+# Set this to 1 if you want the bot to let people know on join if they have
+# any notes.
+set notify-onjoin 1
+
+# This next line checks if eggdrop is being executed from the source directory
+if {[file exists aclocal.m4]} { die {You are attempting to run Eggdrop from the source directory. Please finish installing Eggdrop by running "make install" and run it from the install location.} }
+
+#### CONSOLE MODULE ####
+
+# This module provides storage of console settings when you exit the
+# bot or type .store on the partyline.
+loadmodule console
+
+# Save users console settings automatically? Otherwise, they have
+# to use the .store command.
+set console-autosave 1
+
+# If a user doesn't have any console settings saved, which channel
+# do you want them automatically put on?
+set force-channel 0
+
+# Enable this setting if a user's global info line should be displayed
+# when they join a botnet channel.
+set info-party 0
+
+
+#### WOOBIE MODULE ####
+
+# This is for demonstrative purposes only. If you are looking for starting
+# point in writing modules, woobie is the right thing.
+#loadmodule woobie
+
+
+#### SEEN MODULE ####
+
+# This module provides very basic seen commands via msg, on channel or via dcc.
+# This module works only for users in the bot's userlist. If you are looking for
+# a better and more advanced seen module, try the gseen module by G'Quann. You
+# can find it at http://www.kreativrauschen.com/gseen.mod/.
+#loadmodule seen
+
+
+#### ASSOC MODULE ####
+
+# This module provides assoc support, i.e. naming channels on the botnet.
+# You can load it by un-commenting the following line.
+#loadmodule assoc
+
+
+#### UPTIME MODULE ####
+
+# This module reports uptime statistics to http://uptime.eggheads.org.
+# Go look and see what your uptime is! It takes about 9 hours to show up,
+# so if your bot isn't listed, try again later. The server module must be
+# loaded for this module to function.
+#
+# Information sent to the server includes the bot's uptime, botnet-nick,
+# server, version, and IP address. This information is stored in a temporary
+# logfile for debugging purposes only. The only publicly available information
+# will be the bot's botnet-nick, version and uptime. If you do not wish for this
+# information to be sent, comment out the following line.
+loadmodule uptime
diff --git a/roles/viperserv/eggdrop/files/motd/Daeghrefn b/roles/viperserv/eggdrop/files/motd/Daeghrefn
new file mode 100644
--- /dev/null
+++ b/roles/viperserv/eggdrop/files/motd/Daeghrefn
@@ -0,0 +1,10 @@
+ _____ __ ___
+| \.---.-.-----.-----.| |--.----.-----.' _|.-----.
+| -- | _ | -__| _ || | _| -__| _|| |
+|_____/|___._|_____|___ ||__|__|__| |_____|__| |__|__|
+ |_____| %V (ViperServ distribution)
+
+Have fun.
+
+Commands start with '.' (like '.quit' or '.help')
+Everything else goes out to the party line.
diff --git a/roles/viperserv/eggdrop/files/motd/TC2 b/roles/viperserv/eggdrop/files/motd/TC2
new file mode 100644
--- /dev/null
+++ b/roles/viperserv/eggdrop/files/motd/TC2
@@ -0,0 +1,23 @@
+# ===============================================
+# ========= ==== ====== ============
+# ============ ====== === === = ==========
+# ============ ===== ======== === =========
+# ============ ===== ============= ==========
+# ============ ===== ============ ===========
+# == DcK ===== ===== =========== ============
+# ============ ===== ========== =============
+# ============ ====== === === ==============
+# ============ ======= === ==========
+# ===============================================
+# ===============================================
+# == Tau Ceti Central == Server administration ==
+# == This is a very dangerous product to use ==
+# == Don't deploy it in stable environment ==
+# == Or say goodbye to the serv security ==
+# == This warning will not be repeated ==
+# == All your base are belong to us! ==
+# ===============================================
+
+As we're transitionning Ysul to use Salt states,
+what does TC2 is probably open to debates and
+should be updated.
diff --git a/roles/viperserv/eggdrop/files/motd/Wearg b/roles/viperserv/eggdrop/files/motd/Wearg
new file mode 100644
--- /dev/null
+++ b/roles/viperserv/eggdrop/files/motd/Wearg
@@ -0,0 +1,17 @@
+__ __
+/ / /\ \ \___ __ _ _ __ __ _ Hey %b%N!%b
+\ \/ \/ / _ \/ _` | '__/ _` |
+\ /\ / __/ (_| | | | (_| | My name is %b%B%b
+ \/ \/ \___|\__,_|_| \__, | and I am running %b%V%b,
+ |___/ on %b%U%b. Have fun.
+
+Commands start with '.' (like '.quit' or '.help')
+Everything else goes out to the party line.
+
+Useful commands are:
+
+ %bRelaunch the broker timer:%b
+ .tcl broker::on_tick
+
+ %bCheck timers:%b
+ .tcl utimers
diff --git a/roles/viperserv/eggdrop/init.sls b/roles/viperserv/eggdrop/init.sls
--- a/roles/viperserv/eggdrop/init.sls
+++ b/roles/viperserv/eggdrop/init.sls
@@ -8,3 +8,4 @@
include:
- .software
+ - .config
diff --git a/roles/viperserv/eggdrop/software.sls b/roles/viperserv/eggdrop/software.sls
--- a/roles/viperserv/eggdrop/software.sls
+++ b/roles/viperserv/eggdrop/software.sls
@@ -32,6 +32,8 @@
# -------------------------------------------------------------
# ViperServ directory
+#
+# Bots specific subdirectories are managed in config.sls
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
/srv/viperserv:
@@ -48,3 +50,26 @@
- user: viperserv
- require:
- file: /srv/viperserv
+
+{% for eggdir in ['doc', 'help', 'language'] %}
+/srv/viperserv/{{ eggdir }}:
+ file.symlink:
+ - target: /opt/eggdrop/{{ eggddir }}
+ - user: viperserv
+ - group: nasqueron-irc
+ - require:
+ - cmd: eggdrop_software
+{% endfor %}
+
+/srv/viperserv/logs:
+ file.directory:
+ - user: viperserv
+ - group: nasqueron-irc
+ - dir_mode: 770
+
+/srv/viperserv/filesys/incoming:
+ file.directory:
+ - user: viperserv
+ - group: nasqueron-irc
+ - makedirs: True
+ - dir_mode: 770
diff --git a/roles/viperserv/wikidata-access-layer/code.sls b/roles/viperserv/wikidata-access-layer/code.sls
--- a/roles/viperserv/wikidata-access-layer/code.sls
+++ b/roles/viperserv/wikidata-access-layer/code.sls
@@ -7,10 +7,10 @@
# -------------------------------------------------------------
daeghrefn_wikidata_access_layer:
- file.directory:
- - name: /srv/wikidata-access-layer
- - user: deploy
- git.latest:
- - name: https://devcentral.nasqueron.org/source/Daeghrefn-Wikidata.git
- - target: /srv/wikidata-access-layer
- - user: deploy
+ file.directory:
+ - name: /srv/wikidata-access-layer
+ - user: deploy
+ git.latest:
+ - name: https://devcentral.nasqueron.org/source/Daeghrefn-Wikidata.git
+ - target: /srv/wikidata-access-layer
+ - user: deploy
diff --git a/roles/viperserv/wikidata-access-layer/pywikibot.sls b/roles/viperserv/wikidata-access-layer/pywikibot.sls
--- a/roles/viperserv/wikidata-access-layer/pywikibot.sls
+++ b/roles/viperserv/wikidata-access-layer/pywikibot.sls
@@ -14,13 +14,13 @@
- {{ packages_prefixes.python3 }}requests
pywikibot_software:
- file.directory:
- - name: /opt/pywikibot
- - user: deploy
- git.latest:
- - name: https://gerrit.wikimedia.org/r/pywikibot/core.git
- - submodules: True
- - target: /opt/pywikibot
- - user: deploy
- - require:
- - pkg: pywikibot_dependencies
+ file.directory:
+ - name: /opt/pywikibot
+ - user: deploy
+ git.latest:
+ - name: https://gerrit.wikimedia.org/r/pywikibot/core.git
+ - submodules: True
+ - target: /opt/pywikibot
+ - user: deploy
+ - require:
+ - pkg: pywikibot_dependencies

File Metadata

Mime Type
text/plain
Expires
Sun, Nov 24, 08:53 (13 h, 55 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2259881
Default Alt Text
D1209.id3102.diff (69 KB)

Event Timeline