SSD Nodes Learn 🎉 VPS dari $5.50/bln
Panduan Matt ConnorOleh Matt Connor

Cara Hos Sendiri Pelayan SimpleX Chat di VPS

Ketahui langkah memasang SimpleX SMP relay dan XFTP pada VPS anda. Panduan ini merangkumi konfigurasi port, penggunaan user tanpa privilege, sandaran, serta model ancaman.

Fungsi pelayan sembang SimpleX yang dihoskan sendiri

Untuk menghoskan sendiri pelayan sembang SimpleX, anda perlu menjalankan satu daemon pada VPS: smp-server, iaitu geganti untuk SMP (simplex messaging protocol). Ia menyimpan baris gilir mesej yang ditulis dan dibaca oleh kenalan anda. Daemon kedua yang bersifat pilihan, dipanggil xftp-server, berfungsi untuk menyalurkan pemindahan fail. Kedua-duanya datang daripada projek yang sama, simplexmq, dan setiap satunya terdiri daripada satu binari tunggal, satu fail konfigurasi, dan satu log jenis append-only.

Panduan ini ditulis untuk pengendali sistem, bukan pengguna aplikasi. Geganti tersebut tidak menyimpan akaun, senarai kenalan, mahupun sejarah sembang. Ia hanya menyimpan baris gilir, beberapa teks sifer yang belum dihantar, dan sijil yang mengenal pasti pelayan tersebut. Tanggungjawab yang anda pikul ialah masa operasi (uptime), sedikit ruang cakera, dan metadata yang melalui pelayan anda.

Setiap arahan, laluan, port dan flag di bawah diambil daripada dokumentasi rasmi projek: halaman pengehosan pelayan SMP, halaman pelayan XFTP, dan dokumen keselamatan protokol. Jika sesuatu nombor itu penting, halaman sumbernya dinyatakan bersebelahan dengan nombor tersebut.

Mengapa rangkaian tanpa pengecam pengguna masih memerlukan relay

SimpleX tidak mempunyai nama pengguna, nombor telefon, atau ID akaun. Kenalan ialah baris gilir satu hala: alamat pada relay tertentu yang ditulis oleh satu pihak dan dibaca oleh pihak yang satu lagi. Dua kenalan anda tidak berkongsi sebarang pengecam yang boleh digabungkan oleh pelayan.

Baris gilir tersebut masih perlu ditempatkan di suatu tempat, atas sebab yang jelas. Dua telefon jarang berada dalam talian pada saat yang sama. Sesuatu perlu menerima mesej sekarang dan menyimpannya sehingga peranti yang satu lagi memintanya. Itulah tugas keseluruhan relay SMP. Ini juga bermakna kedua-dua peranti tidak pernah berhubung antara satu sama lain, jadi tiada satu pun yang mengetahui alamat IP (internet protocol) pihak yang satu lagi. Relay tersebut menanggung pendedahan itu sebaliknya.

Nama hos relay adalah sebahagian daripada alamat baris gilir, jadi ia berada di dalam setiap pautan jemputan yang anda berikan daripadanya. Ingat perkara ini apabila anda membaca model ancaman di bahagian akhir.

Apa yang boleh dan tidak boleh dilihat oleh relay

Projek ini menyatakan perkara ini sebagai model ancaman dalam protocol/security.md, dan ia wajar dibaca sebelum anda memasang apa-apa, kerana selepas panduan ini, relay tersebut adalah milik anda. Sebuah relay, termasuk yang dikawal sepenuhnya oleh penyerang, tidak boleh mengetahui kandungan atau jenis mesej, tidak boleh menambah, menduplikasi atau merosakkan mesej individu tanpa dikesan, dan tidak boleh memecahkan penyulitan hujung-ke-hujung (end-to-end encryption) melalui serangan aktif.

Halaman yang sama menyenaraikan perkara yang boleh dilakukan oleh relay. Ia boleh mengetahui bila penerima baris gilir (queue) berada dalam talian. Ia boleh mengira berapa banyak mesej yang melalui sesuatu baris gilir. Ia boleh mengetahui alamat IP penerima. Ia boleh menggugurkan setiap mesej masa depan dalam baris gilir, atau berbohong tentang status baris gilir tersebut.

Oleh itu, pembahagiannya adalah jelas. Kerahsiaan adalah tanggungjawab klien dan pengehosan kendiri (self-hosting) tidak menjejaskannya. Metadata dan ketersediaan adalah tanggungjawab pengendali relay, dan pengehosan kendiri menyerahkan kedua-duanya kepada anda.

Keperluan sebelum bermula

  • Sebuah VPS yang menjalankan Ubuntu 22.04 atau 24.04. Projek ini menerbitkan release binaries yang dibina khusus untuk kedua-dua versi tersebut, dalam seni bina x86-64 dan aarch64.
  • Nama domain dengan rekod A yang menghala ke VPS, serta rekod AAAA jika anda mempunyai IPv6. Dokumentasi ini menggunakan smp1.example.com sebagai contoh.
  • Akses root atau sudo, dan sesi SSH kedua yang dibuka semasa anda mengubah suai firewall.
  • Lokasi di luar pelayan untuk menyimpan sandaran, kerana direktori konfigurasi merupakan identiti pelayan tersebut.

Pada instans ARM, gunakan aset aarch64 dan bukannya x86-64. Tiada perkara lain dalam panduan ini yang berubah, dan pilihan antara pelan VPS ARM dan x86 adalah mengenai harga serta kelajuan per-teras, bukan mengenai sama ada perisian ini boleh dijalankan atau tidak.

Pasang keluaran yang ditetapkan (pinned), bukan "latest"

Projek ini membekalkan skrip pemasangan yang menarik keluaran semasa dan mendaftarkan arahan simplex-servers-update. Ia berfungsi. Walau bagaimanapun, tetapkan versi tersebut: relay yang binari-nya berubah tanpa pengetahuan anda adalah relay yang tidak boleh dianalisis apabila berlaku kerosakan.

Setakat Ogos 2026, keluaran simplexmq semasa ialah v6.5.0, yang diterbitkan pada 29 April 2026. Semak halaman keluaran untuk tag yang anda mahukan, kemudian gunakan tag tersebut di mana-mana bahagian di bawah.

sudo useradd -m smp
sudo install -d -o smp -g smp -m 755 /etc/opt/simplex /var/opt/simplex

useradd -m smp tidak menetapkan kata laluan, jadi tiada sesiapa yang boleh log masuk sebagai smp secara terus. Cipta dua direktori tersebut sendiri sebelum menjalankan apa-apa perkara lain, kerana /etc/opt dimiliki oleh root dan berada dalam mod 755, yang menyebabkan pengguna smp tidak mempunyai ruang untuk menulis direktori konfigurasinya sendiri.

VER=v6.5.0
curl -fL "https://github.com/simplex-chat/simplexmq/releases/download/$VER/smp-server-ubuntu-24_04-x86-64" -o /tmp/smp-server
sha256sum /tmp/smp-server

Bandingkan hash tersebut dengan checksum SHA2-256 yang diterbitkan dalam nota keluaran untuk tag yang sama. Projek ini juga menandatangani checksum keluaran dengan kunci SimpleX Chat FB44AF81A45BDE327319797C85107E357D4A17FC, yang didokumenkan pada halaman pelayan, supaya anda boleh mengesahkan tandatangan tersebut dan tidak sekadar mempercayai halaman tempat anda membaca hash itu.

sudo install -m 755 -o root -g root /tmp/smp-server /usr/local/bin/smp-server

Pasang ia dengan pemilikan root secara sengaja. Servis ini berjalan sebagai smp, jadi jika servis tersebut diceroboh, ia tidak boleh menulis semula binari yang digunakannya untuk bermula.

Mulakan pelayan, dan dua rahsia yang dipaparkannya

sudo su smp -c "smp-server init --yes --store-log --daily-stats --no-password --fqdn=smp1.example.com"
  • --store-log (-l) menulis log baris gilir yang hanya boleh ditambah ke /var/opt/simplex/smp-server-store.log, supaya geganti (relay) dapat bertahan selepas dimulakan semula. Tanpanya, proses mula semula akan membuang setiap baris gilir, yang bermaksud setiap kenalan yang dihalakan melalui anda akan berhenti berfungsi.
  • --daily-stats (-s) menulis pembilang dalam bentuk CSV ke /var/opt/simplex/smp-server-stats.daily.log.
  • --fqdn memasukkan domain anda ke dalam sijil yang dijana. Gunakan --ip sebaliknya jika anda tidak mempunyai domain.
  • --no-password membenarkan sesiapa sahaja mencipta baris gilir pada geganti anda. Untuk menjadikannya peribadi, tetapkan create_password di bawah [AUTH] dalam /etc/opt/simplex/smp-server.ini selepas proses init, bukannya menghantar --password di sini, kerana baris perintah boleh dilihat dalam sejarah shell anda dan dalam senarai proses semasa ia berjalan.

Init menjana sijil dan mencetak dua nilai yang mesti anda simpan. Nilai pertama ialah cap jari (fingerprint), rentetan base64 yang juga ditulis ke /etc/opt/simplex/fingerprint. Nilai kedua ialah alamat pelayan penuh, iaitu cap jari ditambah dengan nama hos anda. Salin kedua-duanya sekarang.

Init juga mencipta /etc/opt/simplex/ca.key, dan dokumentasi mengarahkan anda untuk memindahkan fail tersebut ke storan luar talian. Sebabnya perlu dinyatakan: pelanggan menyematkan (pin) cap jari pihak berkuasa sijil tersebut, jadi sesiapa yang memegang ca.key boleh mengeluarkan sijil pelayan baharu yang diterima oleh pelanggan anda sebagai milik anda. Anda hanya memerlukannya semula untuk menukar sijil pelayan kemudian dengan smp-server cert.

Anggap init sebagai langkah sekali sahaja. Cap jari dalam alamat anda datang daripada pihak berkuasa yang dijana olehnya, jadi menjana semula pihak berkuasa itu akan memberikan anda alamat yang berbeza dan menyebabkan alamat yang telah anda berikan sebelum ini menjadi tidak sah.

Jalankan ia di bawah systemd sebagai pengguna tanpa keistimewaan

Tulis /etc/systemd/system/smp-server.service, tepat seperti yang diberikan dalam dokumentasi:

[Unit]
Description=SMP server systemd service

[Service]
User=smp
Group=smp
Type=simple
ExecStart=/usr/local/bin/smp-server start +RTS -N -RTS
ExecStopPost=/usr/bin/env sh -c '[ -e "/var/opt/simplex/smp-server-store.log" ] && cp "/var/opt/simplex/smp-server-store.log" "/var/opt/simplex/smp-server-store.log.bak"'
LimitNOFILE=65535
KillSignal=SIGINT
TimeoutStopSec=infinity

[Install]
WantedBy=multi-user.target

Unit hulu juga membawa AmbientCapabilities=CAP_NET_BIND_SERVICE. Baris itu wujud kerana proses tersebut berjalan sebagai smp, dan port di bawah 1024 ditutup kepada proses bukan root, jadi tanpanya daemon tidak boleh melakukan bind pada 80 atau 443. Tambahkannya jika anda menyediakan port tersebut. LimitNOFILE=65535 penting kerana setiap klien yang melanggan memegang sambungan TCP yang terbuka, dan had lalai adalah jauh di bawah apa yang diperlukan oleh relay yang sibuk. ExecStopPost menyalin log stor ke fail .bak pada setiap kali berhenti, yang memberikan anda satu titik rollback percuma.

sudo systemctl daemon-reload
sudo systemctl enable --now smp-server
sudo systemctl status smp-server
sudo journalctl -fu smp-server

Permulaan yang sihat akan mencatat alamat pelayan ke dalam log. Kemudian, sahkan bahawa soket benar-benar terbuka:

sudo ss -tlnp | grep -E ':(443|5223)'

Kedua-dua baris harus menamakan smp-server. Menjalankan daemon di bawah akaunnya sendiri tanpa hak sudo adalah tabiat yang sama seperti yang diterangkan dalam akaun per-servis pada VPS, dan inilah yang menghalang pepijat dalam satu daemon rangkaian daripada menjadi shell root.

Port yang perlu dibuka, dan satu yang perlu ditutup

Dokumentasi menyenaraikan tiga port: 5223/tcp, 443/tcp dan 80/tcp. Port 5223 ialah pengangkutan SMP. Konfigurasi yang dibekalkan menetapkan port: 5223,443 di bawah [TRANSPORT], jadi protokol yang sama juga menjawab pada 443. Ini penting kerana banyak rangkaian yang ketat hanya membenarkan trafik keluar pada port 443 sahaja. Port 80 hanya diperlukan untuk halaman maklumat pilihan dan pengalihan semula ke HTTPS.

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 5223/tcp
sudo ufw enable

Jangan buka 5224. Itu ialah port kawalan, dan dokumentasi mengaksesnya dari pelayan itu sendiri menggunakan nc 127.0.0.1 5224. Ia memaparkan status pelayan dan memadamkan baris gilir, jadi ia perlu berada pada loopback dengan kata laluan pentadbir dan pengguna ditetapkan di bawah [AUTH]. Jika anda baharu menggunakan alat ini, asas ufw pada VPS merangkumi susunan peraturan dan cara untuk mengelakkan diri anda terkunci daripada sistem.

Satu lagi kawalan sering memerangkap pengguna. Kebanyakan penyedia menjalankan firewall rangkaian dalam panel kawalan, berasingan daripada ufw pada pelayan. Port mungkin dibuka dalam ufw tetapi masih digugurkan sebelum ia sampai kepada anda.

Alamat pelayan yang diperlukan oleh klien anda

smp://<fingerprint>[:<password>]@<public_hostname>[,<onion_hostname>]

Rentetan tersebut merupakan keseluruhan konfigurasi di bahagian klien. Tampalkannya ke dalam tetapan pelayan aplikasi, atau benarkan seseorang mengimbas kod QR yang dipaparkan oleh aplikasi untuk tujuan tersebut. Dokumentasi menyatakan bahawa kod QR tersebut mengandungi kata laluan, jadi sesiapa yang mengimbasnya juga boleh menerima mesej melalui pelayan anda.

Satu perilaku yang didokumentasikan sering mengejutkan semua orang. Menambah pelayan anda dalam aplikasi hanya memberi kesan kepada kenalan yang anda buat bermula dari saat itu. Kenalan sedia ada kekal pada relay tempat baris gilir mereka dicipta, dan mereka tidak berhijrah. Itulah sebabnya anda tidak boleh mematikan relay sehari selepas anda menggantikannya.

Menambah relay fail XFTP

XFTP (SimpleX file transfer protocol) merupakan bahagian fail bagi rangkaian ini, dan ia merupakan daemon berasingan dengan alamatnya sendiri. Berdasarkan pengumuman XFTP projek tersebut, relay tidak mempunyai sebarang metadata fail: ia hanya melihat ketulan (chunk) individu, setiap satunya bersaiz 256kb, 1mb atau 4mb, dengan akses yang dibenarkan melalui kelayakan tanpa nama (anonymous). Penghantar boleh menyebarkan ketulan bagi satu fail merentasi beberapa relay, jadi pelayan anda hanya menyimpan cebisan, bukan fail lengkap.

sudo useradd -m xftp
sudo install -d -o xftp -g xftp -m 755 /etc/opt/simplex-xftp /var/opt/simplex-xftp /srv/xftp
curl -fL "https://github.com/simplex-chat/simplexmq/releases/download/$VER/xftp-server-ubuntu-24_04-x86-64" -o /tmp/xftp-server
sudo install -m 755 -o root -g root /tmp/xftp-server /usr/local/bin/xftp-server
sudo su xftp -c "xftp-server init -l --fqdn=xftp1.example.com -q '20gb' -p /srv/xftp/"

Konfigurasinya terletak di /etc/opt/simplex-xftp/, statusnya di /var/opt/simplex-xftp/, dan ketulan fail disimpan di mana-mana lokasi yang dinamakan dalam -p. Unit systemd mempunyai bentuk yang sama dengan User=xftp dan ExecStart=/usr/local/bin/xftp-server start +RTS -N -RTS. Init akan mencetak alamat xftp:// dalam format yang sama seperti alamat SMP, dengan cap jari (fingerprint) tersendiri dalam /etc/opt/simplex-xftp/fingerprint.

Terdapat pertembungan yang perlu dirancang. Port yang didokumentasikan bagi pelayan XFTP ialah 443, dan konfigurasi SMP juga menyenaraikan 443. Dua proses tidak boleh mendengar (bind) pada port yang sama di alamat yang sama, jadi pada satu VPS, salah satu perlu mengalah. Penyelesaian paling mudah adalah dengan menetapkan port: 5223 dalam bahagian [TRANSPORT] SMP dan membiarkan port 443 untuk relay fail, dengan pengorbanan kehilangan fungsi fallback 443 bagi klien dalam rangkaian yang terhad. Alternatif lain adalah dengan menggunakan alamat IP kedua pada VPS yang sama, atau menggunakan VPS kedua.

Tentukan kuota dengan jujur. -q '20gb' merupakan janji mengenai ruang cakera yang anda miliki. Relay fail adalah komponen yang menggunakan banyak ruang cakera dan lebar jalur (bandwidth). Relay mesej hampir tidak menggunakan kedua-duanya.

Apa yang tersimpan pada cakera, dan apa yang dipulihkan oleh sandaran

Dua direktori adalah penting. /etc/opt/simplex/ ialah identiti: smp-server.ini, sijil dan kunci pelayan, ca.key, serta fingerprint. /var/opt/simplex/ ialah keadaan: smp-server-store.log menyimpan baris gilir dan, apabila restore_messages: on, mesej yang belum dihantar, di samping fail statistik harian.

sudo systemctl stop smp-server
sudo tar czf /root/simplex-backup.tgz -C / etc/opt/simplex var/opt/simplex
sudo chmod 600 /root/simplex-backup.tgz
sudo systemctl start smp-server

Fahami dengan jelas apakah arkib tersebut. Ia bukan arkib mesej: item dalam baris gilir adalah teks sifer untuk kunci yang tidak pernah dipegang oleh relay, dan konfigurasi [STORE_LOG] yang dihantar juga akan memadamkan mesej selepas 21 hari. Ia adalah salinan identiti pelayan, termasuk ca.key, jadi sesiapa yang mengambil fail tersebut boleh menyamar sebagai relay anda kepada kenalan anda. Sulitkan fail tersebut dan simpan di luar pelayan.

Manfaatnya adalah pemulihan. Letakkan /etc/opt/simplex semula pada VPS baharu, halakan nama DNS yang sama kepadanya, dan cap jari (fingerprint) kekal tidak berubah, jadi setiap alamat yang anda berikan masih berfungsi. Jika direktori itu hilang, tiada pemulihan yang boleh dilakukan: pemasangan baharu bermakna cap jari baharu, yang bermakna alamat baharu, yang bermakna setiap kenalan yang dihalakan melalui relay anda akan hilang.

TLS: dua sijil dengan fungsi berbeza

Pengangkutan SMP tidak menggunakan pihak berkuasa sijil (CA) awam. Init menjana pihak berkuasa persendirian dan sijil pelayan, dan cap jari pihak berkuasa tersebut terkandung di dalam alamat pelayan. Pelanggan menyemak apa yang dibentangkan oleh pelayan terhadap cap jari yang dipinkan itu, yang mana projek tersebut menyifatkannya sebagai perlindungan sambungan pelanggan ke pelayan daripada serangan machine-in-the-middle. Tiada pelanggan ACME (automatic certificate management environment) untuk dijalankan pada port tersebut, dan penggiliran sijil adalah proses manual yang dijalankan dengan smp-server cert dengan SMP_SERVER_CFG_PATH ditetapkan.

Halaman maklumat pilihan adalah sijil yang satu lagi. Bahagian [WEB] miliknya menamakan static_path, https: 443, cert: /etc/opt/simplex/web.crt dan key: /etc/opt/simplex/web.key. Pelayar web tidak mengenali pihak berkuasa persendirian anda, jadi ini adalah satu-satunya tempat yang sesuai untuk sijil yang dipercayai secara awam. Panduan permulaan pantas Docker dalam dokumentasi meletakkan Caddy di hadapan pelayan untuk tujuan tersebut, dan mengeluarkan sijil secara automatik.

Mencapai relay melalui Tor

Dokumentasi ini menyertakan bahagian Tor yang memasang Tor daripada repositori Tor Project dan menambah perkhidmatan tersembunyi dalam /etc/tor/torrc:

SOCKSPort 0
HiddenServiceNonAnonymousMode 1
HiddenServiceSingleHopMode 1
HiddenServiceDir /var/lib/tor/simplex-smp/
HiddenServicePort 5223 localhost:5223
HiddenServicePort 443 localhost:443

Baca dua baris mod tersebut dengan teliti. Single hop dan non-anonymous bermaksud lokasi relay itu sendiri tidak disembunyikan. Alamat onion adalah pantas dan ia memberikan pelanggan cara masuk yang tidak mendedahkan alamat IP mereka kepada anda, namun pelayan itu sendiri kekal boleh dikesan pada alamat IP awamnya. Nama hos onion daripada /var/lib/tor/simplex-smp/hostname diletakkan pada hujung alamat pelayan selepas koma. Jika anda mahu lokasi pelayan turut disembunyikan, itu adalah konfigurasi yang berbeza, dan menjalankan perkhidmatan onion sebenar pada VPS merangkumi pertukaran tersebut. Perbezaan tentang perkara yang disembunyikan oleh setiap alat adalah subjek bagi Tor berbanding dengan VPN, dan ia terpakai secara langsung di sini.

Model ancaman: apa yang berubah dengan self-hosting

Apa yang anda peroleh. Metadata (baris gilir yang wujud, bila ia dibaca, alamat mana yang bersambung) disimpan pada mesin yang anda kawal, dan anda menetapkan tempoh penyimpanannya. Anda juga tidak lagi menjadi sebahagian daripada kumpulan besar yang boleh diminta datanya secara sekali gus.

Apa yang anda tidak peroleh, dinyatakan dengan jelas:

  • Penyulitan tidak berubah. Mesej telah disulitkan secara hujung-ke-hujung (end-to-end) sebelum anda membina sistem ini dan ia kekal disulitkan selepas itu. Self-hosting ialah keputusan berkaitan metadata, bukan keputusan berkaitan kriptografi.
  • Pembekal VPS anda melihat trafik ke alamat IP anda dan menyimpan butiran bil anda. Anda memindahkan kepercayaan daripada pengendali pemesejan kepada pengendali pengehosan. Anda tidak menghapuskan kepercayaan tersebut.
  • Relay anda adalah kumpulan kecil. Jika ia melayani satu isi rumah, maka sambungan kepadanya akan mengenal pasti isi rumah tersebut, dan nama hosnya terkandung dalam setiap pautan jemputan yang anda hantar daripadanya. Relay awam yang sibuk lebih baik dalam menyembunyikan identiti anda dari aspek tersebut, dan inilah pertukaran sebenar yang berlaku.
  • Ketersediaan kini menjadi tanggungjawab anda. Cakera penuh atau pelayan yang mati bermakna mesej berhenti dihantar, dan kenalan anda tidak mempunyai cara untuk mencari laluan alternatif melalui anda.

Penalaran yang sama terpakai kepada mana-mana servis peribadi yang anda letakkan pada mesin milik anda, sama ada relay ini atau VPN WireGuard pada VPS anda sendiri. Anda sedang memilih pihak mana yang melihat metadata tersebut. Anda tidak menjadikannya hilang.

Apabila ia tidak berfungsi

Servis bermula dan terus berhenti. Baca sudo journalctl -u smp-server -n 50. Kegagalan bind akan menamakan port yang tidak dapat diambilnya. Kemudian jalankan sudo ss -tlnp | grep :443 untuk melihat proses mana yang sudah memegang port tersebut, yang biasanya merupakan nginx, Caddy, atau pelayan XFTP yang anda pasang sejam yang lalu pada mesin baharu.

Init tidak dapat menulis konfigurasinya. Menjalankan smp-server init sebagai pengguna smp sebelum /etc/opt/simplex wujud akan memberikan ralat kebenaran, kerana /etc/opt dimiliki oleh root. Cipta direktori tersebut dengan pemilik yang betul terlebih dahulu, kemudian jalankan semula init.

Klien tidak dapat mencapai relay. Semak sama ada nama tersebut diselesaikan kepada alamat yang betul dengan dig +short smp1.example.com. Kemudian uji port tersebut dari komputer riba anda, bukan dari pelayan: nc -vz smp1.example.com 5223. Sambungan yang gagal dari luar sedangkan ss menunjukkan soket terbuka pada mesin tersebut menandakan firewall rangkaian penyedia, yang merupakan kawalan berasingan daripada ufw.

Kenalan tidak dapat menyambung melalui relay anda. Fingerprint dalam alamat yang anda kongsi mestilah sepadan dengan kandungan semasa /etc/opt/simplex/fingerprint. Jika anda menetapkan create_password di bawah [AUTH], alamat tersebut mestilah membawa kata laluan itu juga, atau klien tidak dibenarkan untuk mencipta baris gilir (queue).

Tiada apa-apa yang bergerak selepas anda menambah pelayan dalam aplikasi. Itu adalah perkara biasa. Hanya kenalan baharu yang menggunakan relay yang baru ditambah. Kenalan sedia ada akan mengekalkan baris gilir yang mereka miliki.

FAQ

Adakah self-hosting pelayan SimpleX menjadikan mesej saya lebih selamat?

Tidak, dan itu memang reka bentuknya. SimpleX menyulitkan mesej dari hujung ke hujung (end-to-end) antara peranti, jadi relay tidak pernah memegang kunci penyulitan, tidak kira siapa yang mengendalikannya. Self-hosting mengubah pihak yang memerhati metadata di sekeliling mesej tersebut: baris gilir (queue) yang wujud, masa ia dibaca, dan alamat IP yang bersambung. Ini adalah keputusan berkaitan metadata. Jika alasan anda melakukan self-hosting adalah untuk penyulitan yang lebih kuat, penyulitan tersebut sebenarnya sudah sedia ada.

Apakah yang sebenarnya boleh dilihat oleh pengendali relay SimpleX?

protocol/security.md projek ini menjelaskan perkara tersebut. Relay tidak boleh membaca kandungan atau jenis mesej, tidak boleh mengubah mesej individu tanpa dikesan, dan tidak boleh memecahkan penyulitan hujung-ke-hujung melalui serangan aktif. Ia boleh melihat bila penerima baris gilir berada dalam talian, mengira mesej yang melalui baris gilir, mengetahui alamat IP penerima, menggugurkan mesej masa depan dalam baris gilir, atau menipu tentang status baris gilir tersebut. Itulah kuasa yang anda miliki sebaik sahaja relay tersebut menjadi milik anda.

Adakah saya memerlukan nama domain dan sijil TLS?

Anda memerlukan domain untuk persediaan yang boleh digunakan, dan smp-server init menerima --ip jika anda benar-benar tidak memilikinya. Anda tidak memerlukan sijil daripada pihak berkuasa awam untuk port pemesejan: init menjana pihak berkuasa (authority) sendiri, dan klien melakukan pinning pada cap jari (fingerprint) yang muncul dalam alamat smp:// anda. Sijil yang dipercayai secara awam hanya diperlukan untuk halaman maklumat web pilihan, yang dikonfigurasikan sebagai cert dan key dalam bahagian [WEB] bagi smp-server.ini.

Apa yang berlaku jika saya kehilangan /etc/opt/simplex?

Setiap alamat yang anda berikan akan berhenti berfungsi. Direktori tersebut menyimpan pihak berkuasa sijil yang cap jarinya terbenam dalam alamat pelayan anda, jadi pembinaan semula akan menghasilkan cap jari yang berbeza dan seterusnya pelayan yang berbeza. Kenalan yang baris gilirnya berada pada relay tersebut tidak boleh dibaiki dari sisi klien. Sandarkan direktori tersebut secara tersulit dan simpan di luar pelayan, serta simpan ca.key di luar talian seperti yang diarahkan dalam dokumentasi, kerana sesiapa yang memegangnya boleh menyamar sebagai relay anda.

Bolehkah saya menjalankan relay SMP dan relay fail XFTP pada VPS yang sama?

Ya, dengan satu konflik yang perlu diselesaikan. Port yang didokumentasikan untuk pelayan XFTP ialah 443 dan konfigurasi lalai SMP menyenaraikan port: 5223,443, jadi kedua-duanya mahukan soket yang sama. Berikan port 443 kepada salah satu daripadanya: tetapkan port: 5223 untuk pelayan SMP, atau pindahkan relay fail ke alamat IP kedua atau VPS kedua. Selain itu, sesuaikan kuota storan dengan cakera yang anda benar-benar miliki, kerana relay fail adalah komponen yang menggunakan cakera dan lebar jalur.

#simplex#privacy#messaging#self-hosting#vps