Tiny, Performant & 100% Native client for Discord made in Rust
翻訳待ち
ソーシャルRust · FluentGitHub @ViceVerse-cz自分でインストール所有者未確認
Paste into Claude or ChatGPT for installation instructions suited to your environment.
Have you tried it? One tap is enough. No sign-in needed.
Loading the full README. The saved excerpt is shown below.
A lightweight, native Discord desktop client written in Rust, powered by egui and wgpu.
💬 Join our Discord server for updates
Unofficial and not endorsed by Discord.
Serein communicates directly with Discord's public gateway and REST endpoints for your existing account. Automating normal accounts outside the official OAuth2/bot API violates Discord's Terms of Service and carries risk of account termination. Technical interoperability does not imply platform approval. Review the compatibility matrix and authentication guide before use.Read the full README ↗[!WARNING] Unofficial and not endorsed by Discord. Serein communicates directly with Discord's public gateway and REST endpoints for your existing account. Automating normal accounts outside the official OAuth2/bot API violates Discord's Terms of Service and carries risk of account termination. Technical interoperability does not imply platform approval. Review the compatibility matrix and authentication guide before use.
Pre-compiled releases for macOS, Linux, and Windows are published on GitHub Releases.
| Platform | Format | Architectures | Details |
|---|---|---|---|
| Windows | -Setup.exe, .zip | x86_64, aarch64 | Per-user NSIS installer (recommended) or standalone portable archive |
| macOS | Homebrew Cask, .zip, Nix flake | Apple Silicon (aarch64) | Signed and notarized .app bundle; the Nix build is unsigned |
| Linux | Flatpak (recommended), Repositories (apt, dnf, zypper, pacman), Gentoo ebuild, Nix flake, .AppImage | x86_64 | Flatpak with automatic updates; signed package repositories; portable AppImage |
Flatpak is the recommended distribution format for Linux, featuring sandbox isolation, bundled GNOME/WebKit runtimes, and automatic background updates.
One-Click Repository Install (Automatic Updates):
flatpak install --user https://viceverse-cz.github.io/Serein/flatpak/serein.flatpakref
Once installed, your desktop software store (GNOME Software, KDE Discover) or flatpak update will automatically discover and install updates.
Standalone Offline Bundle:
Download Serein-linux.flatpak from Releases:
flatpak install --user ./Serein-linux.flatpak
flatpak run cz.viceverse.serein
See Flatpak guide for sandbox permissions and source build details.
Configure the signed package repository for your distribution with one command:
curl -fsSL https://viceverse-cz.github.io/Serein/setup.sh | sh
The script detects your distribution (Ubuntu/Debian, Fedora, openSUSE, Arch Linux), cryptographically verifies the GPG signing key, and configures the repository with an option to install immediately.
After setup, manage Serein with your native package manager:
# Ubuntu / Debian: sudo apt install serein
# Fedora: sudo dnf install serein
# openSUSE: sudo zypper install serein
# Arch Linux: sudo pacman -S serein
Your normal system updates (apt upgrade, dnf upgrade, zypper update, pacman -Syu) will keep Serein updated. See Signed package repositories for manual GPG verification steps.
Gentoo users can install Serein from the vitaly-zdanevich-overlay overlay. It provides a source ebuild (net-im/serein) and a prebuilt amd64 ebuild (net-im/serein-bin).
sudo eselect repository add vitaly-zdanevich-overlay git https://github.com/vitaly-zdanevich/gentoo-overlay.git
sudo emaint sync -r vitaly-zdanevich-overlay
echo 'net-im/serein ~amd64' | sudo tee /etc/portage/package.accept_keywords/serein
sudo emerge --ask net-im/serein
Use net-im/serein-bin in the keyword file and emerge command to install the prebuilt binary instead. The source ebuild requires Rust 1.99 or newer or newer. The binary ebuild targets amd64 systems with glibc 2.43 or newer. The two ebuilds install the same files, so choose one.
Nix installs are updated through Nix, not the in-app updater. On macOS the build produces an unsigned, non-notarized Serein.app. See the Nix package guide for the development shell and details.
The repository flake builds Serein from source for x86_64-linux and aarch64-darwin:
nix run github:ViceVerse-cz/Serein#serein
nix profile install github:ViceVerse-cz/Serein#serein
Or declaring it in the flake
Both modules below take inputs as an argument, so your flake must pass it through specialArgs (NixOS) and extraSpecialArgs (Home Manager). Without this, importing the modules fails with a missing inputs argument.
flake.nix
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
serein = {
url = "github:ViceVerse-cz/Serein";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { nixpkgs, home-manager, ... }@inputs: {
# NixOS
nixosConfigurations.hostname = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = { inherit inputs; };
modules = [ ./configuration.nix ];
};
# Standalone Home Manager
homeConfigurations.username = home-manager.lib.homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.x86_64-linux;
extraSpecialArgs = { inherit inputs; };
modules = [ ./home-manager.nix ];
};
};
}
If you use Home Manager as a NixOS module instead, pass inputs through its own option:
This is the beginning of the README. Read the rest at the original. Read the full README ↗