SWIRC(1)

NAME
swirc - curses icb and irc client

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

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.

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)

-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).

-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.

-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.

-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.

-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.

-r rl name
    Your real name

-u username
    Your username

-v  Output swirc version

-x config
    Config file

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
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

INSERTING TEXT-DECORATION
F5  Blink
F6  Bold
F7  Color
F8  Normal
F9  Reverse
F10 Underline

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).

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).

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.