| Updated 05.06.2023 | Języki: PL, EN, FR, CZ |
Hostowanie własnego serwera SMP#
Informacje ogólne#
Serwer SMP to serwer przekaźnikowy używany do przekazywania wiadomości w sieci SimpleX. Aplikacje SimpleX Chat mają wstępnie ustawione serwery (dla aplikacji mobilnych są to smp11, smp12 i smp14.simplex.im), ale można łatwo zmienić konfigurację aplikacji, aby korzystać z innych serwerów.
Klienty SimpleX określają tylko, który serwer jest używany do odbierania wiadomości, oddzielnie dla każdego kontaktu (lub połączenia grupowego z członkiem grupy), a serwery te są tylko tymczasowe, ponieważ adres dostawy może ulec zmianie.
Uwaga: gdy zmienisz serwery w ustawieniach aplikacji, wpłynie to tylko na to, który serwer będzie używany dla nowych kontaktów, istniejące kontakty nie zostaną automatycznie przeniesione na nowe serwery, ale możesz przenieść je ręcznie za pomocą przycisku "Zmień adres odbiorczy" na stronie z informacjami kontaktu/członka - wkrótce zostanie to zautomatyzowane.
Instalacja#
-
Najpierw zainstaluj
smp-server
:-
Manualna instalacja (patrz niżej)
-
Półautomatyczna instalacja:
-
Instalacja ręczna wymaga kilku kroków wstępnych:
-
Zainstaluj binarkę:
-
Używając oficjalnych binarek:
-
Budowanie z kodu źródłowego:
-
-
Utwórz użytkownika i grupę dla
smp-server
: -
Utwórz niezbędne katalogi i przypisz uprawnienia:
-
Zezwól na port
smp-server
w firewallu: -
Opcjonalnie - Jeśli używasz dystrybucji z
systemd
, utwórz plik/etc/systemd/system/smp-server.service
z następującą zawartością:I uruchom
sudo systemctl daemon-reload
.
Instalacja Tora#
smp-server można również zainstalować jako serwer działający w sieci tor. Uruchom następujące polecenia jako użytkownik root
.
-
Zainstaluj Tor:
Zakładamy, że używasz dystrybucji opartych na Ubuntu/Debian. Jeśli nie, zapoznaj się z oficjalną dokumentacją tor lub poradnikiem dla Twojej dystrybucji.
-
Skonfiguruj oficjalne repozytorium Tor PPA:
-
Zimportuj klucz repozytorium:
-
Zaktualizuj indeks repozytorium:
-
Zainstaluj paczkę
tor
:
-
-
Skonfiguruj tor:
-
Konfiguracja pliku:
Otwórz konfigurację tora w wybranym edytorze (
nano
,vim
,emacs
, itp.):I umieść następujące linie na dole konfiguracji. Zwróć uwagę na linie zaczynające się od
#
: są to komentarze dotyczące poszczególnych opcji. -
Utwórz katalogi:
-
-
Uruchom tor:
Włącz usługę
systemd
oraz uruchom tor. Oficjalnytor
jest nieco kłopotliwy przy pierwszym uruchomieniu i może nie utworzyć adresu hosta cebuli, więc na wszelki wypadek uruchamiamy go ponownie. -
Wyświetla onionowego hosta:
Wykonaj następujące polecenie, aby wyświetlić adres onionowego hosta:
Configuration#
Aby zobaczyć, jakie opcje są dostępne, wykonaj smp-server
bez flag:
Możesz uzyskać dalszą pomoc, wykonując polecenie sudo su smp -c "smp-server <command> -h"
Następnie musimy skonfigurować smp-server
:
Interaktywnie
Wykonaj poniższe polecenie:
Istnieje kilka opcji, które należy rozważyć:
-
Enable store log to restore queues and messages on server restart (Yn):
Wpisz
y
, aby włączyć zapisywanie i przywracanie połączeń i wiadomości po ponownym uruchomieniu serwera.Uwaga: ważne jest, aby użyć SIGINT do ponownego uruchomienia serwera, ponieważ w przeciwnym razie niedostarczone wiadomości nie zostaną przywrócone. Połączenia zostaną przywrócone niezależnie od sposobu ponownego uruchomienia serwera, ponieważ w przeciwieństwie do wiadomości są one dodawane do dziennika append-only.
-
Enable logging daily statistics (yN):
Wpisz
y
, aby włączyć logowanie statystyk w formacie CSV, mogą one być przykładowo użyte do pokazania wykresów użycia wGrafana
.
Statystyki te obejmują dzienną liczbę utworzonych, zabezpieczonych i usuniętych kolejek, wysłanych i odebranych wiadomości, a także dzienną, tygodniową i miesięczną liczbę aktywnych kolejek (tj. kolejek, które były używane do wysyłania wiadomości). Uważamy, że informacje te nie zawierają niczego, co pozwoliłoby na skorelowanie różnych kolejek jako należących bezpośrednio do użytkowników, ale prosimy o poufne poinformowanie nas, jeśli uważasz, że można to w jakikolwiek sposób nadużyć.
-
Require a password to create new messaging queues?
Wpisz
r
lub dowolne hasło, aby zabezpieczyć hasłemsmp-server
, lubn
, aby wyłączyć ochronę hasłem. -
Enter server FQDN or IP address for certificate (127.0.0.1):
Wprowadź domenę lub adres IP, na którym działa Twój smp-server - zostanie on zamieszczony w certyfikatach serwera, a także wyświetlony jako część adresu serwera.
Za pomocą opcji wiersza poleceń
Wykonaj poniższe polecenie:
Powinieneś określić, które flagi są potrzebne dla Twojego zastosowania, a następnie wykonać smp-server init
z flagą -y
dla nieinteraktywnej inicjalizacji:
Przykładowo, uruchom:
aby zainicjować konfigurację smp-server
z:
- przywracaniem połączeń i wiadomości po ponownym uruchomieniu serwera (flaga
-l
), - adresem IP
192.168.1.5
, - zabezpieczeniem
smp-server
hasłemtest
.
Po tym instalacja jest ukończona i powinieneś zobaczyć coś takiego:
Powyższy adres serwera powinien być użyty w konfiguracji klienta, a jeśli dodałeś hasło serwera, powinno ono być udostępnione innym osobom tylko wtedy, gdy chcesz zezwolić im na korzystanie z Twojego serwera do odbierania wiadomości (wszystkie Twoje kontakty będą mogły wysyłać wiadomości, ponieważ nie wymaga to hasła). Jeśli podałeś adres IP lub nazwę hosta podczas instalacji, zostanie to wyświetlone jako część adresu serwera, w przeciwnym razie zastąp <hostnames>
rzeczywistymi adresami serwerów.
Dokumentacja#
Wszystkie niezbędne pliki dla smp-server
znajdują się w folderze /etc/opt/simplex/
.
Przechowywane wiadomości, połączenia, statystyki i dziennik serwera znajdują się w folderze /var/opt/simplex/
.
Adres serwera SMP
Adres serwera SMP ma następujący format:
smp://<odcisk_palca>[:<hasło>]@<publiczna_nazwa_hosta>[,<onionowa_nazwa_hosta>]
-
<odcisk_palca>
To odcisk palca certyfikatu Twojego
smp-server
. Odcisk palca certyfikatu możesz sprawdzić w/etc/opt/simplex/fingerprint
. -
opcjonalnie
<hasło>
To ustawione przez Ciebie hasło Twojego
smp-server
. Możesz sprawdzić to hasło w pliku/etc/opt/simplex/smp-server.ini
, w sekcji[AUTH]
w polucreate_password:
. -
<publiczna_nazwa_hosta>
, optional<onionowa_nazwa_hosta>
To skonfigurowane przez Ciebie nazwy hosta Twojego
smp-server
. Nazwy hostów możesz sprawdzić w pliku/etc/opt/simplex/smp-server.ini
, w sekcji[TRANSPORT]
w poluhost:
.
Komendy systemd
Aby uruchomić smp-server
przy starcie hosta, uruchom:
Aby uruchomić smp-server
, uruchom:
Aby sprawdzić status smp-server
, uruchom:
Aby zatrzymać smp-server
, uruchom:
Aby sprawdzić zawartość dziennika smp-server
, uruchom:
Monitorowanie
Możesz włączyć statystyki smp-server
dla dashboardu Grafana
ustawiając wartość on
w /etc/opt/simplex/smp-server.ini
, w sekcji [STORE_LOG]
w polu log_stats:
.
Logi będą przechowywane jako plik csv
w /var/opt/simplex/smp-server-stats.daily.log
. Pola dla pliku csv
to:
-
fromTime
- timestamp; data i godzina zdarzenia -
qCreated
- int; utworzone kolejki -
qSecured
- int; ustanowione kolejki -
qDeleted
- int; usunięte queues -
msgSent
- int; wysłane wiadomości -
msgRecv
- int; odebrane wiadomości -
dayMsgQueues
- int; aktywnych kolejek podczas dnia -
weekMsgQueues
- int; aktywnych kolejek w tygodniu -
monthMsgQueues
- int; aktywnych kolejek w miesiącu
Aby zaimportować csv
do Grafana
należy:
-
Zainstalować wtyczkę Grafana: Grafana - CSV datasource
-
Zezwolić na tryb lokalny, dołączając następujące elementy:
... do /etc/grafana/grafana.ini
- Dodaj źródło danych CSV:
- W menu bocznym kliknij zakładkę Configuration (ikona koła zębatego)
- Kliknij Add data source (Dodaj źródło danych) w prawym górnym rogu zakładki Data Sources (Źródła danych).
- Wpisz "CSV" w polu wyszukiwania, aby znaleźć źródło danych CSV.
- Kliknij wynik wyszukiwania z napisem "CSV".
- W polu URL wprowadź plik wskazujący na zawartość CSV.
- Gotowe! Teraz możesz utworzyć własny pulpit nawigacyjny ze statystykami.
Dalsza dokumentacja znajduje się na stronie: CSV Data Source for Grafana - Documentation.
Aktualizowanie twojego serwera SMP#
Aby zaktualizować smp-server do najnowszej wersji, wybierz metodę instalacji i postępuj zgodnie z instrukcjami:
-
Manualnie
- Zatrzymaj serwer:
- Zaktualizuj binarkę:
- Uruchom serwer:
-
Używając oficjalnego skryptu instalacyjnego
- Uruchom:
- Gotowe!
-
Używając kontenera Dockera
- Zatrzymaj i usuń kontener:
- Pobierz najnowszą wersję kontenera:
- Uruchom nowy kontener:
-
- Pobierz najnowsze obrazy:
- Zrestartuj kontenery:
- Usuń niepotrzebne obrazy:
Konfigurowanie aplikacji do korzystania z serwera
Aby skonfigurować aplikację do korzystania z serwera wiadomości, skopiuj jego pełny adres, w tym hasło, i dodaj go do aplikacji. Możesz używać swojego serwera razem z predefiniowanymi serwerami lub bez nich - możesz je usunąć lub wyłączyć.
Możliwe jest również udostępnienie adresu swojego serwera znajomym, pozwalając im zeskanować kod QR z ustawień serwera - będzie on zawierał hasło serwera, dzięki czemu będą mogli również otrzymywać wiadomości za pośrednictwem twojego serwera.
Uwaga: Do obsługi haseł wymagany jest serwer SMP w wersji 4.0. Jeśli już posiadasz serwer, możesz dodać hasło do niego poprzez wpisanie hasła do pliku INI serwera.