Advertisement
Guest User

bot

a guest
Jan 28th, 2021
403
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.87 KB | None | 0 0
  1. #! /path/to/executable/eggdrop
  2. # ^- This should contain a fully qualified path to your Eggdrop executable.
  3.  
  4. ## This is the basic version of Eggdrop's config file and contains only the
  5. ## most commonly used settings for a standard Eggdrop setup.
  6. ## PLEASE see eggdrop.conf that ships with Eggdrop for the full documentation
  7. ## and list settings you can use here. Or, you can just use eggdrop.conf
  8. ## instead!
  9. ##
  10. ## The pound signs (#) that you see at the beginning of some lines mean that
  11. ## the remainder of that line is a comment, or just for your information. By
  12. ## adding or deleting pound signs, you can comment or uncomment a setting,
  13. ## respectively.
  14. ##
  15. ## Arguments for a command or setting may be inclosed in <>'s or []'s in the
  16. ## example/description. Arguments in <>'s are required, while [] means optional.
  17. ##
  18. ## More detailed descriptions of all these settings can be found in
  19. ## doc/settings/.
  20.  
  21. ## These are the common modules loaded by eggdrop for an IRC-connected bot.
  22. ## For a complete description of each module, please consult eggdrop.conf
  23. loadmodule blowfish ; # Userfile encryption
  24. loadmodule dns ; # Asynchronous DNS support
  25. loadmodule channels ; # OUTLAWS4E
  26. loadmodule server ; # Core server support
  27. loadmodule ctcp ; # CTCP functionality
  28. loadmodule irc ; # Basic IRC functionality
  29. #loadmodule transfer ; # DCC SEND/GET and Userfile transfer
  30. #loadmodule share ; # Userfile sharing
  31. #loadmodule compress ; # Compress userfiles for transfer
  32. #loadmodule filesys ; # File server support
  33. loadmodule notes ; # Note storing for users
  34. loadmodule console ; # Console setting storage
  35. #loadmodule seen ; # Basic seen functionality
  36. #loadmodule assoc ; # Party line channel naming
  37. loadmodule uptime ; # Centralized uptime stat collection (http://uptime.eggheads.org)
  38.  
  39.  
  40. ##### BASIC SETTINGS #####
  41.  
  42. ## Set the nick the bot uses on IRC, and on the botnet unless you specify a
  43. ## separate botnet-nick, here.
  44. set nick "O4Ebot"
  45.  
  46. ## Set the alternative nick which the bot uses on IRC if the nick specified
  47. ## by 'set nick' is unavailable. All '?' characters will be replaced by random
  48. ## numbers.
  49. set altnick "OUTLAWS"
  50.  
  51. ## Set what should be displayed in the real-name field for the bot on IRC.
  52. ## This can not be blank, it has to contain something.
  53. set realname "/msg O4EBot hello"
  54.  
  55. ## This setting defines the username the bot uses on IRC. This setting has
  56. ## no effect if an ident daemon is running on your bot's machine.
  57. set username "OUTLAWSBOT"
  58.  
  59. # Specify here the filename Eggdrop will save its pid to. If no pidfile is
  60. # specified, pid.(botnet-nick) will be used.
  61. set pidfile ""
  62.  
  63. ## This setting defines which contact person should be shown in .status,
  64. ## /msg help, and other places. You really should include this information.
  65. set admin "OUTLAWS666 <email: [email protected]>"
  66.  
  67. ## This setting is used only for info to share with others on your botnet.
  68. ## Set this to the IRC network your bot is connected to.
  69. set network "Undernet"
  70.  
  71. # Un-comment the next line and set the list of owners of the bot.
  72. # You NEED to change this setting.
  73. # This is a list of handles -- usernames in the bot.
  74. set owner "OUTLAWS666"
  75.  
  76. ## This is the bot's server list. The bot will start at the first server listed,
  77. ## and cycle through them whenever it gets disconnected. You need to change these
  78. ## servers to YOUR network's servers.
  79. ##
  80. ## The format is:
  81. ## server[:port[:password]]
  82. ## Prefix the port with a plus sign to attempt a SSL connection:
  83. ## server:+port[:password]
  84. ## If you need to specify a numeric server IPv6 address, enclose it in square
  85. ## brackets.
  86. ##
  87. ## Both the port and password fields are optional; however, if you want to set a
  88. ## password or use SSL you must also set a port. If a port isn't specified it
  89. ## will default to your default-port setting.
  90. set servers {
  91. us.undernet.org:6667
  92. eu.undernet.org:6667
  93. }
  94.  
  95.  
  96. ###########################################################################
  97. ## Network settings overview
  98. ## With the addition of IPv6 and the associated config changes, here are some
  99. ## BASIC common networking scenarios, along with the appropriate settings
  100. ## needed:
  101. ##
  102. ## SHELL PROVIDER (MULTIPLE IPs/VHOSTS)
  103. ## * set vhost4 or vhost6 to the IP/vhost you want to use
  104. ## * set listen-addr to the same IP/vhost as above
  105. ##
  106. ## HOME COMPUTER/VPS, DIRECT INTERNET CONNETION (SINGLE IP, NO NAT)
  107. ## * do not set vhost4/vhost6
  108. ## * do not set listen-addr
  109. ##
  110. ## HOME COMPUTER, BEHIND A NAT
  111. ## * do not set vhost4/vhost6
  112. ## * do not set listen-addr
  113. ## * set nat-ip to your external IP
  114. ##
  115. ## Below is a detailed description of each setting, please read them to
  116. ## learn more about their function.
  117. ############################################################################
  118.  
  119. ## If your host has multiple IPv4 addresses, uncomment and set this variable
  120. ## to the IP you wish to use for connecting to IRC.
  121. #set vhost4 "virtual.host.com"
  122. #set vhost4 "99.99.0.0"
  123.  
  124. # If your host has multiple IPv6 addresses, uncomment and set this variable
  125. # to the IP you wish to use for connecting to IRC.
  126. #set vhost6 "my.ipv6.host.com"
  127. #set vhost6 "2001:db8::c001:b07"
  128.  
  129. ## IPv4/IPv6 address (or hostname) to bind for listening. If you don't set
  130. ## this variable, eggdrop will listen on all available IPv4 or IPv6 interfaces,
  131. ## depending on the 'prefer-ipv6' variable (see below).
  132. ## Note that eggdrop will accept IPv4 connections with IPv6 sockets too.
  133. #set listen-addr "99.99.0.0"
  134. #set listen-addr "2001:db8:618:5c0:263::"
  135. #set listen-addr "virtual.host.com"
  136.  
  137. ## If you have a NAT firewall, enter your outside IP here. This IP
  138. ## is used for transfers and CTCP replies only, and is different than the
  139. ## vhost4/6 and listen-addr settings. You likely still need to set them.
  140. #set nat-ip "127.0.0.1"
  141.  
  142. ## If you want all dcc file transfers to use a particular portrange either
  143. ## because you're behind a firewall, or for other security reasons, set it
  144. ## here.
  145. #set reserved-portrange 2010:2020
  146.  
  147. ## Prefer IPv6 over IPv4 for connections and dns resolution?
  148. ## If the preferred protocol family is not supported, the other one
  149. ## will be tried.
  150. set prefer-ipv6 0
  151.  
  152. ## If you want to have your Eggdrop messages displayed in a language other
  153. ## than English, change this setting to match your preference. An alternative
  154. ## would be to set the environment variable EGG_LANG to that value.
  155. ##
  156. ## Languages included with Eggdrop: Danish, English, French, Finnish, German.
  157. #addlang "French"
  158.  
  159. ##### LOG FILES #####
  160.  
  161. ## See eggdrop.conf for documentation on the logfile flags and settings.
  162.  
  163. ## This creates a logfile named eggdrop.log containing private msgs/ctcps,
  164. ## commands, errors, and misc. info from any channel.
  165. logfile mco * "logs/eggdrop.log"
  166.  
  167. ## This creates a logfile named lamest.log containing joins, parts,
  168. ## netsplits, kicks, bans, mode changes, and public chat on the
  169. ## channel #lamest.
  170. logfile jpk #OUTLAWS4E "logs/O4E.log"
  171.  
  172. ## This should be 0 for disk space restricted shells, and 1 if you want to
  173. ## generate channel statistics with tools such as pisg.
  174. ## If it is 0, eggdrop will delete logfiles older than 2 days.
  175. ## If it is 1, eggdrop will keep logging into the specified logfiles forever.
  176. ## See eggdrop.conf for more detailed settings.
  177. set log-forever 0
  178.  
  179. ## Code to set settings based on the above setting, do not edit this.
  180. if {${log-forever}} {
  181. set switch-logfiles-at 2500
  182. set keep-all-logs 0
  183. }
  184.  
  185. ## "Writing user file..." and "Writing channel file..." messages won't be logged
  186. ## anymore if this option is enabled. If you set it to 2, the "Backing up user
  187. ## file..." and "Backing up channel file..." messages will also not be logged.
  188. ## In addition to this, you can disable the "Switching logfiles..." and the new
  189. ## date message at midnight, by setting this to 3.
  190. set quiet-save 0
  191.  
  192. ##### FILES AND DIRECTORIES #####
  193.  
  194. # Specify here the filename your userfile should be saved as.
  195. set userfile "O4EBot.user"
  196.  
  197. # Specify here where Eggdrop should look for help files. Don't modify this
  198. # setting unless you know what you're doing!
  199. set help-path "help/"
  200.  
  201. ##### BOTNET/DCC/TELNET #####
  202.  
  203. ## If you want to use a different nickname on the botnet than you use on
  204. ## IRC (i.e. if you're on an un-trusted botnet), un-comment the next line
  205. ## and set it to the nick you would like to use.
  206. #set botnet-nick "O4EBot"
  207.  
  208. ## This opens a telnet port by which you and other bots can interact with the
  209. ## Eggdrop by telneting in.
  210. ##
  211. ## There are more options for the listen command in doc/tcl-commands.doc. Note
  212. ## that if you are running more than one bot on the same machine, you will want
  213. ## to space the telnet ports at LEAST 5 apart, although 10 is even better.
  214. ##
  215. ## Valid ports are typically anything between 1025 and 65535 assuming the
  216. ## port is not already in use.
  217. ##
  218. ## If you would like the bot to listen for users and bots in separate ports,
  219. ## use the following format:
  220. ##
  221. ## listen 3333 bots
  222. ## listen 4444 users
  223. ##
  224. ## If you wish to use only one port, use this format:
  225. ##
  226. ## listen 3333 all
  227. ##
  228. ## You can setup a SSL port by prepending a plus sign to it:
  229. ##
  230. ## listen +5555 all
  231. ##
  232. ## You need to un-comment this line and change the port number in order to open
  233. ## the listen port. You should not keep this set to 3333.
  234. listen 3333 all
  235.  
  236. ##### SSL SETTINGS #####
  237.  
  238. ## Settings in this section take effect when eggdrop is compiled with TLS
  239. ## support. If you didn't generate SSL keys already, you can type
  240. ## 'make sslcert' in your eggdrop source directory.
  241. ##
  242. ## IMPORTANT: The following two settings MUST be uncommented in order to
  243. ## use SSL functionality!
  244. #set ssl-privatekey "eggdrop.key"
  245.  
  246. ## Specify the filename where your SSL certificate is located. If you
  247. ## don't set this, eggdrop will not be able to act as a server in SSL
  248. ## connections. Must be in PEM format.
  249. #set ssl-certificate "eggdrop.crt"
  250.  
  251. ## Specify the location at which CA certificates for verification purposes
  252. ## are located. These certificates are trusted. If you don't set this,
  253. ## certificate verification will not work.
  254. set ssl-capath "/etc/ssl/"
  255.  
  256. ## Enable certificate authorization. Set to 1 to allow users and bots to
  257. ## identify automatically by their certificate fingerprints. Setting it
  258. ## to 2 to will force fingerprint logins. With a value of 2, users without
  259. ## a fingerprint set or with a certificate UID not matching their handle
  260. ## won't be allowed to login on SSL enabled telnet ports. Fingerprints
  261. ## must be set in advance with the .fprint and .chfinger commands.
  262. ## NOTE: this setting has no effect on plain-text ports.
  263. #set ssl-cert-auth 0
  264.  
  265. ## You can control SSL certificate verification using the following variables.
  266. ## All of them are flag-based. You can set them by adding together the numbers
  267. ## for all exceptions you want to enable. By default certificate verification
  268. ## is disabled and all certificates are assumed to be valid. The numbers are
  269. ## the following:
  270. ##
  271. ## Enable certificate verification - 1
  272. ## Allow self-signed certificates - 2
  273. ## Don't check peer common or alt names - 4
  274. ## Allow expired certificates - 8
  275. ## Allow certificates which are not valid yet - 16
  276. ## Allow revoked certificates - 32
  277. ## A value of 0 disables verification.
  278.  
  279. ## Control certificate verification for IRC servers
  280. #set ssl-verify-server 0
  281.  
  282. ## Control certificate verification for DCC chats (only /dcc chat botnick)
  283. #set ssl-verify-dcc 0
  284.  
  285. ## Control certificate verification for linking to hubs
  286. #set ssl-verify-bots 0
  287.  
  288. ## Control cerfificate verification for SSL listening ports. This includes
  289. ## leaf bots connecting, users telneting in and /ctcp bot chat.
  290. #set ssl-verify-clients 0
  291.  
  292.  
  293. ##### COMMON MODULES SETTINGS #####
  294.  
  295. ## Below are various settings for the modules included with Eggdrop.
  296. ## PLEASE READ AND EDIT THEM CAREFULLY, even if you're an old hand at
  297. ## Eggdrop, things change.
  298.  
  299. ## This path specifies the path were Eggdrop should look for its modules.
  300. ## If you run the bot from the compilation directory, you will want to set
  301. ## this to "". If you use 'make install' (like all good kiddies do ;), this
  302. ## is a fine default. Otherwise, use your head :)
  303. set mod-path "modules/"
  304.  
  305. #### DNS MODULE ####
  306.  
  307. ## In case your bot has trouble finding dns servers or you want to use
  308. ## specific ones, you can set them here. The value is a list of dns servers.
  309. ## The order doesn't matter. You can also specify a non-standard port.
  310. ## The default is to use the system specified dns servers.
  311. set dns-servers "8.8.8.8 8.8.4.4"
  312.  
  313. #### CHANNELS MODULE ####
  314.  
  315. ## Enter here the filename where dynamic channel settings are stored.
  316. set chanfile "O4EBot.chan"
  317.  
  318. #### SERVER MODULE ####
  319.  
  320. ## What is your network?
  321. ## 0 = EFnet
  322. ## 1 = IRCnet
  323. ## 2 = Undernet
  324. ## 3 = DALnet
  325. ## 4 = +e/+I/max-modes 20 Hybrid
  326. ## 5 = Others. See eggdrop.conf for settings related to this.
  327. set net-type 0
  328.  
  329. ## This is a Tcl script to be run immediately after connecting to a server.
  330. bind evnt - init-server evnt:init_server
  331.  
  332. proc evnt:init_server {type} {
  333. global botnick
  334. putquick "MODE $botnick +i-ws"
  335. }
  336.  
  337. ## Set the default port which should be used if none is specified with
  338. ## '.jump' or in 'set servers'.
  339. set default-port 6667
  340.  
  341. ## This setting allows you to specify the maximum nick-length supported by your
  342. ## network. The default setting is 9. The maximum supported length by Eggdrop
  343. ## is 32.
  344. #set nick-len 9
  345.  
  346. #### CTCP MODULE ####
  347.  
  348. ## Set here how the ctcp module should answer ctcps. There are 3 possible
  349. ## operating modes:
  350. ## 0: Normal behavior is used.
  351. ## 1: The bot ignores all ctcps, except for CHAT and PING requests
  352. ## by users with the +o flag.
  353. ## 2: Normal behavior is used, however the bot will not answer more
  354. ## than X ctcps in Y seconds (defined by 'set flood-ctcp').
  355. set ctcp-mode 0
  356.  
  357. #### IRC MODULE ####
  358.  
  359. ## Many takeover attempts occur due to lame users blindly /msg ident'ing to
  360. ## the bot and attempting to guess passwords. We now unbind this command by
  361. ## default to discourage them. You can enable these commands by commenting the
  362. ## following two lines.
  363. unbind msg - ident *msg:ident
  364. unbind msg - addhost *msg:addhost
  365.  
  366. #### NOTES MODULE ####
  367.  
  368. ## Set here the filename where private notes between users are stored.
  369. set notefile "O4EBot.notes"
  370.  
  371. ##### SCRIPTS #####
  372.  
  373. ## This is a good place to load scripts to use with your bot.
  374.  
  375. ## This line loads script.tcl from the scripts directory inside your Eggdrop's
  376. ## directory. All scripts should be put there, although you can place them where
  377. ## you like as long as you can supply a fully qualified path to them.
  378. ##
  379. ## source scripts/script.tcl
  380. ## The 3 scripts below are default and shouldn't be removed.
  381.  
  382. source scripts/alltools.tcl
  383. source scripts/action.fix.tcl
  384. source scripts/dccwhois.tcl
  385.  
  386. ## This script provides many useful informational functions, like setting
  387. ## users' URLs, e-mail address, ICQ numbers, etc. You can modify it to add
  388. ## extra entries.
  389. source scripts/userinfo.tcl
  390. loadhelp userinfo.help
  391.  
  392. ## Use this script for Tcl and Eggdrop backwards compatibility.
  393. ## NOTE: This can also cause problems with some newer scripts.
  394. #source scripts/compat.tcl
  395.  
  396. ## This next line checks if eggdrop is being executed from the source directory, do not remove it
  397. 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.} }
  398.  
  399. ## A few IRC networks (EFnet and Undernet) have added some simple checks to
  400. ## prevent drones from connecting to the IRC network. While these checks are
  401. ## fairly trivial, they will prevent your Eggdrop from automatically
  402. ## connecting. In an effort to work-around these, we have developed a couple of
  403. ## TCL scripts to automate the process.
  404.  
  405. if {[info exists net-type]} {
  406. switch -- ${net-type} {
  407. "0" {
  408. # EFnet
  409. source scripts/quotepong.tcl
  410. }
  411. "2" {
  412. # Undernet
  413. source scripts/quotepass.tcl
  414. }
  415. }
  416. }
  417.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement