3.8 KiB
xmpp resources https://www.reddit.com/r/xmpp/comments/cavyiv/good_xmpp_clients_and_servers/
clients https://xmpp.org/getting-started/ one such is https://mov.im/login, conversejs and gajim for windows and linux ie https://github.com/gajim/gajim
- xmpp providers: https://providers.xmpp.net/provider/07f.de/, https://providers.xmpp.net/provider/chapril.org/ (weird capchas) , https://providers.xmpp.net/provider/movim.eu/ (50 mb max file) https://07f.de/ provides other free services too
dino client
https://github.com/dino/dino/
after building it,to have different profiles
XDG_DATA_HOME="$HOME/.dino_profiles/work/share" XDG_CONFIG_HOME="$HOME/.dino_profiles/work/config" dino
or
XDG_DATA_HOME="$HOME/.dino_profiles/work/" dino
server
prosody https://prosody.im/doc/installing_from_source
first install lua and all the dependecnies
apt install lua5.4 liblua5.4-dev libicu-dev libssl-dev
and also luarocks too
then more lua dependencies using luarocks
to use luarocks directly
luarocks install luaexpat --local --lua-version=5.4
similarly do same for luafilesystem and luaunbound too
this can be headache too like setting ssl and all that thing so using snikket can help too, only con is more space required and cant be simply used in termux
snikket https://snikket.org/service/quickstart/
if using podman then add docker.io/ before images so podman knows to fetch from here
and also change the port too by changing snikket.conf and adding these lines
SNIKKET_TWEAK_HTTP_PORT=5080
SNIKKET_TWEAK_HTTPS_PORT=5443
# The primary domain of your Snikket instance
SNIKKET_DOMAIN=snikket.local
# An email address where the admin can be contacted
# (also used to register your Let's Encrypt account to obtain certificates)
SNIKKET_ADMIN_EMAIL=admin@localhost
Also create a .env file and
SNIKKET_DATA_DIR=/home/hpmi/Downloads/executables/Snikket/data
and in compose file make these changes
version: "3.3"
services:
snikket_proxy:
container_name: snikket-proxy
image: docker.io/snikket/snikket-web-proxy:stable
env_file: snikket.conf
network_mode: host
volumes:
- ${SNIKKET_DATA_DIR}:/snikket
- acme_challenges:/var/www/html/.well-known/acme-challenge
restart: "unless-stopped"
snikket_certs:
container_name: snikket-certs
image: docker.io/snikket/snikket-cert-manager:stable
network_mode: host
env_file: snikket.conf
volumes:
- ${SNIKKET_DATA_DIR}:/snikket
- acme_challenges:/var/www/.well-known/acme-challenge
restart: "unless-stopped"
snikket_portal:
container_name: snikket-portal
image: docker.io/snikket/snikket-web-portal:stable
network_mode: host
env_file: snikket.conf
restart: "unless-stopped"
snikket_server:
container_name: snikket
image: docker.io/snikket/snikket-server:stable
network_mode: host
volumes:
- ${SNIKKET_DATA_DIR}:/snikket
env_file: snikket.conf
restart: "unless-stopped"
volumes:
acme_challenges:
so for localhost, need to generate fake certificates
# 1. Create the new folder structure matching the domain
mkdir -p /your/custom/path/letsencrypt/live/snikket.local/
# 2. Generate the certificate with Multi-SAN support
openssl req -x509 -newkey rsa:4096 -sha256 -days 3650 -nodes \
-keyout /your/custom/path/letsencrypt/live/snikket.local/privkey.pem \
-out /your/custom/path/letsencrypt/live/snikket.local/fullchain.pem \
-subj "/CN=snikket.local" \
-addext "subjectAltName=DNS:snikket.local,DNS:localhost,IP:127.0.0.1,IP:
in /etc/hosts
127.0.0.1 snikket.local share.snikket.local
using this will give invite link for admin
docker exec snikket create-invite --admin --group default
since port 5443 is used so add that. eg
https://snikket.local:5443/invite/PP46bac4bk0wxHD50RbR7_6G/