robustirc-bridge(1)

πŸ’– robustirc-bridge β€” the manual page, but make it a group chat πŸ’–

okay so bestie, gather round, because robustirc-bridge is a whole vibe and you're about to understand it fr fr. this is the manual for it, from the User Manuals section, and no cap, we're keeping every single detail. periodt. ✨


🌈 NAME 🌈

robustirc-bridge β€” the bridge between IRC and RobustIRC, i.e. the little connector that lets your regular IRC self hang out in RobustIRC land. iconic behavior honestly. 🫢


✨ SYNOPSIS ✨

robustirc-bridge [-listen address] [-network address] [-socks address]
[-tls_ca_file path] [-tls_cert_path path] [-tls_key_path path]
[-motd_path path]

look at those flags. gorgeous. every single one of them matters, so we're going through all of them, no skipping, no summarizing, not on my watch. πŸ’…


πŸ’œ DESCRIPTION πŸ’œ

so robustirc-bridge lets you connect to a RobustIRC network using your regular IRC client β€” think irssi, WeeChat, XChat, etc. your normal faves, unchanged. no new client arc needed. πŸ’–

it can do its thing in two ways, and honestly both are valid:

  • it can act as a SOCKS proxy for IRC clients which support SOCKS proxies, or
  • it can be run for a specific RobustIRC network, and in that case it will listen on a port (localhost:6667 by default) and talk IRC.

that's it. that's the whole concept. main character energy for a tiny bridge, but it earned it. πŸ‘‘


πŸŽ€ OPTIONS πŸŽ€

okay this is the part where we get specific, and bestie, we get specific.

  • -listen address β€” listen on the provided address for IRC connections, in host:port format (see also http://golang.org/pkg/net/#Dial for more details, iykyk).
🚨 heads up: -network must also be specified for -listen to have any effect. if you skip -network, your -listen is just sitting there, decorative. not doing a single thing. 😭
  • -network address β€” when accepting new connections on the port specified by -listen, to which network should they be bridged? this is a DNS name such as "robustirc.net". the servers to connect to will be resolved by resolving the _robustirc._tcp SRV record for that DNS name. ✨

and if -network is unspecified? then -listen will not be used at all, and only the -socks functionality will be provided. so pick your lane. 🌸

  • -socks address β€” listen on the provided address for SOCKS connections, in host:port format (see also http://golang.org/pkg/net/#Dial for more details).
  • -motd_path path β€” path to a text file containing the message of the day (MOTD) to prefix to the network MOTD. πŸ“

okay so the default MOTD is basically a warning sign: it warns people that they should run their own bridge instead of connecting. and you are expected to specify -motd_path= (i.e. empty) when starting the bridge in a scenario where you are the only user, or all users run their IRC client on the same machine as the bridge. don't leave the default warning on for your solo setup, it's giving "you weren't supposed to be here" πŸ’€

  • -tls_cert_path path β€” path to a .pem file containing the TLS certificate. if unspecified, TLS is not used. πŸ”
  • -tls_key_path path β€” path to a .pem file containing the TLS private key. if unspecified, TLS is not used. πŸ”
🫢 note the duo energy: cert and key are a package deal in spirit β€” each one on its own says "if unspecified, TLS is not used", so like, supply them or don't, bestie.
  • -tls_ca_file path β€” use the specified file as trusted CA instead of the system CAs. useful for testing. πŸ§ͺ

🌟 AUTHOR 🌟

Michael Stapelberg β€” the author. we stan. πŸ’œ


and that's the whole page, bestie!! every option, every default, every warning, all accounted for, nothing dropped, fr fr. πŸŒˆπŸ¦‹πŸŒΈ

this was written up on Linux, dated JANUARY 2015, and it's the manual page for robustirc-bridge(1). mwah. πŸ’…βœ¨ go forth and bridge. πŸ’–