2026-03-01 09:42:33 +00:00
2026-03-01 05:48:04 +00:00
2026-03-01 09:42:33 +00:00
2026-03-01 05:52:20 +00:00
2026-03-01 06:45:23 +00:00
2026-03-01 05:48:19 +00:00

IRCtainer

IRC bot that lets the channel run whatever they want in a Docker container.

Designed to sit on a remote box and give your channel a shared shell for recon, scanning, and general screwing around over IRC. The container runs with --network host, so users can install and run anything that binds to the network — spin up an nginx instance, run a listener, whatever.

ANSI colors from command output are translated to IRC colors on the fly. The container image comes with grc and color-forced aliases pre-configured, so tools like ls, ping, nmap, traceroute, etc. display in full color on IRC out of the box.

Requirements

Commands

Command Description
@<command> Run a shell command in the container
@silent <command> Run a command with no output
@stop Kill the running command
@rebuild Destroy and recreate the container
@stats Show container resource usage

Admin Only

Command Description
@on Enable the bot and rebuild container
@off Disable the bot and destroy container
@settings <key> <val> Change max_lines / timeout / flood_time / line_delay
@raw <line> Send raw IRC data (PM only)

Setup

Initialize the XFS-backed Docker storage (one-time):

./setup.sh init

Build the container image:

./setup.sh build

Start the container and bot:

./setup.sh run

Stop the bot:

./setup.sh stop

Destroy everything:

./setup.sh nuke

Edit the connection settings at the top of irctainer.py before running.

Container Limits

Resource Limit
Memory 3 GB
CPU 1 core
Disk 50 GB
PIDs 256

The bot monitors resource usage and will auto-rebuild the container if the process limit is hit. Idle containers are recycled after 24 hours.

Todo

  • Create an Incus variant to be able to change which engine is used (Incus allows systemd and other features that Docker does not)
  • Document grc and color tricks
  • Possibly allow other images to be ran directly off Docker

Mirrors: SuperNETsGitHubGitLabCodeberg
Description
A docker container the whole channel can control!
Readme ISC 184 KiB
Languages
Python 84.8%
Shell 9.5%
Dockerfile 5.7%