= suika(1)
Simon Ser and contributors / Izuru Yakumo
v0.4.3
:doctype: manpage
:manmanual: Suika IRC Bouncer
:mansource: SUIKA

== Name
suika - Drunk as hell IRC bouncer, named after Suika Ibuki from Touhou Project

== Synopsis
suika [-options] ...

== Description
suika is an user-friendly IRC bouncer.
It connects to upstream IRC servers on behalf of the user to provide extra features.

* Multiple separate users sharing the same bouncer, each with their own upstream servers
* Clients connecting to multiple upstream servers via a single connection to the bouncer
* Sending the backlog (messages received while the user was disconnected from the bouncer), with per-client buffers

When joining a channel, the channel will be saved and automatically joined on the next connection.
When registering or authenticating with NickServ, the credentials will be saved and automatically used on the next connection if the server supports SASL.
When parting a channel with the reason "detach", the channel will be detached instead of being left.
When all clients are disconnected from the bouncer, the user is automatically marked as away.

suika supports two connection modes:

Single upstream mode: one downstream connection maps to one upstream connection. To enable this mode, connect to the bouncer with the username "<username>/<network>".
If the bouncer isn't connected to the upstream server, it will get automatically added.
Then channels can be joined and parted as if you were directly connected to the upstream server.

Multiple upstream mode: one downstream connection maps to multiple upstream connections.
Channels and nicks are suffixed with the network name.
To join a channel, you need to use the suffix too: /join #channel/network.
Same applies to messages sent to users.

For per-client history to work, clients need to indicate their name.
This can be done by adding a "@<client>" suffix to the username.

suika will reload the configuration file, the TLS certificate/key and the MOTD file when it receives the HUP signal.
The configuration options listen, db and log cannot be reloaded.

Administrators can broadcast a message to all bouncer users via /notice $<hostname> <text>, or via /notice $<text> in multi-upstream mode.
All currently connected bouncer users will receive the message from the special BouncerServ service.

== Options
* -h, -help
    Show help message and quit
* -config <path>
    Path to the config file. If unset, a default config file is used.
* -debug
    Enable debug logging (this will leak sensitive information such as passwords)
* -listen <uri>
    Listening URI (default ":6697"). Can be specified multiple times.

== See Also
suikadb(1)
suika-znc-import(1)
suika-config(5)
suika-bouncerserv(7)
