SWIRC(1)

πŸ“¦
version 3.5.9 Β· 4 versions
, in ubuntu resolute, ubuntu stonking

✨ SWIRC πŸ’… (section 1 of the General Commands Manual, bestie)

okay so. swirc β€” curses icb and irc client πŸ¦‹ yeah that's the whole name and it's iconic actually.


🌸 SYNOPSIS

swirc [-46?CPRSXdipv] [-W password] [-c server[:port]] [-h hostname]
      [-j join] [-n nickname] [-r rl name] [-u username] [-x config]

like. look at her. all those little flags. she's doing so much 🫢


πŸ’– DESCRIPTION

swirc is a BSD licensed, console based and lightweight ICB and IRC client written in C/C++, whose goals are to be portable and secure. portable AND secure?? she said both, she's not picking a struggle. periodt πŸ’…


✨ OPTIONS ✨

  • -4 β€” Use IPv4 addresses only πŸ’™
  • -6 β€” Use IPv6 addresses only πŸ’œ
  • -? β€” Output help πŸ₯Ί (she's asking if you need help, take the help)
  • -C β€” Do not change color definitions. So here's the tea: if the terminal you're running swirc in supports >= 256 colors and can_change_color(3) is true, then swirc uses init_color(3) to initialize the extended IRC color palette. Which may or may not already be set correctly by the terminal, ngl. This option is useful in case the terminal look strange after exit, which is possible to fix by simply restarting it. basically it's the "pls don't touch my colors" flag 🎨
  • -P β€” Permanently disable SASL authentication. If specified, the effect is final (i.e. it overrides any config file value.) no take-backs. none. she means it. πŸ’€
  • -R β€” Disable TLS/SSL peer verification πŸ™ˆ (bestie. why.)
  • -S β€” Force TLS (Transport Layer Security) πŸ”’
  • -W password β€” Equal effect as flag -p but operates in a non-interactive manner. Be careful if you are using this option on a public computer with multiple other users because the password will then be visible to them in the output of ps(1). FR FR. anyone can just read it. on a shared machine this is giving main character behavior in the worst way 😭
  • -X β€” Disable all IRCv3 extensions. If you are connecting to an unmodern IRC server this flag is useful. Because if the IRC server sees too many unknown commands during the connection process it may result in a connection failure. old server? she's shy around new features. turn em off 🫢
  • -c server[:port] β€” Connect to given server. If the port is omitted port 6667 will be chosen. And if the port is 7326 ICB mode is turned on automatically. Further, if the port is 6697 swirc attempts to initiate a TLS/SSL connection. three ports, three whole vibes πŸ”₯
  • -d β€” Debug logging πŸ›
  • -h hostname β€” Controls the hostname which swirc will attempt to make connection to the ICB/IRC server from. Can happily be combined with -4 and -6. she said happily. she loves a combo.
  • -i β€” Turn on Internet Citizen's Band mode πŸ“»
  • -j join β€” A comma-separated list of channels to join. For example:
-j libera,linux,c,c++
  • -n nickname β€” Online nickname πŸŽ€
  • -p β€” Server password (for private servers). However: InspIRCd has a module called password forward, which means that if a server password is specified by this flag, it will be used to identify to NickServ. If so: connect with a TLS/SSL connection, i.e. an encrypted connection, to prevent your password from being disclosed in clear text. swirc also supports IRCv3 SASL authentication which is probably a better alternative. tl;dr β€” use SASL if you can, it's the upgrade πŸ’…
  • -r rl name β€” Your real name 🌈
  • -u username β€” Your username ⭐
  • -v β€” Output swirc version πŸ‘‘
  • -x config β€” Config file πŸ“

πŸŽ€ KEYS

the whole keyboard is basically a controller and you're the main character:

  • CTRL+a β€” Move to beginning of line
  • CTRL+e β€” Move to end of line
  • CTRL+b β€” Move cursor backward
  • CTRL+f β€” Move cursor forward
  • CTRL+d β€” Delete
  • CTRL+g β€” Clear readline input. Also useful to trigger terminal resize signal. two jobs, one key, she's employed πŸ’…
  • CTRL+l β€” Per window basis toggle logging on/off and works while IRC connected πŸ“
  • CTRL+n β€” Next window
  • CTRL+p β€” Previous window
  • PG UP β€” Scroll up
  • PG DOWN β€” Scroll down
  • Up arrow β€” History previous
  • Down arrow β€” History next
  • F2 β€” Spell word ✨
  • F3 β€” Scroll nicklist up
  • F4 β€” Scroll nicklist down
  • F11 β€” Close window πŸšͺ
  • F12 β€” Close all private conversations (all of them. at once. bye πŸ‘‹)

πŸ’… INSERTING TEXT-DECORATION

  • F5 β€” Blink
  • F6 β€” Bold
  • F7 β€” Color
  • F8 β€” Normal
  • F9 β€” Reverse
  • F10 β€” Underline

decorate your messages like you decorate your notes app 🌈


πŸ›‘οΈ MITIGATIONS

On OpenBSD pledge(2) is used per default in order to force swirc into a restricted-service operating mode. This since version 1.1. Further, as of 2.3, pledge(2) is used in combination with unveil(2). she locks herself in a lil sandbox and honestly? good for her 🫢


πŸ“ FILES

  • ~/.swirc/swirc.conf β€” swirc configuration file
  • ~/.swirc/default.thm β€” swirc default theme
  • ~/.swirc/log/error.log β€” swirc error log

πŸ‘€ SEE ALSO

swirc.conf(5), swirc.theme(5)


πŸ“œ HISTORY

The first version of swirc was released in mid 2016. Starting from Debian 12 (Bookworm) swirc is available for multiple architectures via Debian's official APT repository. And on OpenBSD version 6.7 and greater swirc can be installed by using pkg_add(1). a whole glow-up timeline, we love to see it πŸ’–


πŸ‘‘ AUTHORS

swirc was written by Markus Uhlin ⟨markus@nifty-networks.net⟩


πŸ› BUGS

https://github.com/uhlin/swirc/issues

If many errors regarding "In perform_convert_buffer: characters lost: Illegal byte sequence" are present in the error log, then additional encodings for your locale should be installed. See locale(1) for supported character encodings. swirc can handle and are looking for:

  • UTF-8
  • ISO-8859-1
  • ISO-8859-15

Unfortunately some operating systems have decided to only support the UTF-8 character encoding. just UTF-8. that's it. that's the whole menu 😭


ngl if you see that byte-sequence error a bunch of times, that's your sign to go install the extra encodings. she's literally telling you what she's looking for. iykyk 🌸

and that's the page bestie!! this one's from the Debian camp and it's dated July 16, 2025 β€” go forth and connect, mwah πŸ’œπŸŽ€βœ¨

πŸ“¦ where this page comes from