summaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README41
1 files changed, 35 insertions, 6 deletions
diff --git a/README b/README
index 437edbd..0c0f23f 100644
--- a/README
+++ b/README
@@ -48,19 +48,48 @@ To implement:
- subject changing
- automatic +v/+h/+o botnet juggling between bridge IRC connections and control IRC conn
- setting user@host of bridge bots on IRC to JIDs of XMPP users by temporary changing rDNS
+ - reusing bridge and control connections with same nick to different channels on same network
Notes:
- when connecting to a channel with already joined nicks, they're not connected to XMPP until they send a message or change their nick. only after that are they bridged, and the sent message is not lost. implementing this would require parsing NAMES list, which only contains nicks and not usernames and hostnames, and would also impact performance, especially on MAM-enabled MUCs that send a lot of history on XMPP join for every connection. XMPP MUCs also tend to slow down with a large number of connections, whereas IRC channels don't.
+ - if possible, send core dumps of crashes to my email address anton@šijanec.eu.
+ - coredumps contain passwords and some chats, so make sure to change XMPP password before
+ - to capture core dumps of systemd services (when installed on debian), use systemd-coredump
-Debian installation and systemd service:
- - this program is packaged in my personal package archive on http://prog.sijanec.eu/
+Debian installation, systemd service and precompiled dynamically linked binaries:
+ - packages in my ppa on http://prog.sijanec.eu/ (amd64, arm64, armel, i386, src, dbgsym, lib)
- after adding the archive and running apt update, install with apt install ircxmpp
- edit the configuration file with environment variables in /etc/ircxmpp
- run the service with service ircxmpp start, enable it at boot with systemctl enable ircxmpp
+ - ci/cd: http://jenkins.sijanec.eu/job/ircxmpp for amd64, arm64 and armel
Security:
- - Do not trust this program.
- - If you find a (security) vulnerability or any issue, please email anton at šijanec.eu
- - Whenever possible, run the program in a chroot jail as an unpriviledged user. Running with systemd (service ircxmpp start) does that.
+ - do not trust this program.
+ - if you find a (security) vulnerability or any issue, please email anton@šijanec.eu.
+ - whenever possible, run the program in a chroot jail as an unpriviledged user. Running with systemd (service ircxmpp start) does that.
- -- Anton Luka Šijanec <anton@sijanec.eu> Wed, 27 Apr 2022 14:30:00 +0200
+Running multiple irc<->xmpp links at the same time:
+ - first link's environment variables are still in format IX_JID, IX_PASS, IX_HOST and so on
+ - second link's environment variables are in format IX_JID2, IX_PASS2, IX_HOST2 and so on
+ - this means you concatenate the config environment variable with the digit
+ - digits must be consecutive from 2 to infinity, vars without digit (1st link) are required
+ - IX_LOOPDELAY applies to all links, as there is no delay between individual links (no 2, 3)
+
+Compilation and manual install from source:
+ - git clone https://git.sijanec.eu/sijanec/ircxmpp
+ - cd ircxmpp
+ - make # tested compilers: gcc, clang and tcc. make -e CC=tcc, make -e CC=clang, ...
+ - make install # not required, but otherwise LD_LIBRARY_PATH=. ./ircxmpp for libircxmpp.so
+
+Using as a library:
+ - you may only use functions between #else and #endif in ircxmpp.h, handler struct is opaque
+ - after make install, ircxmpp.h and libircxmpp.so are placed in /usr/{include,lib}
+ - #include <ircxmpp.h> and link with -lircxmpp
+ - functions return nothing (except ircxmpp_init) and log to standard error
+ - do not call ircxmpp_set_*() functions after first call to ircxmpp_run_once()
+ - actual main function of the ircxmpp program is in ircxmpp.c between #else and #endif
+
+Gentoo/openrc?:
+ - http://github.com/OpenRC/openrc/pull/517 needs to be merged before for increased security
+
+ -- Anton Luka Šijanec <anton@sijanec.eu> Fri, 29 Apr 2022 17:00:00 +0200