user
f96224afb1
feat: add admin/owner permission system
...
Hostmask-based admin controls with automatic IRCOP detection via WHO.
Permission enforcement in the central dispatch path denies restricted
commands to non-admins. Includes !whoami and !admins commands, marks
load/reload/unload as admin-only.
Also lands previously-implemented SASL PLAIN auth, token-bucket rate
limiting, and CTCP VERSION/TIME/PING responses that were staged but
uncommitted.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-15 02:26:27 +01:00
user
530f33be76
feat: add wave 2 plugins and --cprofile CLI flag
...
Add 7 new pure-stdlib plugins: whois (raw TCP port 43), portcheck
(async TCP connect scan with internal-net guard), httpcheck (HTTP
status/redirects/timing), tlscheck (TLS version/cipher/cert inspect),
blacklist (parallel DNSBL check against 10 RBLs), rand (password/hex/
uuid/bytes/int/coin/dice), and timer (async countdown notifications).
Add --cprofile flag to CLI for profiling bot runtime. Update all docs.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-15 01:58:47 +01:00
user
c5b0430da8
docs: add podman-compose, update all project documentation
...
- docker-compose.yml for podman-compose deployment
- Makefile: add up/down/logs compose targets
- README: plugin table, container quickstart, make targets
- PROJECT: plugin categories, deployment matrix, design decisions
- ROADMAP: v0.1 done, v0.2 current, v0.3-v1.0 planned
- TASKS: current sprint with priorities
- TODO: full backlog organized by wave
- CHEATSHEET: reorganized by category (OSINT, Red Team, OPSEC)
- INSTALL: container deployment instructions
- DEBUG: container logs, hot-reload, DNS troubleshooting
- USAGE: all 19 commands documented
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-15 01:46:21 +01:00
user
77f9a364e6
feat: add hot-reload, shorthand commands, and plugin help
...
- Plugin registry: add unload_plugin(), reload_plugin(), path tracking
- Bot: add load_plugin(), reload_plugin(), unload_plugin() public API
- Core plugin: add !load, !reload, !unload, !plugins commands
- Command dispatch: support unambiguous prefix matching (!h -> !help)
- Help: support !help <plugin> to show plugin description and commands
- Tests: 17 new tests covering hot-reload, prefix matching
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-15 01:15:59 +01:00
user
ad18a902dd
feat: add crt.sh certificate transparency lookup plugin
...
Query CT logs via crt.sh to enumerate SSL certs for domains,
report expired/valid counts, and flag live expired certs.
Uses ThreadPoolExecutor(3) for blocking I/O on RPi5.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-15 00:56:55 +01:00
user
bf45abcbad
feat: initial implementation
...
Asyncio IRC bot with decorator-based plugin system.
Zero external dependencies, Python 3.11+.
- IRC protocol: message parsing, formatting, async TCP/TLS connection
- Plugin system: @command and @event decorators, file-based loading
- Bot orchestrator: connect, dispatch, reconnect, nick recovery
- CLI: argparse entry point with TOML config
- Built-in plugins: ping, help, version, echo
- 28 unit tests for parser and plugin system
2026-02-15 00:37:31 +01:00