Michał Narecki - blog

DeltaChat

Dlaczego nie znajdziesz mnie na WhatsApp-ie i dlaczego nie powinieneś go używać? Z prostego powodu: od lat istnieją lepsze alternatywy, np. Signal i Delta Chat. To wszystko. Na tym mógłbym zakończyć. Jednak dla tych, którzy potrzebują nieco więcej argumentów, mam jeszcze kilka powodów, dla których warto zmienić zdanie 👇🏻

  1. Signal jest organizacją non‑profit i istnieje już od wielu lat. Dzięki temu możesz bezpiecznie założyć, że będzie dostępny jeszcze przez długie lata. Innymi słowy, to stabilna platforma, która nie zostawi cię nagle w tyle. Z kolei Delta Chat jest projektem społeczności open source. Ma więc wielu 'opiekunów', którym zależy na długowieczności projektu.
  2. W przeciwieństwie do WhatsApp, Signal jest otwarto‑źródłowy, a jego szyfrowanie jest złotym standardem w branży. Delta Chat również domyślnie szyfruje wiadomości korzystając między innymi ze standardu Autocrypt.
  3. Signal praktycznie nie zbiera metadanych. DC chroni większość metadanych (serwery 'widzą' jedynie losowe adresy użytkowników oraz rozmiar wiadomości). WhatsApp (czyli Meta), poza treścią wiadomości, wie o tobie niemal wszystko.
  4. Od niedawna Signal oferuje opcjonalne kopie zapasowe w chmurze. Nie zmusza jednak użytkowników do korzystania z tej opcji. Co ważne, kopie są w pełni szyfrowane. WhatsApp namawia użytkowników do włączania kopii zapasowych, które często nie są szyfrowane. Moim zdaniem podważa to cały sens szyfrowanej komunikacji. W przypadku DC możesz zrobić lokalną kopię czatów lub użyć drugiego urządzenia jako backupu.
  5. Wracając do punktu 1, ani Signal, ani Delta Chat nie mają motywacji do gromadzenia twoich danych, ponieważ są finansowane przez swoich użytkowników. Dzięki temu oba projekty pozostają niezależne od big techów. Sam wspieram i ciebie też zachęcam do wsparcia finansowego tych projektów.

Uważam, że powyższe argumenty same w sobie wystarczą, aby wypróbować Signal i/lub Delta Chat. Oczywiście nie są to jedyne bezpieczne komunikatory, ale należą do tych najbardziej przyjaznych dla użytkowników. Im więcej osób założy konta, tym lepiej dla nas jako społeczeństwa ✌🏻

#WhatsApp #Signal #DeltaChat

Skomentuj na fediwersum: @michal@101010.pl

Po co uruchamiać własny przekaźnik chatmail?

Przekaźniki chatmail umożliwiają bezproblemowe wdrażanie aplikacji czatowych i botów.
Użytkownicy nie muszą mieć wcześniej założonych kont — adresy chatmail są tworzone automatycznie przy pierwszym logowaniu i zabezpieczane hasłem do dalszego użycia. Chatmail jest szyfrowany end‑to‑end oraz w spoczynku.

Uruchomienie własnego przekaźnika daje ci:

  • Pełną kontrolę nad infrastrukturą tożsamości
  • Bezpieczne zakładanie kont
  • Niezależność od scentralizowanych dostawców
  • Lekki system, który skaluje się do tysięcy użytkowników przy minimalnych wymaganiach sprzętowych

Ten przewodnik prowadzi krok po kroku przez wdrożenie w pełni funkcjonalnego przekaźnika chatmail przy użyciu oficjalnych, zautomatyzowanych skryptów instalacyjnych.

Ważna uwaga o kompatybilności ⚠️

To wdrożenie wymaga Debiana 12 na serwerze.

  • Debian 13 nie jest obsługiwany
  • Inne dystrybucje Linuksa mogą działać, ale wymagają nieudokumentowanych zmian

Jeśli używasz Debiana 13 lub innego systemu operacyjnego, spodziewaj się dodatkowych kroków, które nie są opisane w tej dokumentacji.

Przegląd architektury

Potrzebujesz dwóch maszyn:

1. Serwer wdrożeniowy

To będzie twój przekaźnik chatmail.

  • Debian 12
  • 1 GB RAM
  • 1 CPU
  • ~10 GB miejsca na dysku
  • Publiczny IPv4 (IPv6 zdecydowanie zalecany)
  • Otwarte porty: 22, 25, 80, 443, 143, 465, 587, 993, 3478

2. Komputer lokalny

Służy do wdrażania i zarządzania przekaźnikiem.

  • Linux lub system typu Unix
  • W tym przewodniku używam Ubuntu 24.04

Proces wdrożenia uruchamiany jest z Twojego komputera lokalnego, a nie bezpośrednio na serwerze.

Wymagania na komputerze lokalnym

Zainstaluj niezbędne pakiety:

sudo apt install python3-dev
sudo apt install python3.12-venv
sudo apt install gcc

Pakiety te są potrzebne do utworzenia środowiska wirtualnego Pythona używanego przez skrypty wdrożeniowe.

Przygotowanie serwera (Debian 12)

Jeśli uruchamiasz środowisko w maszynie wirtualnej (VM), rozważ instalację agenta qemu‑guest‑agent:

apt install qemu-guest-agent

Włączenie logowania roota przez SSH

Edytuj konfigurację SSH:

nano /etc/ssh/sshd_config

Znajdź i ustaw:

PermitRootLogin yes

Zrestartuj usługę SSH:

systemctl restart ssh

Konfiguracja DNS (przed wdrożeniem)

W tym przewodniku używamy następującej nazwy domenowej:

chat.example.org

Zastąp ją własną domeną, a następnie utwórz poniższe rekordy DNS (TTL: 3600s). Pamiętaj o wpisaniu poprawnych adresów IP.

chat.example.org.          3600 IN A     198.51.100.5
chat.example.org.          3600 IN AAAA  2001:db8::5
www.chat.example.org.      3600 IN CNAME chat.example.org.
mta-sts.chat.example.org.  3600 IN CNAME chat.example.org.

Rekordy te muszą istnieć przed uruchomieniem procesu wdrożeniowego.

Klonowanie repozytorium chatmail

Na komputerze lokalnym wykonaj:

git clone https://github.com/chatmail/relay.git
cd relay
scripts/initenv.sh

To przygotuje środowisko wirtualne Pythona.

Podstawowa konfiguracja chatmail

Utwórz plik konfiguracyjny chatmail:

scripts/cmdeploy init chat.example.org

Polecenie wygeneruje plik chatmail.ini dopasowany do Twojej domeny.

Konfiguracja klucza SSH (obowiązkowa)

Proces wdrożeniowy nie może pytać o hasła, więc wymagana jest autoryzacja kluczem SSH.

1. Wygeneruj dedykowany klucz

ssh-keygen -t ed25519 -C "chatmail-deploy" -f ~/.ssh/id_ed25519_chatmail

2. Uruchom agenta SSH i załaduj klucz

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519_chatmail

3. Skopiuj klucz na serwer

ssh-copy-id -i ~/.ssh/id_ed25519_chatmail root@chat.example.org

4. Zweryfikuj dostęp

ssh root@chat.example.org

Powinieneś połączyć się bez podawania hasła.

Uruchomienie wdrożenia

Z komputera lokalnego wykonaj:

scripts/cmdeploy run

Skrypt zainstaluje i skonfiguruje:

  • Usługi pocztowe
  • Certyfikaty TLS
  • Logikę chatmail
  • Wymagane zależności

Poczekaj, aż skrypt zakończy działanie.

Dokończenie konfiguracji DNS

Po wdrożeniu sprawdź, których rekordów DNS nadal brakuje:

scripts/cmdeploy dns

Dodaj brakujące rekordy u swojego dostawcy DNS. Gdy DNS się rozpropaguje, zweryfikuj stan systemu:

scripts/cmdeploy status

Testowanie i benchmarki

Uruchom test funkcjonalny:

scripts/cmdeploy test

Następnie zmierz wydajność:

scripts/cmdeploy bench

Testy potwierdzają, że uwierzytelnianie, przepływ poczty i wydajność systemu działają prawidłowo.

Gotowe!

Twój przekaźnik chatmail jest już uruchomiony i gotowy do użycia.

Możesz teraz:

  • Udostępnić swoją domenę chatmail
  • Natychmiastowo rejestrować użytkowników
  • Wspierać aplikacje czatowe i boty bez wstępnie tworzonych kont
  • Prowadzić usługę komunikacyjną szanującą prywatność

Oficjalną dokumentację (po angielsku) znajdziesz pod tym linkiem:
https://chatmail.at/doc/relay/getting_started.html

Jeśli tworzysz systemy komunikacji, które stawiają na pierwszym miejscu prywatność, uruchomienie własnego przekaźnika chatmail stanowi solidny fundament.


Opracowanie na podstawie: https://felipebaez.com/how-to-deploy-a-chatmail-server/

#tutorial #chatmail #DeltaChat

Skomentuj na fediwersum: @michal@101010.pl