Features • Installation • Usage • Modes • Configuration • Documentation
irondome is a terminal CLI for layered anonymity: Tor, bridges, Outline/Shadowsocks, transparent routing, and systemd service management.
It is designed as a reusable core with optional integrations: no GUI, no embedded secrets, no hardcoded runtime state.
- Tor → Outline/Shadowsocks chained routing
- Optional transparent strict mode
- Fail-closed network lock
- Tor bridge management
- Outline/Shadowsocks key management
- Template-based config rendering
- systemd service installation
- Dry-run installation root
- Doctor checks for connectivity and leaks
- Optional integration profiles
App
↓
transparent strict route (optional)
↓
SOCKS5 127.0.0.1:1080
↓
Tor 127.0.0.1:9050
↓
Outline/Shadowsocks server
↓
Internet
- Tor hides your origin from the Outline/Shadowsocks server.
- Outline/Shadowsocks hides the Tor exit from the destination.
- Strict mode blocks traffic that attempts to bypass the chain.
All commands must be executed from the project root:
cd ~/Desktop/vremen/iron_shield/git
chmod +x ./bin/irondome ./lib/*.shInstall required packages:
sudo apt update
sudo apt install -y tor obfs4proxy torsocks shadowsocks-libev privoxy socat sing-box curl python3 sqlite3 netcat-openbsdDisplay help:
./bin/irondomeor:
./bin/irondome helpExample output:
Usage:
irondome <command>
Commands:
setup Run interactive setup wizard
install Install generated files and services
start Start strict mode
stop Stop stack and restore normal networking
open Start stack without strict lock
status Show current status
doctor Run connectivity and leak checks
bridges Update Tor bridges
outline Update Outline key
render Render configuration only
backup Backup current configuration
restore Restore configuration backup
help Show this help
./bin/irondome setup
./bin/irondome render
sudo ./bin/irondome install
sudo iron-dome-start
./bin/irondome status
./bin/irondome doctorsudo iron-dome-stopUse dry-run installation when you want to render and install into a temporary root without modifying the live system:
./bin/irondome render
./bin/irondome install --root /tmp/irondome-test-rootGenerated files will be placed under:
/tmp/irondome-test-root
| Mode | Description |
|---|---|
open |
Starts the stack without strict traffic lock. Useful for diagnostics. |
start |
Starts strict mode. Transparent routing is active and bypass traffic is rejected. |
stop |
Stops the stack and restores normal networking. |
./bin/irondome setupInteractive configuration wizard. Use it to define protected user, install prefix, integration profile, Tor bridges, and Outline/Shadowsocks key.
./bin/irondome renderGenerates config files from templates.
sudo ./bin/irondome installInstalls generated files and systemd services.
Custom installation root:
./bin/irondome install --root /tmp/irondome-test-rootsudo iron-dome-startor:
sudo ./bin/irondome startsudo ./bin/irondome open./bin/irondome status./bin/irondome doctor./bin/irondome bridges./bin/irondome outline./bin/irondome backup
./bin/irondome restoreYou need to provide:
- A working
ss://Outline/Shadowsocks key - Tor bridges
- The protected Linux user
- Integration profile
Recommended first test:
Integration profile: none
After core mode works, test optional integrations:
Integration profile: unproxy
bin/irondome CLI entrypoint
lib/ command implementations
templates/ config templates
systemd/ service unit templates
scripts/ helper scripts
docs/ architecture and setup docs
integrations/ optional integration examples
state/ runtime state
generated/ rendered output
MIT