empus / armour Goto Github PK
View Code? Open in Web Editor NEWArmour -- an advanced eggdrop channel protection script for IRC
Armour -- an advanced eggdrop channel protection script for IRC
Use existing X:Y:N threshold
Allow blacklist entries of 'text' type to be added, for blacklisted word strings.
Possibly add wildcard only (much easier); or even regex entries too.
Support cumulative entries-- thereby also supporting a flexible 'repeat' match mechanism.
Currently, there are no install instructions for first time users. This must be written to INSTALL.md, potentially with a script for some basic setup.
Comments welcome on where people have struggled with initial setup. It will evolve as I receive feedback
Questions:
Prevent further /WHO or /WHOIS and additional scan processing for a given nick if a scan is already underway
Possibly also incorporate:
"Please refer to the separate file 'INSTALL.md' for instructions on initial setup."
Currently, there is no INSTALL.md at all in the rep, only README.md and UPDATING.md
on SSH
sqlite3 armour.db
SQLite version 3.27.2 2019-02-25 16:06:06
Enter ".help" for usage hints.
sqlite> INSERT INTO users (user,xuser,level,pass) VALUES('user1','user1',500,'foo' );
sqlite> .quit
on IRC
[21:17:40] <(s)pop> Rehashing.
[21:17:40] <(s)pop> [21:17:39] Rehashing ... (all went well)
[21:17:44] >pop< login user1 foo
[21:17:44] <(s)pop> [21:17:44] triggering bind userdb:msg:login
[21:17:44] <(s)pop> [21:17:44] userdb:uline:get: userlist get pass where user=user1
[21:17:44] <(s)pop> [21:17:44] userdb:uline:get: userlist get user where user=user1
[21:17:44] <(s)pop> [21:17:44] userdb:msg:login password mismatch for tabb, login failed
[21:17:44] <(s)pop> [21:17:44] triggered bind userdb:msg:login, user 0.342ms sys 3.485ms
[21:17:44] -pop- login failed.
Use singlevalues presence to identify need for table creates and alters. Use a version entry for future.
Handling to react based on lines of text spoken.
Configuration to support below per client:
- Max lines of N per X seconds
- Action to take (warning via /notice to #channel or @#channel; kickban)
- Possible warning before violation is reached (maybe by %)
- Kick reason where appropriate
Configuration to support below per channel:
- Max lines of N per X seconds
- Modes to lockdown channel
- Period to lockdown channel (seconds)
*** Note, per channel settings may be optimistic and trigger annoying false positives.
old : delimiter bugs out on IPv6 clients when doing score maintenance
Allow notes to be sent between users (send, read, delete)
eggdrop v1.9.0+serverlen -> Tcl error [arm:pubm:all]: invalid command name "arm:pubm:all"
usage: register
Additional validation mechanism during 'secure mode paranoia'
Identify groups of newly joined clients in a single '/names -d' scan, and process through floodnet checks.
ie. ChanServ.
What else needs to be supported?
Introduce configuration and code changes to allow the bot to easily authenticate with services other than Undernet's X service.
This includes supporting mod.cservice (gnuworld) on other networks, and authentication with NickServ.
-X ([email protected])- Sorry, The channel banlist is full (500 bans)
It's completely broken and hasn't been touched in a long time.
Config to support:
- Max of N per IP in channel
- Max of N IPs joining channel within X seconds
- Action to take (alert #channel or @#channel via /notice; kickban)
- Kick message, where appropriate
Tcl's regex engine is not as feature complete as PCRE and therefore does not support the use of backreferences in negative lookaheads. This means very useful regex patterns cannot be used to combat abuse (in blacklists).
This enhancement will create an abstraction layer for 'regexp' when dealing with whitelist and blacklist entries. Config option will determine method of regexp in use by the bot. This approach will utilise a Python script (using 're' for matching); for bot to pipe commands to.
The script will:
Performance testing should be done against Tcl's built-in regexp command (iterating over many patterns).
Restrict unnecessary WHO and WHOIS messages through client joins to multiple channels, by caching data in memory:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.