This commit is contained in:
nihilist 2025-05-07 09:43:51 +02:00
parent ab60e81a84
commit 0e65e06b3d
14 changed files with 8 additions and 560 deletions

View file

@ -1,292 +0,0 @@
# Self-Hosting (NO LONGER MAINTAINED)
Showing how you can install any service yourself, where you can own your data, guaranteeing privacy.
**DISCLAIMER:** these tutorials are meant to be used as a "how to get started on XYZ", these tutorials may miss some details here and there, they have a lower quality standard than the ones i maintain in [Privacy / Anonymity / Plausible Deniability](../servers/index.md)
**CONTRIBUTORS** :
1. Nihilist
2. Notorious
LEGAL DISCLAIMER:
Across the entirety of my blog, in all articles that I made, I advocate for the legal use of technologies, even when I am talking about Privacy-enhancing and Anonymity-enabling technologies. In no way am I advocating for any illegal use of any technology showcased in any article on my blog, as the goal of this blog is to remain stricly informative and educative.
I decline any and all responsibility for any mis-use of any of the technology i showcase in the entirety of my blog. I also decline any and all responsibility for any physical, digital and psychological damage caused by the mis-use of any showcased technology, as the responsibility of such acts remains with the perpretating third-party. By reading this blog, you permanently, irrevocably and world-widely agree that I am in no way am responsible for any illegal action done by you or anyone that uses any of the showcased technology in my blog articles.
## **Setting up Servers**
📝 Security
1. [✅ Physical Surveillance (rpi + webcams)](surveillance/index.md)
📝 Privacy Front-ends
1. [✅ SearxNG: privacy front-end for web-browsing](searxng/index.md)
2. [✅ 4get: privacy front-end for web-browsing](4get/index.md)
3. [✅ Whoogle: privacy front-end for Google](whoogle/index.md)
4. [✅ Invidious: privacy front-end for Youtube](invidious/index.md)
5. [✅ Nitter: privacy front-end for Twitter](nitter/index.md)
6. [✅ AnonymousOverflow: privacy front-end for StackOverflow](anonymousoverflow/index.md)
7. [✅ Teddit: (DISCONTINUED) privacy front-end for Reddit](teddit/index.md)
8. [✅ SafeTwitch: privacy front-end for Twitch](safetwitch/index.md)
9. [✅ Wikiless: privacy front-end for wikipedia](wikiless/index.md)
10. [✅ Proxitok: privacy front-end for tiktok](proxitok/index.md)
11. [✅ Librex: privacy front-end for google](librex/index.md)
📝 Productivity
1. [✅ RSS Feeds](rss/index.md)
2. [✅ RustDesk (open source teamviewer alternative)](RustDesk/index.md)
3. [✅ Perlite (Obsidian Notes)](perlite/index.md)
4. [✅ Gitea](Gitea/index.md)
5. [ ✅ Nginx Nextcloud Server](nextcloud/index.md)
6. [✅ Nginx Kanboard](kanboard/index.md)
7. [✅ Privatebin](privatebin/index.md)
8. [✅ Jitsi](jitsi/index.md)
9. [✅ CyberChef](cyberchef/index.md)
10. [✅ GLPI](glpi/index.md)
11. [✅ FreshRSS](freshrss/index.md)
12. [✅ PlainPad](plainpad/index.md)
13. [✅ MyMind+Mindmaps](mymind/index.md)
14. [✅ hat.sh file encryption](hatsh/index.md)
💻 Collaborative Work
1. [✅ Matrix chat with VoIP support ](../servers/matrixnew/index.md)
2. [✅ Etherpad ](etherpad/index.md)
3. [✅ Cryptpad](cryptpad/index.md)
4. [✅ CodiMD](codimd/index.md)
5. [✅ ShareLateX](sharelatex/index.md)
⭐ Personal Favorites
1. [✅ Anonymity Management (Whonix, Veracrypt Plausible Deniability)⭐](../servers/anonymity/index.md)
2. [✅ Public Mail service over VPN over Tor ⭐](../servers/mailprivate/index.md)
3. [✅ GTX 1050 PCI Passthrough to QEMU VM](pcipassthrough2/index.md)
4. [✅ Lainon Radio (mpd, icecast, nginx)](lainradio/index.md)
5. [✅ NGINX - RTMP HLS + HTTPS](hls/index.md)
6. [✅ Perlite (Obsidian Notes)](perlite/index.md)
7. [✅ Openvpn Over Tor Server Setup](ovpn_tor/index.md)
8. [✅ HTTP Service over VPN over Tor](tor_ssh_tunnel_port_forwarding/index.md)
9. [ ✅ Nginx Zabbix Server, with SNMPv3 Hosts](Zabbix/index.md)
10. [ ✅ Nginx Nextcloud Server](nextcloud/index.md)
11. [✅ Leela Chess Zero ](lc0/index.md)
🪟 Windows Server
1. [✅ WS2019 QEMU setup](w0/index.md)
2. [✅ DNS setup](w1_dns/index.md)
3. [✅ Active Directory (AD) setup](w2_ad/index.md)
4. [✅ AD + Users and Groups setup](w3_users/index.md)
5. [✅ WS2019 DNS + AD Proxmox setup](w5/index.md)
6. [✅ LDAP + SSL setup](w6_ldaps/index.md)
7. [✅ WS2019 Triple DFS Share replication](w7/index.md)
🎦 Media
1. [✅ Stable Diffusion (Easy Diffusion) AI text to image generation](stablediffusion2/index.md)
2. [✅ NGINX - RTMP HLS + HTTPS](hls/index.md)
3. [✅ Lainon Radio (mpd, icecast, nginx)](lainradio/index.md)
4. [✅ Neko (rabb.it replacement)](neko/index.md)
5. [✅ Hydrus Network Client](hydrus/index.md)
6. [✅ Asciinema Server](asciinema/index.md)
🟦 pfSense Administration
1. [✅ pfsense on virt-manager](../servers/pf_virt/index.md)
2. [✅ pfsense on proxmox](pf_prox/index.md)
3. [✅ pfsense Site to Site VPN](pf_vpn/index.md)
🐐 Debian Server Administration
1. [✅ Debian 12 Bookworm Upgrade ](debianupgrade/index.md)
2. [✅ Mdadm raid 1 setup ](raid1disks/index.md)
3. [✅ External Drives with LUKS encryption ](luks/index.md)
4. [✅ Simple NGINX setup with HTTPS ](nginx/index.md)
5. [✅ NGINX + fail2ban ](nginx_fail/index.md)
6. [✅ Protect SSH with fail2ban ](fail2banssh/index.md)
7. [✅ Haproxy Load Balancing ](haproxy/index.md)
8. [✅ NGINX Load Balancing ](nginx_loadb/index.md)
9. [✅ XRDP ](xrdp/index.md)
10. [✅ Apt-Cacher Linux Proxy](apt-cacher/index.md)
🔁 Automation
1. [✅ Automatic Debian updates (via unattended upgrades)](unattendedupgrades/index.md)
2. [✅ Automatic Debian / Arch Updates](cron/index.md)
3. [✅ Updating Debian10 Clusters with Ansible](ansible/index.md)
🖥️ Monitoring
1. [ ✅ Uptime Kuma](uptimekuma/index.md)
2. [ ✅ SNMP (Debian, Windows, PfSense)](snmp/index.md)
3. [ ✅ Nginx Zabbix Server](Zabbix/index.md)
4. [ ✅ Nginx LibreNMS Server](librenms/index.md)
5. [ ✅ Nginx Observium Server](observium/index.md)
6. [✅ Prometheus Grafana Server](progra/index.md)
7. [ ✅ CheckMK Server](checkmk/index.md)
8. [ ✅ T-Pot Honeypot](tpot/index.md)
9. []()
📧 Mail
1. [✅ VPS PUBLIC Mailserver (postfix, dovecot, spamassassin, OpenDKIM)](mail2/index.md)
2. [✅ Rainloop](rainloop/index.md)
3. [✅ Local hMailServer + Thunderbird with self-signed SSL](hmail/index.md)
📜 Scripted Setups:
1. [✅ Openvpn Server](openvpn/index.md)
2. [✅ Wireguard Server](wireguard_auto/index.md)
3. [✅ Simple SSH Server](https://git.nowhere.moe/nihilist/serverside/src/branch/master/ssh/ssh.sh)
4. [✅ RDP Connections](rdp/index.md)
5. [✅ Simple FTP server](https://git.nowhere.moe/nihilist/serverside/src/branch/master/ftp/vsftpd.sh)
6. [✅ Simple WebDav server](https://git.nowhere.moe/nihilist/serverside/src/branch/master/webdav/webdav.sh)
7. [ ✅ Snapd Nextcloud Server](nextcloud/lazy.html)
🚧Complete Professionnal Projects
1. [✅ E4 Network Monitoring (SNMP + GLPI)](composite/e4.html)
2. [✅ E4 - SP1 Nextcloud 🇫🇷](e4/sp1.html)
3. [✅ E4 - SP2 pfSense VPN 🇫🇷](e4/sp2.html)
🗄️ Databases
1. [✅ PostgreSQL Master-Slave Replication](db/psql_ms.html)
2. [✅ PostgreSQL Master-Master (Bucardo)](db/psql_mm.html)
3. [✅ PostgreSQL Front-End: PgAdmin4](db/pgadmin.html)
4. [✅ MySQL Master-Slave Replication](db/msql_ms.html)
5. [✅ MySQL Master-Master Replication](db/msql_mm.html)
6. [✅ MySQL Front-End: PHPMyAdmin](db/phpmyadmin.html)
🚢 Docker - Management
1. [✅ Docker automatic image updates setup](watchtower/index.md)
2. [✅ Docker setup](virtual/docker.io.html)
3. [✅ Dozzle (Docker Logs)](dozzle/index.md)
4. [✅ Portainer.io](portainer/index.md)
5. [✅ Nginx Proxy Manager](nginx_p_mngr/index.md)
🚢 Docker - Containers
1. [✅ Dillinger](dillinger/index.md)
2. [✅ Kutt URL Shortener](kutt/index.md)
3. [✅ Searx](searx_docker/index.md)
📦 Backups
1. [✅ Rsync Automation with SSH Keys (PUSH backups)](rsync/index.md)
2. [✅ Borg Backup Usage (PUSH backups)](borg/index.md)
3. [✅ Borg Backup Automation (PUSH backups)](borg_auto/index.md)
🔍 Search Engines
1. [✅ Gomez (Torrents)](gomez/index.md)
⚠️ Minimal / Experimental / Games
1. [✅ KVM/QEMU : Multiple displays per VM + clipboard copy paste](kvm/index.md)
2. [✅ Port forward from local services to VPSes](portforwarding/index.md)
3. [✅ Bedrock Linux: kali tools on arch linux](bedrock/index.md)
4. [✅ GTX 1050 PCI Passthrough to QEMU VM](pcipassthrough2/index.md)
5. [✅ PHP LainSafe](phpfilesafe/index.md)
6. [✅ CGI LainSafe](lainsafe/index.md)
7. [✅ Colored MOTDs ](motd/index.md)
8. [✅ Leela Chess Zero ](lc0/index.md)
9. [✅ TF2 Server (ubuntu)](tf2srv/index.md)
10. [✅ Modded Minecraft Server](minecraft/index.md)
📡 DNS
1. [✅ Bind9 dyndns + dnssec + slave master](../servers/dns/index.md)
2. [✅ Tor Anonymous DNS](tordns/index.md)
3. [✅ pihole DNS](pihole/index.md)
📑 Blogging
1. [✅ Ghost](ghost/index.md)
💬 Chat
1. [✅ Clearnet Matrix server (federated clearnet chatting)](matrixnew/index.md)
2. [✅ XMPP Chat Server Setup (Clearnet + Onion + OMEMO E2EE)](xmpp2024/index.md)
3. [✅ rocket.chat](rocketchat/index.md)
4. [✅ TheLounge (with inspircd)](thelounge/index.md)
5. [✅ inspIRCd (no ssl, with password)](irc/index.md)
🧊 General Virtualisation
1. [✅ virt-manager with NAT setup](virtual/virtmanager.html)
2. [✅ VMWare Workstation Pro](vmware/index.md)
## **Anonymity-friendly VPS providers**
1. [ServersGuru (KYC-Free reseller of cloud providers like Hetzner)](https://kycnot.me/service/servers.guru)
2. [nicevps.net (KYC-Free registrar)](https://kycnot.me/service/nicevps)
3. [Other Non-KYC Cloud Providers](https://kycnot.me/?t=service&q=vps)
## **Inspirations**
1. [awesomeopensource self-hosted](https://awesomeopensource.com/projects/self-hosted)
2. [awesome self-hosted](https://github.com/awesome-selfhosted/awesome-selfhosted)
3. [ awesome sysadmin](https://github.com/kahun/awesome-sysadmin)
4. [ Awesome Self Hosted](https://selfhosted.libhunt.com/projects)

View file

@ -1,6 +1,5 @@
# invidious Setup # invidious Setup
![](0.svg)
In this tutorial we're going to setup an invidious instance that automatically updates itself. In this tutorial we're going to setup an invidious instance that automatically updates itself.
@ -701,7 +700,7 @@ If it doesnt work it may be because you have the "local: true" setting in your d
## Onion instance setup ## Onion instance setup
Now let's setup an invidious instance that works over tor with a .onion link. For the initial setup of a tor .onion website, check out [this](../torwebsite/index.md) tutorial. Now let's setup an invidious instance that works over tor with a .onion link. For the initial setup of a tor .onion website, check out [this](../../opsec/torwebsite/index.md) tutorial.
[ nowhere.moe ] [ /dev/pts/21 ] [/srv/invidious] [ nowhere.moe ] [ /dev/pts/21 ] [/srv/invidious]

View file

@ -4,7 +4,7 @@
In this tutorial we're going to setup a private matrix chat server along with VoIP support for the element desktop client. In this tutorial we're going to setup a private matrix chat server along with VoIP support for the element desktop client.
_Disclaimer:_ If you want this service to remain anonymous, make sure you at least keep [TOR between you and the service](../sensitiveremotevshome/index.md) from the [VPS acquisition](../anonymousremoteserver/index.md) to actual service usage. _Disclaimer:_ If you want this service to remain anonymous, make sure you at least keep [TOR between you and the service](../../opsec/sensitiveremotevshome/index.md) from the [VPS acquisition](../../opsec/anonymousremoteserver/index.md) to actual service usage.
## **Initial Setup** ## **Initial Setup**
@ -226,7 +226,7 @@ Then we make sure that we can access the matrix server via nginx:
Then we test that we can login from a matrix client (which can be installed inside a [whonix VM](../whonixqemuvms/index.md)), let's use [element](https://element.io/download) because we want to be able to do voicecalls: Then we test that we can login from a matrix client (which can be installed inside a [whonix VM](../../opsec/whonixqemuvms/index.md)), let's use [element](https://element.io/download) because we want to be able to do voicecalls:
![](1.png) ![](2.png) ![](3.png) ![](4.png) ![](5.png) ![](1.png) ![](2.png) ![](3.png) ![](4.png) ![](5.png)

View file

@ -1,6 +1,5 @@
# perlite Setup # perlite Setup
![](0.svg)
[Perlite](https://github.com/secure-77/Perlite) is an awesome project by [sec77](https://secure77.de/) to display your obsidian notes on the web, essentially an alternative to the paid Obsidian publish. [Perlite](https://github.com/secure-77/Perlite) is an awesome project by [sec77](https://secure77.de/) to display your obsidian notes on the web, essentially an alternative to the paid Obsidian publish.

View file

@ -6,7 +6,7 @@ In this tutorial we're going to look at how to port forward services from being
Situation: you want to run some services locally. But you want them to be publicly accessible without revealing your public IP. Situation: you want to run some services locally. But you want them to be publicly accessible without revealing your public IP.
Solution 1: install openvpn, and port forward through iptables, as seen on [](../mailprivate/index.md) Solution 1: install openvpn, and port forward through iptables, as seen on [](../../opsec/mailprivate/index.md)
wget https://raw.githubusercontent.com/ech1/serverside/master/ovpn/openvpn-install.sh wget https://raw.githubusercontent.com/ech1/serverside/master/ovpn/openvpn-install.sh

View file

@ -1,6 +1,5 @@
# searxng Setup # searxng Setup
![](0.svg)
In this tutorial, we're going to setup a Searxng instance using docker-compose and nginx In this tutorial, we're going to setup a Searxng instance using docker-compose and nginx

View file

@ -137,7 +137,7 @@ Once the device is added, you need to wait for the device to get automatically p
![](4.png) ![](4.png)
Check out my zabbix tutorial on how i setup a snmp OID to monitor the monthly bandwidth usage of my VPS [here ](../zabbix/index.md) Check out my zabbix tutorial on how i setup a snmp OID to monitor the monthly bandwidth usage of my VPS [here ](../Zabbix/index.md)
## **Windows SNMP** ## **Windows SNMP**

View file

@ -486,7 +486,7 @@ To see the output of the files from your web-browser you can just run a nginx se
![](2.png) ![](2.png)
Now let's look at how we can send a mail whenever we have a new file being created in /mnt/VAULT/cameras/. For this part you will need to have a functionning mail server, to know how to setup one please see [this tutorial](../mailprivate/index.md) i made. My mail server is at 10.0.0.222 Now let's look at how we can send a mail whenever we have a new file being created in /mnt/VAULT/cameras/. For this part you will need to have a functionning mail server, to know how to setup one please see [this tutorial](../../opsec/mailprivate/index.md) i made. My mail server is at 10.0.0.222
[ 10.0.0.223/16 ] [ /dev/pts/1 ] [~] [ 10.0.0.223/16 ] [ /dev/pts/1 ] [~]

View file

@ -72,7 +72,7 @@ From here make thelounge public:
![](4.png) ![](4.png)
Since i'm serving thelounge behind a reverse proxy, i need that value down there as well as making it public. Then just use nginx elsewhere to handle the reverse proxying properly and you're good to go. Another important part of the [config.js](config.js)file: Since i'm serving thelounge behind a reverse proxy, i need that value down there as well as making it public. Then just use nginx elsewhere to handle the reverse proxying properly and you're good to go. Another important part of the config.js file:
![](5.png) ![](5.png)

View file

@ -1,7 +1,5 @@
# tor_ssh_tunnel_port_forwarding Setup # tor_ssh_tunnel_port_forwarding Setup
![](0.png)
## **Initial Setup** ## **Initial Setup**
First, setup the /etc/ssh/sshd_config to allow port forwarding: First, setup the /etc/ssh/sshd_config to allow port forwarding:

View file

@ -1,6 +1,5 @@
# torproxy Setup # torproxy Setup
![](0.png)
## **Initial Setup** ## **Initial Setup**

View file

@ -1,6 +1,5 @@
# uptimekuma Setup # uptimekuma Setup
![](0.svg)
In this tutorial we're going to setup Uptime Kuma to monitor services. In this tutorial we're going to setup Uptime Kuma to monitor services.

View file

@ -1,253 +0,0 @@
# XMPP server (Gajim, OMEO encryption, ejabberd .onion setup)
In this tutorial we're going to cover how to setup an XMPP chatting service over Tor.
_Disclaimer:_ If you want this service to remain anonymous, make sure you at least keep [TOR between you and the service](../sensitiveremotevshome/index.md) from the [VPS acquisition](../anonymousremoteserver/index.md) to actual service usage.
## **Initial Setup**
First let's install the required packages, and then run the xmpp server using docker (you can check the documentation [here](https://github.com/processone/docker-ejabberd/blob/master/ecs/README.md)), we'll follow [Lukesmith's tutorial](https://landchad.net/ejabberd/) specifically:
apt install ejabberd -y
Now we need the following domain names to point to your server:
nowhere.moe - Your XMPP hostname
xmpp.nowhere.moe - For mod_muc, Multi User Chats (MUCs)
upload.nowhere.moe - For mod_http_upload, file upload support
proxy.nowhere.moe - For mod_proxy65, SOCKS5 proxy support
pubsub.nowhere.moe - For mod_pubsub, publish-subscribe support (A fancier RSS)
Then we edit the ejabberd config file accordingly:
[ Datura ] [ /dev/pts/10 ] [/srv]
→ vim /etc/ejabberd/ejabberd.yml
[...]
hosts:
- nowhere.moe
[...]
mod_muc:
host: xmpp.nowhere.moe
[...]
Next we need to obtain the TLS certificate for the xmpp.nowhere.moe domain, to do so we'll use acme.sh:
[ Datura ] [ /dev/pts/10 ] [~]
→ systemctl stop nginx ; acme.sh --issue --standalone -d xmpp.nowhere.moe -k 4096 ; systemctl start nginx
[Sun Jun 9 07:12:21 PM CEST 2024] Using CA: https://acme-v02.api.letsencrypt.org/directory
[Sun Jun 9 07:12:21 PM CEST 2024] Standalone mode.
[Sun Jun 9 07:12:21 PM CEST 2024] Creating domain key
[Sun Jun 9 07:12:23 PM CEST 2024] The domain key is here: /root/.acme.sh/xmpp.nowhere.moe/xmpp.nowhere.moe.key
[Sun Jun 9 07:12:23 PM CEST 2024] Single domain='xmpp.nowhere.moe'
[Sun Jun 9 07:12:25 PM CEST 2024] Getting webroot for domain='xmpp.nowhere.moe'
[Sun Jun 9 07:12:25 PM CEST 2024] Verifying: xmpp.nowhere.moe
[Sun Jun 9 07:12:25 PM CEST 2024] Standalone mode server
[Sun Jun 9 07:12:26 PM CEST 2024] Pending, The CA is processing your order, please just wait. (1/30)
[Sun Jun 9 07:12:30 PM CEST 2024] Pending, The CA is processing your order, please just wait. (2/30)
[Sun Jun 9 07:12:33 PM CEST 2024] Pending, The CA is processing your order, please just wait. (3/30)
[Sun Jun 9 07:12:37 PM CEST 2024] Success
[Sun Jun 9 07:12:37 PM CEST 2024] Verify finished, start to sign.
[Sun Jun 9 07:12:37 PM CEST 2024] Lets finalize the order.
[Sun Jun 9 07:12:37 PM CEST 2024] Le_OrderFinalize='https://acme-v02.api.letsencrypt.org/acme/finalize/1581078457/276884921497'
[Sun Jun 9 07:12:38 PM CEST 2024] Downloading cert.
[Sun Jun 9 07:12:38 PM CEST 2024] Le_LinkCert='https://acme-v02.api.letsencrypt.org/acme/cert/03a21dfde3a1a017ddaec55ef3c43a3cae0c'
[Sun Jun 9 07:12:39 PM CEST 2024] Cert success.
[...]
[Sun Jun 9 07:12:39 PM CEST 2024] Your cert is in: /root/.acme.sh/xmpp.nowhere.moe/xmpp.nowhere.moe.cer
[Sun Jun 9 07:12:39 PM CEST 2024] Your cert key is in: /root/.acme.sh/xmpp.nowhere.moe/xmpp.nowhere.moe.key
[Sun Jun 9 07:12:39 PM CEST 2024] The intermediate CA cert is in: /root/.acme.sh/xmpp.nowhere.moe/ca.cer
[Sun Jun 9 07:12:39 PM CEST 2024] And the full chain certs is there: /root/.acme.sh/xmpp.nowhere.moe/fullchain.cer
[ Datura ] [ /dev/pts/10 ] [~]
→ chown -R ejabberd:ejabberd /root/.acme.sh/xmpp.nowhere.moe
[ Datura ] [ /dev/pts/10 ] [~]
→ cat /etc/ejabberd/ejabberd.yml
[...]
certfiles:
- "/root/.acme.sh/xmpp.nowhere.moe/fullchain.cer"
[...]
Then we add the admin user in ejabberd.yml:
[ Datura ] [ /dev/pts/10 ] [~]
→ cat /etc/ejabberd/ejabberd.yml
[...]
acl:
admin:
user:
- "nihilist"
[...]
We also add the File Uploads:
[ Datura ] [ /dev/pts/10 ] [~]
→ cat /etc/ejabberd/ejabberd.yml
[...]
mod_http_upload:
put_url: https://@HOST@:5443/upload
docroot: /srv/xmpp/upload/
custom_headers:
"Access-Control-Allow-Origin": "https://@HOST@"
"Access-Control-Allow-Methods": "GET,HEAD,PUT,OPTIONS"
"Access-Control-Allow-Headers": "Content-Type"
[...]
[ Datura ] [ /dev/pts/10 ] [~]
→ mkdir /srv/xmpp/upload/ -p
[ Datura ] [ /dev/pts/10 ] [~]
→ chown -R ejabberd:ejabberd /srv/xmpp/upload/
We enable message archives too:
[ Datura ] [ /dev/pts/10 ] [~]
→ cat /etc/ejabberd/ejabberd.yml
[...]
mod_mam:
## Mnesia is limited to 2GB, better to use an SQL backend
## For small servers SQLite is a good fit and is very easy
## to configure. Uncomment this when you have SQL configured:
## db_type: sql
assume_mam_usage: true
default: always
[...]
Next, you setup a coturn service for the VOIP [here](https://landchad.net/coturn/), but in this case we'll use the same coturn service that we previously setup for the [matrix server](../matrixnew/index.md)
[ Datura ] [ /dev/pts/10 ] [~]
→ cat /etc/ejabberd/ejabberd.yml
[...]
mod_stun_disco:
secret: "DAWDDWADWADAWDWAWDDWAADWADWDWADWADWAAWDDWAWAD"
services:
-
host: m.nowhere.moe
type: stun
-
host: m.nowhere.moe
type: turn
[...]
Then we restart the ejabberd service:
[ Datura ] [ /dev/pts/10 ] [~]
→ systemctl restart ejabberd
[ Datura ] [ /dev/pts/10 ] [~]
→ systemctl status ejabberd
● ejabberd.service - robust, scalable and extensible realtime platform (XMPP server + MQTT broker + SIP service)
Loaded: loaded (/lib/systemd/system/ejabberd.service; enabled; preset: enabled)
Active: active (running) since Sun 2024-06-09 21:21:41 CEST; 6s ago
Docs: https://www.process-one.net/en/ejabberd/docs/
Main PID: 3664214 (sh)
Tasks: 116 (limit: 77002)
Memory: 111.9M
CPU: 3.022s
CGroup: /system.slice/ejabberd.service
Now that the ejabberd service has restarted successfully, we can register the admin user:
[ Datura ] [ /dev/pts/10 ] [~]
→ ejabberdctl register nihilist nowhere.moe P@SSW0RD
User nihilist@contact.nowhere.moe successfully registered
## **Setup**
Now the xmpp server is active, along with your nihilist user, so let's connect to it from a XMPP client like gajim:
[ mainpc ] [ /dev/pts/8 ] [~]
→ sudo apt install gajim -y
![](1.png)
![]()
![]()
![]()
## **Setup**

View file

@ -4,7 +4,7 @@ In this tutorial, we're going to check out how to setup a XMPP chat server, that
## **XMPP Onion Server Setup** ## **XMPP Onion Server Setup**
Before starting, check out [this](../torwebsite/index.md) tutorial on how to create your first hidden service. Before starting, check out [this](../../opsec/torwebsite/index.md) tutorial on how to create your first hidden service.
root@ANON-home:~# apt install prosody prosody-modules lua-unbound -y root@ANON-home:~# apt install prosody prosody-modules lua-unbound -y