[bouncer] bind = "127.0.0.1" port = 6667 password = "changeme" # Client TLS -- encrypt client-to-bouncer connections # client_tls = false # enable TLS for client listener # client_tls_cert = "" # path to PEM cert (auto-generated if empty) # client_tls_key = "" # path to PEM key (or same file as cert) # PING watchdog -- detect stale server connections # ping_interval = 120 # seconds of silence before sending PING # ping_timeout = 30 # seconds to wait for PONG after PING # Push notifications -- alerts when no clients are attached # notify_url = "" # ntfy or webhook URL (empty = disabled) # notify_on_highlight = true # notify_on_privmsg = true # notify_cooldown = 60 # min seconds between notifications # notify_proxy = false # route notifications through SOCKS5 # Background account farming -- grow a pool of verified accounts # farm_enabled = false # enable background registration # farm_interval = 3600 # seconds between attempts per network # farm_max_accounts = 10 # max verified accounts per network [bouncer.backlog] max_messages = 10000 replay_on_connect = true [proxy] host = "127.0.0.1" port = 1080 # Client PASS is just the password (no network prefix). # A single client connection sees all networks via /network suffixes: # #libera/libera, #debian/oftc, user123/libera # # Registration uses a random nick and generic ident/realname. # After surviving the probation window (no k-line), the bouncer # derives a stable nick from the exit endpoint hostname. The same # exit IP always produces the same nick across reconnects. # Set nick to override (optional, used as fallback only). # Network names must not contain '/' (reserved for namespace separator). [networks.libera] host = "irc.libera.chat" port = 6697 tls = true # nick = "mynick" # optional: override host-derived nick channels = ["#test"] # channel_keys = { "#secret" = "hunter2" } # keys for +k channels autojoin = true # [networks.oftc] # host = "irc.oftc.net" # port = 6697 # tls = true # channels = ["#debian"]