Tự host SimpleX SMP relay trên VPS: hướng dẫn đầy đủ
Chạy SimpleX SMP relay trên VPS với bản cài cố định, fingerprint cho client, port, service user không đặc quyền, backup, TLS và threat model.
Máy chủ SimpleX tự host làm gì
Để tự host một máy chủ SimpleX, bạn chạy một daemon trên VPS: smp-server, relay cho SMP (simplex messaging protocol). Daemon này lưu các hàng đợi tin nhắn mà các contact gửi vào và đọc từ đó. Một daemon thứ hai, không bắt buộc, có tên xftp-server dùng để relay việc truyền file. Cả hai đều thuộc cùng một project, simplexmq, và mỗi daemon gồm một binary duy nhất, một file cấu hình và một log chỉ ghi nối tiếp.
Nội dung này dành cho operator, không dành cho người dùng app. Relay không lưu account, danh sách contact hay lịch sử chat. Nó lưu các hàng đợi, một phần ciphertext chưa chuyển và một certificate dùng để định danh relay. Những gì bạn phải đảm bảo là uptime, một ít dung lượng disk và metadata đi qua máy chủ của bạn.
Mọi command, path, port và flag bên dưới đều lấy từ tài liệu của project: trang hosting máy chủ SMP, trang máy chủ XFTP và tài liệu bảo mật protocol. Khi một con số quan trọng, tài liệu chứa con số đó được nêu ngay bên cạnh.
Vì sao mạng không có mã định danh người dùng vẫn cần relay
SimpleX không có username, số điện thoại hoặc account ID. Một contact là một queue một chiều: một địa chỉ trên một relay, nơi một phía ghi dữ liệu và phía còn lại đọc dữ liệu. Hai contact của bạn không chia sẻ mã định danh nào để server có thể liên kết chúng với nhau.
Các queue đó vẫn phải được lưu ở đâu đó, vì một lý do đơn giản. Hai điện thoại hiếm khi online cùng một thời điểm. Cần có thành phần nhận message ngay lúc này và giữ lại cho đến khi thiết bị kia yêu cầu. Đó là toàn bộ nhiệm vụ của SMP relay. Điều này cũng có nghĩa là hai thiết bị không bao giờ kết nối trực tiếp với nhau, nên không thiết bị nào biết địa chỉ IP (internet protocol) của thiết bị còn lại. Relay thay mặt hai thiết bị xử lý phần lộ thông tin đó.
Hostname của relay là một phần của địa chỉ queue, nên nó xuất hiện trong mọi invitation link bạn tạo từ relay đó. Hãy ghi nhớ điều này khi đọc phần threat model ở gần cuối.
Relay có thể và không thể thấy gì
Dự án mô tả đây là mô hình mối đe dọa trong protocol/security.md. Bạn nên đọc phần này trước khi cài đặt, vì sau khi làm theo hướng dẫn, relay đó sẽ thuộc quyền quản lý của bạn. Relay, kể cả relay do kẻ tấn công kiểm soát hoàn toàn, không thể biết nội dung hoặc loại message, không thể âm thầm thêm, nhân bản hoặc làm hỏng từng message, và không thể phá mã hóa đầu cuối bằng tấn công chủ động.
Trang này cũng liệt kê những việc relay có thể làm. Relay có thể biết khi nào một recipient trong queue đang online. Relay có thể đếm số message đi qua một queue. Relay có thể biết địa chỉ IP của recipient. Relay có thể loại bỏ mọi message mới trong một queue, hoặc giả mạo trạng thái của queue.
Ranh giới vì thế rất rõ ràng. Client chịu trách nhiệm bảo mật nội dung, và self-hosting không ảnh hưởng đến phần này. Operator của relay chịu trách nhiệm về metadata và tính sẵn sàng; self-hosting giao cả hai phần đó cho bạn.
Những thứ cần chuẩn bị trước khi bắt đầu
- Một VPS chạy Ubuntu 22.04 hoặc 24.04. Dự án phát hành các binary đã build riêng cho đúng hai phiên bản này, trên x86-64 và aarch64.
- Một domain có bản ghi A trỏ đến VPS, cùng bản ghi AAAA nếu bạn dùng IPv6. Tài liệu dùng
smp1.example.comlàm ví dụ. - Quyền root hoặc quyền truy cập
sudo, và một phiên SSH thứ hai đang mở trong khi bạn thay đổi firewall. - Một nơi bên ngoài máy chủ để lưu backup, vì thư mục cấu hình chính là danh tính của server.
Trên một instance ARM, hãy dùng asset aarch64 thay cho x86-64. Không có phần nào khác trong hướng dẫn này thay đổi, và việc chọn gói VPS ARM hay x86 phụ thuộc vào giá và tốc độ mỗi core, không phải vào việc phần mềm có chạy được hay không.
Cài bản release đã pin, không dùng "latest"
Project cung cấp một install script để tải release hiện tại và đăng ký command simplex-servers-update. Cách này hoạt động. Tuy vậy, hãy pin version: một relay có binary tự thay đổi là relay bạn không thể phân tích chính xác khi có lỗi.
Tính đến tháng 8 năm 2026, release hiện tại của simplexmq là v6.5.0, được publish vào ngày 29 tháng 4 năm 2026. Kiểm tra trang releases để lấy tag bạn muốn, rồi dùng tag đó ở mọi chỗ bên dưới.
sudo useradd -m smp
sudo install -d -o smp -g smp -m 755 /etc/opt/simplex /var/opt/simplexuseradd -m smp không đặt password, nên không ai đăng nhập trực tiếp bằng smp. Hãy tự tạo hai directory này trước khi chạy bất kỳ lệnh nào khác, vì /etc/opt thuộc sở hữu của root và có mode 755. Cấu hình này khiến user smp không có chỗ để ghi directory cấu hình riêng.
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Đối chiếu hash đó với các checksum SHA2-256 được publish trong release notes của cùng tag. Project cũng ký các release checksum bằng key SimpleX Chat FB44AF81A45BDE327319797C85107E357D4A17FC, được ghi trong trang server, nên bạn có thể verify signature thay vì chỉ tin vào trang đã cung cấp hash.
sudo install -m 755 -o root -g root /tmp/smp-server /usr/local/bin/smp-serverCố ý cài nó với quyền sở hữu của root. Service chạy dưới user smp, nên nếu service bị breach thì nó cũng không thể sửa binary mà nó khởi chạy.
Khởi tạo server và hai secret mà lệnh in ra
sudo su smp -c "smp-server init --yes --store-log --daily-stats --no-password --fqdn=smp1.example.com"--store-log(-l) ghi append-only log của các queue vào/var/opt/simplex/smp-server-store.logđể relay vẫn giữ được trạng thái sau khi restart. Nếu không có tùy chọn này, restart sẽ xóa toàn bộ queue, khiến mọi liên hệ được định tuyến qua bạn ngừng hoạt động.--daily-stats(-s) ghi các counter ở dạng CSV vào/var/opt/simplex/smp-server-stats.daily.log.--fqdnđưa domain của bạn vào certificate được tạo. Dùng--ipnếu bạn không có domain.--no-passwordcho phép bất kỳ ai tạo queue trên relay của bạn. Để giữ relay ở chế độ private, đặtcreate_passwordbên dưới[AUTH]trong/etc/opt/simplex/smp-server.inisau khi init, thay vì truyền--passwordở đây. Command line hiển thị trong shell history và process list khi lệnh đang chạy.
Init tạo một certificate và in ra hai giá trị bạn phải lưu lại. Giá trị thứ nhất là fingerprint, một chuỗi base64 cũng được ghi vào /etc/opt/simplex/fingerprint. Giá trị thứ hai là địa chỉ server đầy đủ, gồm fingerprint và hostname của bạn. Hãy copy cả hai ngay bây giờ.
Init cũng tạo /etc/opt/simplex/ca.key, và tài liệu hướng dẫn bạn chuyển file này vào offline storage. Lý do cần lưu ý là client pin fingerprint của certificate authority đó. Vì vậy, bất kỳ ai có ca.key đều có thể cấp một server certificate mới mà client của bạn chấp nhận là certificate của bạn. Bạn chỉ cần đưa file này trở lại khi cần rotate server certificate bằng smp-server cert.
Hãy xem init là bước chỉ thực hiện một lần. Fingerprint trong địa chỉ của bạn được lấy từ authority mà init tạo ra. Vì vậy, nếu tạo lại authority đó, bạn sẽ có một địa chỉ khác và địa chỉ đã cung cấp trước đó sẽ không còn hoạt động.
Chạy dưới systemd bằng user không có quyền cao
Viết /etc/systemd/system/smp-server.service chính xác như trong tài liệu:
[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.targetUnit của upstream cũng có AmbientCapabilities=CAP_NET_BIND_SERVICE. Dòng này cần thiết vì tiến trình chạy dưới dạng smp, trong khi process không phải root không thể bind các cổng nhỏ hơn 1024. Nếu không có dòng này, daemon không thể bind cổng 80 hoặc 443. Thêm dòng này nếu bạn phục vụ các cổng đó. LimitNOFILE=65535 quan trọng vì mỗi client đã đăng ký giữ một kết nối TCP mở, còn giới hạn mặc định thấp hơn nhiều so với nhu cầu của một relay bận. ExecStopPost sao chép log của store vào file .bak sau mỗi lần stop, nhờ đó bạn có một điểm rollback miễn phí.
sudo systemctl daemon-reload
sudo systemctl enable --now smp-server
sudo systemctl status smp-server
sudo journalctl -fu smp-serverMột lần khởi động bình thường sẽ ghi địa chỉ server vào log. Sau đó xác nhận các socket thực sự đang mở:
sudo ss -tlnp | grep -E ':(443|5223)'Cả hai dòng phải hiển thị smp-server. Chạy daemon bằng account riêng, không có quyền sudo, là cùng thói quen được mô tả trong account riêng cho từng service trên VPS. Đây là cách ngăn lỗi trong một network daemon biến thành root shell.
Các cổng cần mở và một cổng cần giữ kín
Tài liệu liệt kê 3 cổng: 5223/tcp, 443/tcp và 80/tcp. Cổng 5223 là transport SMP. Cấu hình được cung cấp đặt port: 5223,443 dưới [TRANSPORT], nên cùng protocol đó cũng phản hồi trên cổng 443. Điều này quan trọng vì nhiều mạng hạn chế chỉ cho phép lưu lượng outbound qua cổng 443. Cổng 80 chỉ cần cho trang thông tin tùy chọn và chuyển hướng sang HTTPS.
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 5223/tcp
sudo ufw enableKhông mở cổng 5224. Đây là control port. Tài liệu truy cập cổng này từ chính máy chủ bằng nc 127.0.0.1 5224. Cổng này hiển thị trạng thái server và xóa các queue, nên phải bind vào loopback. Bạn cũng phải đặt admin password và user password trong [AUTH]. Nếu bạn mới dùng tool này, phần cơ bản về ufw trên VPS giải thích thứ tự rule và cách tránh tự khóa quyền truy cập.
Có thêm một lớp kiểm soát dễ bị bỏ sót. Hầu hết nhà cung cấp chạy network firewall trong panel, tách biệt với ufw trên máy chủ. Một cổng có thể đã mở trong ufw nhưng vẫn bị drop trước khi lưu lượng đến được máy chủ của bạn.
Địa chỉ server mà client của bạn cần
smp://<fingerprint>[:<password>]@<public_hostname>[,<onion_hostname>]Chuỗi này là toàn bộ cấu hình phía client. Dán chuỗi vào phần cài đặt server của app, hoặc để người khác quét QR code mà app hiển thị cho chuỗi này. Tài liệu lưu ý rằng QR code chứa cả password, nên người quét có thể nhận tin nhắn thông qua server của bạn.
Có một hành vi được tài liệu ghi nhận khiến mọi người đều bất ngờ. Việc thêm server vào app chỉ áp dụng cho các contact mà bạn tạo từ thời điểm đó trở đi. Các contact hiện có vẫn nằm trên relay nơi queue của chúng được tạo và không được migrate. Vì vậy, bạn không thể tắt relay vào ngày hôm sau sau khi thay thế relay đó.
Thêm một file relay XFTP
XFTP (SimpleX file transfer protocol) là phần truyền file của network và chạy dưới dạng một daemon riêng với địa chỉ riêng. Theo thông báo XFTP của dự án, relay không lưu metadata của file: chúng chỉ thấy từng chunk, mỗi chunk có kích thước 256kb, 1mb hoặc 4mb, và quyền truy cập được cấp bằng credential ẩn danh. Sender có thể phân tán các chunk của một file qua nhiều relay, nên máy chủ của bạn chỉ lưu các mảnh, không lưu nguyên file.
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/"Cấu hình của nó nằm trong /etc/opt/simplex-xftp/, state nằm trong /var/opt/simplex-xftp/, còn các chunk của file nằm ở vị trí do -p chỉ định. systemd unit có cấu trúc tương tự, với User=xftp và ExecStart=/usr/local/bin/xftp-server start +RTS -N -RTS. Khi khởi tạo, hệ thống in ra địa chỉ xftp:// theo cùng định dạng với địa chỉ SMP, cùng fingerprint riêng trong /etc/opt/simplex-xftp/fingerprint.
Cần tính đến khả năng xung đột port. Port được tài liệu XFTP chỉ định là 443, và cấu hình SMP cũng liệt kê 443. Hai process không thể bind cùng một port trên cùng một địa chỉ, nên khi chạy trên một VPS sẽ phải thay đổi một trong hai. Cách đơn giản nhất là đặt port: 5223 trong section [TRANSPORT] của SMP và để file relay dùng port 443, nhưng client trong các network hạn chế sẽ mất khả năng fallback qua 443. Các phương án khác là thêm địa chỉ IP thứ hai trên cùng VPS hoặc dùng VPS thứ hai.
Hãy đặt quota sát với nhu cầu thực tế. -q '20gb' là cam kết về dung lượng disk bạn có. File relay là thành phần tiêu tốn disk và bandwidth. Message relay hầu như không đáng kể ở cả hai mặt này.
Những gì được lưu trên đĩa và những gì backup khôi phục
Có 2 thư mục quan trọng. /etc/opt/simplex/ là danh tính: smp-server.ini, certificate và key của server, ca.key và fingerprint. /var/opt/simplex/ là trạng thái: smp-server-store.log chứa các queue và, khi restore_messages: on, các message chưa gửi, cùng với file thống kê hằng ngày.
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-serverCần hiểu rõ archive đó chứa gì. Đây không phải là archive của message: các mục đang xếp hàng là ciphertext dành cho những key mà relay chưa từng giữ, còn config [STORE_LOG] được cung cấp kèm theo sẽ tự xóa message sau 21 ngày. Đây là bản sao danh tính của server, có cả ca.key, nên bất kỳ ai lấy được file này đều có thể tự nhận mình là relay của bạn với các contact của bạn. Hãy mã hóa file và lưu file bên ngoài server.
Lợi ích nằm ở việc restore. Khôi phục /etc/opt/simplex trên một VPS mới, trỏ cùng tên DNS vào đó, và fingerprint vẫn không đổi, nên mọi address bạn đã cấp vẫn hoạt động. Nếu mất thư mục đó thì không thể khôi phục: cài đặt mới sẽ tạo fingerprint mới, kéo theo address mới, và mọi contact định tuyến qua relay của bạn sẽ mất kết nối.
TLS: hai chứng chỉ đảm nhiệm hai vai trò khác nhau
SMP transport không sử dụng public certificate authority. Init tạo một private authority và một server certificate, đồng thời fingerprint của authority đó được đưa vào server address. Client đối chiếu thông tin server cung cấp với fingerprint đã pin. Đây là cơ chế mà dự án mô tả là bảo vệ kết nối client đến server trước các cuộc tấn công machine-in-the-middle. Không cần chạy client ACME (automatic certificate management environment) trên cổng đó. Việc xoay vòng chứng chỉ được thực hiện thủ công bằng một lần chạy smp-server cert với SMP_SERVER_CFG_PATH được đặt.
Trang thông tin tùy chọn sử dụng chứng chỉ còn lại. Phần [WEB] của trang này nêu static_path, https: 443, cert: /etc/opt/simplex/web.crt và key: /etc/opt/simplex/web.key. Browser không biết private authority của bạn. Vì vậy, đây là nơi duy nhất cần dùng chứng chỉ được public CA tin cậy. Docker quick start trong tài liệu đặt Caddy phía trước server đúng cho mục đích này và tự động cấp chứng chỉ.
Truy cập relay qua Tor
Tài liệu có một phần về Tor, trong đó cài Tor từ repository của Tor Project và thêm một hidden service trong /etc/tor/torrc:
SOCKSPort 0
HiddenServiceNonAnonymousMode 1
HiddenServiceSingleHopMode 1
HiddenServiceDir /var/lib/tor/simplex-smp/
HiddenServicePort 5223 localhost:5223
HiddenServicePort 443 localhost:443Đọc kỹ hai dòng mode. Single hop và non-anonymous nghĩa là vị trí của relay không được ẩn. Địa chỉ onion nhanh và cho client một cách kết nối không bao giờ tiết lộ IP của họ cho bạn, nhưng bản thân server vẫn có thể được tìm thấy qua public IP. Hostname onion từ /var/lib/tor/simplex-smp/hostname được thêm vào cuối địa chỉ server, sau dấu phẩy. Nếu bạn cũng muốn ẩn vị trí của server, đó là một cấu hình khác. Chạy một onion service thực trên VPS trình bày các đánh đổi. Sự khác nhau về những gì mỗi công cụ ẩn được là chủ đề của Tor so với VPN, và điều này áp dụng trực tiếp ở đây.
Mô hình mối đe dọa: self-hosting thay đổi điều gì
Bạn nhận được gì. Metadata (những queue nào tồn tại, chúng được đọc vào thời điểm nào, những địa chỉ nào kết nối) nằm trên một máy do bạn kiểm soát, và bạn quyết định lưu chúng trong bao lâu. Bạn cũng không còn nằm trong một pool lớn có thể bị yêu cầu cung cấp dữ liệu cùng lúc.
Những gì self-hosting không mang lại, nói rõ:
- Mã hóa không thay đổi. Message đã được mã hóa đầu cuối trước khi bạn tự triển khai và vẫn được mã hóa đầu cuối sau đó. Self-hosting là quyết định về metadata, không phải quyết định về cryptography.
- Nhà cung cấp VPS thấy traffic đến địa chỉ IP của bạn và lưu thông tin thanh toán của bạn. Bạn chuyển trust từ nhà vận hành dịch vụ nhắn tin sang nhà vận hành hosting. Bạn không loại bỏ trust.
- Relay của bạn chỉ phục vụ một nhóm nhỏ. Nếu nó chỉ phục vụ một hộ gia đình, việc kết nối đến relay sẽ xác định hộ gia đình đó, và hostname của relay xuất hiện trong mọi invitation link bạn gửi từ đó. Một relay công khai có nhiều người dùng sẽ che giấu bạn tốt hơn ở khía cạnh này, và đây là đánh đổi thực sự. Search server riêng cũng có đặc điểm tương tự. Vì vậy, SearXNG thực sự che giấu gì trên VPS của riêng bạn phụ thuộc vào số người dùng cùng chia sẻ instance với bạn.
- Availability giờ là trách nhiệm của bạn. Disk đầy hoặc máy chủ ngừng hoạt động sẽ khiến message không được chuyển đến, còn contact của bạn không có cách nào định tuyến tránh qua máy chủ đó.
Lập luận tương tự áp dụng cho mọi private service bạn triển khai trên một máy do mình sở hữu, dù đó là relay này hay VPN WireGuard trên VPS của riêng bạn. Bạn đang chọn bên nào được thấy metadata. Bạn không làm cho metadata biến mất.
Khi không hoạt động
Service khởi động rồi dừng ngay. Đọc sudo journalctl -u smp-server -n 50. Lỗi bind cho biết cổng mà service không thể chiếm. Sau đó chạy sudo ss -tlnp | grep :443 để xem process nào đang giữ cổng đó. Trên một máy mới cài, process này thường là nginx, Caddy hoặc XFTP server mà bạn vừa cài cách đây một giờ.
Init không thể ghi file cấu hình. Chạy smp-server init với user smp trước khi /etc/opt/simplex tồn tại sẽ gây lỗi quyền truy cập, vì /etc/opt thuộc sở hữu của root. Trước tiên, hãy tạo thư mục với owner phù hợp rồi chạy lại init.
Client không thể kết nối đến relay. Kiểm tra tên miền phân giải đến đúng địa chỉ bằng dig +short smp1.example.com. Sau đó kiểm tra cổng từ laptop, không phải từ server: nc -vz smp1.example.com 5223. Nếu kết nối từ bên ngoài thất bại trong khi ss cho thấy socket đang mở trên máy, vấn đề nằm ở firewall mạng của nhà cung cấp. Đây là một cơ chế kiểm soát riêng, không phải ufw.
Một contact không thể kết nối qua relay của bạn. Fingerprint trong địa chỉ bạn đã chia sẻ phải khớp với nội dung hiện tại của /etc/opt/simplex/fingerprint. Nếu bạn đặt create_password trong [AUTH], địa chỉ cũng phải chứa password đó. Nếu không, client không được phép tạo queue.
Không có gì di chuyển sau khi bạn thêm server trong app. Đây là hành vi đúng. Chỉ các contact mới sử dụng relay vừa thêm. Các contact hiện có tiếp tục dùng những queue mà chúng đã có.
FAQ
Việc tự host server SimpleX có làm tin nhắn của tôi an toàn hơn không?
Không, và đây là chủ đích thiết kế. SimpleX mã hóa đầu cuối giữa các thiết bị, nên relay không có các key mã hóa, bất kể ai vận hành nó. Tự host chỉ thay đổi bên quan sát metadata liên quan đến các tin nhắn đó: có những queue nào, chúng được đọc khi nào và những địa chỉ IP nào kết nối. Đây là quyết định về metadata. Nếu lý do bạn tự host là cần mã hóa mạnh hơn, thì tính năng mã hóa đó vốn đã có sẵn.
Operator của SimpleX relay thực sự có thể thấy gì?
protocol/security.md của dự án mô tả rõ điều này. Relay không thể đọc nội dung hoặc loại tin nhắn, không thể âm thầm thay đổi từng tin nhắn và không thể phá mã hóa đầu cuối bằng một cuộc tấn công chủ động. Relay có thể thấy thời điểm người nhận của một queue online, đếm số tin nhắn đi qua queue, biết địa chỉ IP của người nhận, loại bỏ các tin nhắn tiếp theo trong queue hoặc nói sai về trạng thái của queue. Đó là các quyền mà bạn có khi relay thuộc quyền quản lý của bạn.
Tôi có cần tên miền và chứng chỉ TLS không?
Bạn cần tên miền để có một cấu hình sử dụng được, và smp-server init chấp nhận --ip nếu bạn thực sự không có tên miền. Bạn không cần chứng chỉ do một cơ quan công khai cấp cho cổng nhắn tin: init tự tạo authority riêng, còn client pin fingerprint xuất hiện trong địa chỉ smp:// của bạn. Chỉ cần chứng chỉ được công khai tin cậy cho trang thông tin web tùy chọn, được cấu hình bằng cert và key trong section [WEB] của smp-server.ini.
Điều gì xảy ra nếu tôi mất /etc/opt/simplex?
Mọi địa chỉ bạn đã cung cấp sẽ ngừng hoạt động. Thư mục đó chứa certificate authority có fingerprint được nhúng trong địa chỉ server của bạn, nên khi dựng lại sẽ tạo ra fingerprint khác và do đó là một server khác. Không thể sửa từ phía client các contact có queue nằm trên relay đó. Hãy backup thư mục bằng mã hóa và lưu bên ngoài máy, đồng thời lưu ca.key offline theo hướng dẫn trong tài liệu, vì bất kỳ ai giữ nó đều có thể giả mạo relay của bạn.
Tôi có thể chạy SMP relay và XFTP file relay trên cùng một VPS không?
Có, nhưng cần xử lý một xung đột. Port được tài liệu của XFTP server ghi là 443, còn cấu hình SMP mặc định liệt kê port: 5223,443, nên cả hai đều muốn dùng cùng một socket. Hãy dành 443 cho một trong hai: đặt port: 5223 cho SMP server, hoặc chuyển file relay sang địa chỉ IP thứ hai hay VPS thứ hai. Đồng thời đặt quota storage phù hợp với dung lượng disk thực tế, vì file relay là thành phần tiêu thụ disk và bandwidth.