xK/xN/xN.adoc
Přemysl Eric Janouch 53ba996ec9
All checks were successful
Arch Linux AUR Success
Add a simple IRC notifier utility
2024-04-03 15:56:33 +02:00

2.6 KiB
Raw Permalink Blame History

xN(1)

Name

xN - IRC notifier

Synopsis

xN [OPTION]…​ IRC-URL…

Description

xN is a simple IRC notifier, sending the text it receives on its standard input to all IRC targets specified by its command line arguments.

The input text is forced to validate as UTF-8, and it is not split automatically to comply with the maximum IRC message length. Thus, make sure to make the lines short, or they will be trimmed by the servers.

xN does not attempt to appease flood detectors.

Options

-debug

Print incoming IRC traffic, which may help in debugging any issues.

-version

Output version information and exit.

URL format

xN accepts URLs describing IRC users and channels, roughly as specified by the Internet Draft draft-butcher-irc-url-04.txt. Note, however, that close to no validation is done on these, and you should not pass URLs from untrusted sources, so as to avoid command or parameter injection.

Any provided username will be propagated to the nickname, username, and realname. The default value for these is the name of your system user.

As an extension, you may use the following options:

skipjoin

Do not JOIN channels before sending messages to them. This requires channels to allow external messages (which are disabled by channel mode +n).

usenotice

Send a NOTICE rather than a PRIVMSG, which distinguishes automated messages, and is more appropriate for bots.

Examples

$ uptime | xN 'irc://uptime@localhost/%23watch?skipjoin&usenotice'

Send uptime(1) information as an external notice to channel #watch on the local server, using the standard port 6667.

$ fortune -s | xN ircs://ohayou@irc.libera.chat/john,isuser

Greet user john with a fortune for this day. In compliance with RFC 7194, the default TLS port is assumed to be 6697.

$ xN 'ircs://agent:Password123@irc.cia.gov:1337/#hq?key=123456' <<EOF
The red fox trots quietly at midnight.
EOF

Connect over TLS to irc.cia.gov on port 1337, use Password123 as the server password, register as user agent, join channel #hq using the channel key 123456, and send a very secret message.

Reporting bugs

Use https://git.janouch.name/p/xK to report bugs, request features, or submit pull requests.

See also

Uniform Resource Locator Schemes for Internet Relay Chat Entities, https://datatracker.ietf.org/doc/html/draft-butcher-irc-url-04.

Default Port for Internet Relay Chat (IRC) via TLS/SSL, https://datatracker.ietf.org/doc/html/rfc7194.