4.8 KiB
4.8 KiB
God Mode and Stealth Mode
TechIRCd supports two advanced operator features via user modes:
God Mode (+G)
God Mode gives operators ultimate channel override capabilities.
Usage
/mode nickname +G # Enable God Mode
/mode nickname -G # Disable God Mode
Capabilities
- Channel Access: Can join any channel regardless of bans, limits, keys, or invite-only status
- Kick Immunity: Cannot be kicked from channels by anyone, including other operators
- Ban Immunity: Can join and remain in channels even when banned
- Invite Override: Can join invite-only channels without being invited
- Limit Override: Can join channels that have reached their user limit
- Key Override: Can join channels with passwords/keys without providing them
Requirements
- Must be an IRC operator (
/oper) - Must have
god_modepermission in operator class configuration - Only the user themselves can set/unset their God Mode
Security Notes
- God Mode actions are logged to operator snomasks (
+o) - Use responsibly - this bypasses all normal channel protections
- Intended for emergency situations and network administration
Stealth Mode (+S)
Stealth Mode makes operators invisible to regular users while remaining visible to other operators.
Usage
/mode nickname +S # Enable Stealth Mode
/mode nickname -S # Disable Stealth Mode
Effects
- WHO Command: Stealth users don't appear in
/whoresults for regular users - NAMES Command: Stealth users don't appear in channel user lists for regular users
- Channel Lists: Regular users can't see stealth operators in channels
- Operator Visibility: Other operators can always see stealth users
Requirements
- Must be an IRC operator (
/oper) - Must have
stealth_modepermission in operator class configuration - Only the user themselves can set/unset their Stealth Mode
Use Cases
- Undercover moderation and monitoring
- Reduced operator visibility during investigations
- Network administration without user awareness
Configuration
Add permissions to operator classes in configs/opers.conf:
{
"classes": [
{
"name": "admin",
"rank": 4,
"description": "Administrator with special powers",
"permissions": [
"*",
"god_mode",
"stealth_mode"
]
}
]
}
Examples
Basic Usage
# As an operator with god_mode permission:
/mode mynick +G
# *** GOD MODE enabled - You have ultimate power!
# Join a banned/invite-only channel:
/join #private-channel
# Successfully joins despite restrictions
# Disable God Mode:
/mode mynick -G
# *** GOD MODE disabled
# Enable Stealth Mode:
/mode mynick +S
# *** STEALTH MODE enabled - You are now invisible to users
# Regular users won't see you in:
/who #channel
/names #channel
# Other operators will still see you
Combined Usage
# Enable both modes simultaneously:
/mode mynick +GS
# *** GOD MODE enabled - You have ultimate power!
# *** STEALTH MODE enabled - You are now invisible to users
# Now you can:
# - Join any channel (God Mode)
# - Remain invisible to regular users (Stealth Mode)
# - Be visible to other operators
Permission Checking
# Attempting without proper permissions:
/mode mynick +G
# :server 481 mynick :Permission Denied - You need god_mode permission
# Must be oper first:
/mode mynick +S
# :server 481 mynick :Permission Denied- You're not an IRC operator
Technical Implementation
God Mode
- Stored as user mode
+G - Checked via
HasGodMode()method - Bypasses channel restrictions in:
JOINcommand (bans, limits, keys, invite-only)KICKcommand (cannot be kicked)- Channel access validation
Stealth Mode
- Stored as user mode
+S - Checked via
HasStealthMode()method - Filtered in:
WHOcommand responsesNAMEScommand responses- Channel member visibility
Mode Persistence
- User modes are stored per-client session
- Lost on disconnect/reconnect
- Must be re-enabled after each connection
Security Considerations
- Audit Trail: All God Mode and Stealth Mode activations are logged
- Permission Based: Requires explicit operator class permissions
- Self-Only: Users can only set modes on themselves
- Operator Level: Requires existing operator privileges
- Reversible: Can be disabled at any time
Troubleshooting
Mode Not Setting
- Verify you are opered (
/oper) - Check operator class has required permissions
- Ensure using correct syntax (
/mode nickname +G)
Not Working as Expected
- God Mode only affects channel restrictions, not other commands
- Stealth Mode only hides from regular users, not operators
- Modes are case-sensitive (
+Gnot+g)
Permission Denied
- Contact network administrator to add permissions to your operator class
- Verify operator class configuration in
configs/opers.conf