swirc — curses icb and irc client
Contents
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.
Debian October 21, 2024 SWIRC(1)
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.
Files
~/.swirc/swirc.confswirc configuration file ~/.swirc/default.thmswirc default theme ~/.swirc/log/error.logswirc error log
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).
Inserting Text-Decoration
F5 Blink
F6 Bold
F7 Color
F8 Normal
F9 Reverse
F10 Underline
Keys
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.
CTRL+l Per window basis toggle logging on/off and works while IRC connected
CTRL+n Next window
CTRL+p Previous window
PGUP Scroll up
PGDOWN Scroll down
Uparrow History previous
Downarrow History next
F2 Spell word
F3 Scroll nicklist up
F4 Scroll nicklist down
F11 Close window
F12 Close all private conversations
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).
Name
swirc — curses icb and irc client
Options
-4 Use IPv4 addresses only
-6 Use IPv6 addresses only
-? Output help
-C Do not change color definitions. If the terminal used to run swirc supports >= 256 colors and
can_change_color(3) is true swirc uses init_color(3) to initialize the extended IRC color
palette. Which may or may not already be set correctly by the terminal. This option is useful
in case the terminal look strange after exit, which is possible to fix by simply restarting it.
-P Permanently disable SASL authentication. If specified, the effect is final (i.e. it overrides
any config file value.)
-R Disable TLS/SSL peer verification
-S Force TLS (Transport Layer Security)
-Wpassword
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).
-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.
-cserver[: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.
-d Debug logging
-i Turn on Internet Citizen's Band mode
-jjoin
A comma-separated list of channels to join. For example:
-j libera,linux,c,c++
-nnickname
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.
-rrlname
Your real name
-uusername
Your username
-v Output swirc version
-xconfig
Config file
See Also
swirc.conf(5), swirc.theme(5)
Synopsis
swirc [-46?CPRSXdipv] [-Wpassword] [-cserver[:port]] [-jjoin] [-nnickname] [-rrlname] [-uusername]
[-xconfig]
