irc proxy settings migration - shabble/irssi-docs GitHub Wiki

Irssi used to have some settings concerned with "proxy" -- for example proxy_address, proxy_string, and use_proxy

Some earlier documentation suggested that they might be used for two different use cases:

  • HTTP Proxy
  • IRC Proxy

However, these settings could not live up to the expectations. The HTTP proxy works by pure chance (because the HTTP/1 protocol is also line based)

Furthermore, the very simplistic way in which this proxy code has been implemented, also results in several shortcomings:

  • TLS connections to the proxy are not supported properly (enabling TLS on an IRC server would connect to the Proxy using TLS)
  • in such cases, TLS connection cannot be verified properly
  • Nested TLS connections are not supported
  • IRCv3 CAP on IRC Proxy is not supported
  • SASL on IRC Proxy is not supported
  • SOCKS Proxy is not supported

Until a better proxy implementation inside Irssi is written, we have the following recommendations:

SOCKS Proxy (e.g. Tor)

Use the LD_PRELOAD based proxychains-ng wrapper: https://irssi.org/documentation/qna/tor/

HTTP Proxy

Use the LD_PRELOAD based proxychains-ng wrapper: https://irssi.org/documentation/qna/tor/

IRC Proxy / bouncer (bip, znc, soju)

Migrate the configuration to regular network-based bnc config:

For example, if you had

/set proxy_address
=>
proxy_address mybnc.example.com

and

/server list
=>
liberachat 6697 liberachat

then disable the proxy settings:

/set use_proxy OFF

and change your server like this:

/server remove liberachat
/server add -network liberachat -tls mybnc.example.com 7778 username:password:liberachat

Note: If your IRC Bouncer does not support IRCv3 CAP, you may need to add

-nocap

to the server configuration

For the soju bouncer, Nei has begun working on a script to do the auto-configuration for multiple networks based on the draft IRCv3 CAPs on https://anti.teamidiot.de/static/nei/*/Code/Irssi/alpha/