127 lines
No EOL
3.8 KiB
Markdown
127 lines
No EOL
3.8 KiB
Markdown
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
|
|
```txt
|
|
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
|
|
```txt
|
|
SNIKKET_DATA_DIR=/home/hpmi/Downloads/executables/Snikket/data
|
|
```
|
|
|
|
and in compose file make these changes
|
|
```yml
|
|
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
|
|
```sh
|
|
# 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`
|
|
```txt
|
|
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/` |