# Cheatsheet ## Dev Commands ```bash make install # Setup venv + install make test # Run tests make lint # Lint with ruff make run # Start bot (bare metal) make link # Symlink to ~/.local/bin derp -c config.toml # Run with custom config derp -v # Verbose/debug mode ``` ## Container ```bash make build # Build image make up # Start (podman-compose) make down # Stop make logs # Follow logs ``` ## Bot Commands ``` !ping # Pong !help # List commands !help # Command help !help # Plugin description + commands !version # Bot version !uptime # Bot uptime !echo # Echo text back !h # Shorthand (any unambiguous prefix works) ``` ## Plugin Management ``` !plugins # List loaded plugins !load # Hot-load a plugin !reload # Reload a changed plugin !unload # Remove a plugin ``` ## OSINT ``` !dns example.com # A record lookup !dns 1.2.3.4 # Reverse PTR lookup !dns example.com MX # Specific type (A/AAAA/MX/NS/TXT/CNAME/PTR/SOA) !cert example.com # CT log lookup (max 5 domains) ``` ## Red Team ``` !revshell bash 10.0.0.1 4444 # Reverse shell one-liner !revshell list # List types (bash/sh/nc/nce/python/perl/php/ruby/socat/lua/ps) !encode b64 hello # Base64 encode !decode hex 68656c6c6f # Hex decode !encode rot13 hello # ROT13 !hash hello # MD5 + SHA1 + SHA256 !hash sha512 hello # Specific algorithm !hashid # Identify hash type ``` ## OPSEC ``` !defang https://evil.com # Defang IOC !refang hxxps[://]evil[.]com # Refang IOC ``` ## Network ``` !cidr 10.0.0.0/24 # Subnet info !cidr contains 10.0.0.0/8 10.1.2.3 # Membership check ``` ## Plugin Template ```python from derp.plugin import command, event @command("name", help="Description") async def cmd_name(bot, message): text = message.text.split(None, 1) await bot.reply(message, "response") @event("JOIN") async def on_join(bot, message): await bot.send(message.target, f"Hi {message.nick}") ``` ## Message Object ``` msg.nick # Sender nick msg.target # Channel or nick msg.text # Message body msg.is_channel # True if channel msg.prefix # nick!user@host msg.command # PRIVMSG, JOIN, etc. msg.params # All params list ``` ## Config Locations ``` 1. --config PATH # CLI flag 2. ./config/derp.toml # Project dir 3. ~/.config/derp/derp.toml # User config 4. Built-in defaults # Fallback ```