跳转到内容

Releases

此内容尚不支持你的语言。

The current relay release is 1.1.0. Release notes are on the GitHub release, and the downloads page lists every file with its size and checksum.

  • Versions follow MAJOR.MINOR.PATCH. The version is the one in the relay’s Cargo.toml.
  • Each release is tagged vX.Y.Z in rchat-core, with a GitHub release that carries every binary, its .sha256 file and SHA256SUMS.txt.
  • 1.1.0 speaks protocol version 2 only. The next release, 2.0.0, speaks protocol version 3 only (post-quantum encryption, blinded pairing, steady traffic, relay invites, TLS resumption, per-relay decoy sites). The relay and the app must run the same protocol version: older apps are refused with “client too old; update rChat”. Update both together.
URLContents
https://assets.r-chat.net/VERSIONThe current version number. install.sh reads it unless you pass --version. It changes only after every file of a release is uploaded.
https://assets.r-chat.net/install.shThe installer.
https://assets.r-chat.net/<version>/<file>The binaries, one <file>.sha256 per binary, and SHA256SUMS.txt.
https://assets.r-chat.net/<version>/rchat-server.serviceThe systemd unit install.sh installs on Linux.
https://assets.r-chat.net/<version>/rchat.rcThe rc script install.sh installs on FreeBSD.

Binaries are named rchat-server-<arch>-<os>, with -gnu or -static for the two Linux builds:

FilePlatform
rchat-server-x86_64-linux-staticLinux x86_64, statically linked (musl). Runs on any distribution.
rchat-server-aarch64-linux-staticLinux ARM64, statically linked (musl).
rchat-server-x86_64-linux-gnuLinux x86_64, needs glibc.
rchat-server-aarch64-linux-gnuLinux ARM64, needs glibc.
rchat-server-armv7-linuxLinux ARMv7 (hard float), needs glibc.
rchat-server-riscv64gc-linux-gnuLinux RISC-V 64, needs glibc.
rchat-server-x86_64-freebsdFreeBSD x86_64.
rchat-server-macos-arm64macOS, Apple silicon.
rchat-server-macos-x86_64macOS, Intel.
rchat-server-macos-universalmacOS, both (the one install.sh uses).

A release can leave out a target that did not build; the downloads page shows exactly what was published.

  • <file>.sha256 holds the SHA-256 hash of <file> only, as 64 hex characters, with no file name.
  • SHA256SUMS.txt lists the hash and name of every binary in the release, one per line, in the format sha256sum -c reads.

On Linux, with rchat-server-x86_64-linux-static as an example file (use the name of the file you downloaded):

Terminal window
curl -LO https://assets.r-chat.net/1.1.0/rchat-server-x86_64-linux-static
curl -LO https://assets.r-chat.net/1.1.0/rchat-server-x86_64-linux-static.sha256
echo "$(cat rchat-server-x86_64-linux-static.sha256) rchat-server-x86_64-linux-static" | sha256sum -c

On macOS use shasum -a 256 rchat-server-macos-universal; on FreeBSD use sha256 -q rchat-server-x86_64-freebsd, and compare the result with the checksum file by eye.

install.sh does the same check itself and installs nothing if the hash does not match (exit code 3).

The macOS binaries are signed with a Developer ID certificate, using the hardened runtime and a secure timestamp, and notarised by Apple. A bare binary cannot have the notarisation ticket stapled to it, so the ticket is held by Apple rather than inside the file.

The downloads page is generated from a release manifest written by the release build. For each release it records:

FieldMeaning
versionThe release version, such as 1.1.0.
dateThe release date.
notes_urlThe GitHub release notes.
base_urlhttps://assets.r-chat.net/<version>/.
artifactsOne entry per binary: file, os, arch, variant (gnu, static or none), size in bytes and sha256.

The website build fails if the manifest’s version differs from the relay’s Cargo.toml version, or if any file has no sha256. The upload script refuses to upload when the manifest does not match the files in dist/: the same version, the same set of files and each sha256 equal to the file’s real hash.

The relay and the shared client library are open source under AGPL-3.0-or-later in rchat-core:

Terminal window
git clone https://github.com/PDG-Global/rchat-core.git
cd rchat-core/rchat
cargo build --release --locked --bin rchat-server

To build a tagged release, check out its tag first (git checkout v1.1.0). You need a Rust toolchain, a C toolchain and CMake; see Install.