---
name: "swirc"
section: "1"
platform: "linux"
package: "swirc"
version: "3.5.4-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/swirc"
---

# swirc(1)

curses icb and irc client

## NAME

**swirc** – curses icb and irc client

## SYNOPSIS

**swirc** \[**-46?CPRSXdipv**\] \[**-W** *password*\] \[**-c** *server\[:port\]*\] \[**-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)](/can_change_color/3.md) is true **swirc** uses [init\_color(3)](/init_color/3.md) 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)](/ps/1.md).

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

- **-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.conf/5.md), [swirc.theme(5)](/swirc.theme/5.md)

## 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)](/locale/1.md) 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.
