A free and open source instant messaging and VoIP chat app built for friends, groups, and communities. https://fluxer.dev/operator/get-started/
  • TypeScript 66.1%
  • Rust 14.4%
  • Erlang 8.7%
  • CSS 3.9%
  • MDX 3.9%
  • Other 2.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-03 15:00:45 +02:00
.devcontainer refactor(self-hosting): forward every setting, drop dead config (#3047) 2026-09-30 00:58:43 +02:00
.github ci(gateway): drop cached gateway build output before compiling (#3003) 2026-09-28 01:08:52 +02:00
config/env refactor(self-hosting): forward every setting, drop dead config (#3047) 2026-09-30 00:58:43 +02:00
deploy fix(self-hosting): cap meilisearch indexing threads by default (#3153) 2026-10-03 02:15:16 +02:00
fluxer_admin feat(blocklist): add url-domain host patterns (#3164) 2026-10-03 14:46:08 +02:00
fluxer_api feat(blocklist): add url-domain host patterns (#3164) 2026-10-03 14:46:08 +02:00
fluxer_app fix(app): use sidebar channel icons in forwarded-from source (#3162) 2026-10-03 14:25:56 +02:00
fluxer_app_proxy fix: tighten edge cases across services (#3158) 2026-10-03 13:04:29 +02:00
fluxer_common style: run rustfmt on attachment url signature tests (#3166) 2026-10-03 15:00:45 +02:00
fluxer_desktop fix: tighten edge cases across services (#3158) 2026-10-03 13:04:29 +02:00
fluxer_docs docs(discovery): document the channel preview route (#3165) 2026-10-03 14:48:09 +02:00
fluxer_gateway fix: tighten edge cases across services (#3158) 2026-10-03 13:04:29 +02:00
fluxer_gifs fix(gifs): fetch featured category previews concurrently (#3117) 2026-10-02 17:22:30 +02:00
fluxer_media_proxy fix: tighten edge cases across services (#3158) 2026-10-03 13:04:29 +02:00
fluxer_messages style: run rustfmt on attachment url signature tests (#3166) 2026-10-03 15:00:45 +02:00
fluxer_push fix: tighten edge cases across services (#3158) 2026-10-03 13:04:29 +02:00
fluxer_snowflakes chore(deps): upgrade all dependencies, toolchains and images (#2825) 2026-09-17 21:08:56 +02:00
fluxer_static fix: tighten edge cases across services (#3158) 2026-10-03 13:04:29 +02:00
fluxer_svc fix: tighten edge cases across services (#3158) 2026-10-03 13:04:29 +02:00
fluxer_unfurl fix: tighten edge cases across services (#3158) 2026-10-03 13:04:29 +02:00
fluxer_users refactor: simplify account standing and verification levels (#3130) 2026-10-02 18:17:41 +02:00
packages feat(blocklist): add url-domain host patterns (#3164) 2026-10-03 14:46:08 +02:00
patches fix(app): crop animated images on web with libwebp (#2947) 2026-09-24 22:45:53 +02:00
tools fix: tighten edge cases across services (#3158) 2026-10-03 13:04:29 +02:00
tsconfigs chore(deps): upgrade all dependencies, toolchains and images (#2825) 2026-09-17 21:08:56 +02:00
.dockerignore fix(app): crop animated images on web with libwebp (#2947) 2026-09-24 22:45:53 +02:00
.editorconfig initial commit 2026-01-01 21:05:54 +00:00
.envrc workspace: reconcile latest Fluxer into the open source release and continue development there 2026-06-16 06:41:37 +02:00
.gitattributes fix(voice): stabilize voice input and noise suppression (#3087) 2026-10-01 14:02:12 +02:00
.gitignore fix(app): crop animated images on web with libwebp (#2947) 2026-09-24 22:45:53 +02:00
.ignore chore: clean up repository metadata (#1571) 2026-08-12 14:50:00 +02:00
biome.json fix(voice): stabilize voice input and noise suppression (#3087) 2026-10-01 14:02:12 +02:00
Cargo.lock fix(gifs): fetch featured category previews concurrently (#3117) 2026-10-02 17:22:30 +02:00
Cargo.toml feat(push): relay notifications as encrypted web push (#2906) 2026-09-23 14:04:55 +02:00
deny.toml chore(deps): upgrade all dependencies, toolchains and images (#2825) 2026-09-17 21:08:56 +02:00
eslint.config.mjs fix(app): do not crash when the browser translates the page (#2624) 2026-09-09 01:24:14 +02:00
knip.json fix(ci): correct TTL fixtures and unused dependencies (#3065) 2026-09-30 17:45:07 +02:00
LICENSE chore: use the correct license template 2026-01-06 14:40:10 +00:00
package.json chore(deps): pin pnpm 11 so the lockfile parses for packagers (#2864) 2026-09-20 15:30:50 +02:00
pnpm-lock.yaml feat(blocklist): add url-domain host patterns (#3164) 2026-10-03 14:46:08 +02:00
pnpm-workspace.yaml feat(blocklist): add url-domain host patterns (#3164) 2026-10-03 14:46:08 +02:00
README.md docs(readme): list the Google Play beta first for Android (#2985) 2026-09-27 20:49:39 +02:00
tsconfig.json refactor progress 2026-02-17 12:22:36 +00:00

Fluxer logo

Download Documentation Donate AGPLv3 License

Get it on Flathub

Fluxer

Fluxer is a free and open source instant messaging and VoIP chat app built for friends, groups, and communities.

Fluxer running side by side on a desktop monitor and a phone

Download

Windows macOS Linux Android iOS
Installer (x64) Disk image Flathub Google Play (beta) TestFlight
Installer (ARM64) deb (x64) APK (beta)
Portable (x64) deb (ARM64) Obtainium (beta)
Portable (ARM64) rpm (x64)
rpm (ARM64)
AppImage (x64)
AppImage (ARM64)
tar.gz (x64)
tar.gz (ARM64)

The macOS disk image runs on both Apple silicon and Intel. Windows and Linux need the build matching your processor.

On Linux, prefer a repository over a single file so Fluxer updates with the rest of your system.

Linux package repositories

The package is fluxer for stable and fluxer-canary for canary. apt and dnf subscribe to one channel per entry file. pacman and Flatpak serve both from one repository.

Flatpak

Stable is on Flathub, the easiest route on most desktops:

flatpak install flathub app.fluxer.Fluxer

Flathub has stable only. To use Fluxer's own repository, open the stable or the canary reference file and your software manager takes over. Some desktops also accept flatpak+https://pkgs.fluxer.com/flatpak/fluxer.flatpakref in the address bar.

From a terminal:

flatpak install https://pkgs.fluxer.com/flatpak/fluxer.flatpakref

Debian and Ubuntu

sudo install -d -m 0755 /etc/apt/keyrings
sudo curl -fsSL -o /etc/apt/keyrings/fluxer-archive-keyring.gpg https://pkgs.fluxer.com/keys/fluxer-archive-keyring.gpg
sudo curl -fsSL -o /etc/apt/sources.list.d/fluxer.sources https://pkgs.fluxer.com/deb/fluxer.sources
sudo apt update && sudo apt install fluxer

For canary, use the canary entry file and package.

sudo curl -fsSL -o /etc/apt/sources.list.d/fluxer-canary.sources https://pkgs.fluxer.com/deb/fluxer-canary.sources
sudo apt update && sudo apt install fluxer-canary

A .deb installed from a download only updates once its channel's entry is added.

Fedora and RHEL

sudo curl -fsSL -o /etc/yum.repos.d/fluxer.repo https://pkgs.fluxer.com/rpm/fluxer.repo
sudo dnf install fluxer

For canary, use the canary entry file and package.

sudo curl -fsSL -o /etc/yum.repos.d/fluxer-canary.repo https://pkgs.fluxer.com/rpm/fluxer-canary.repo
sudo dnf install fluxer-canary

RHEL, Rocky, Alma and CentOS Stream need sudo dnf install epel-release first, because their base repositories lack libXScrnSaver. Fedora does not.

Arch Linux

The repository is signed, so pacman needs the key once:

sudo pacman-key --init
curl -fsSL -o /tmp/fluxer-archive-keyring.asc https://pkgs.fluxer.com/keys/fluxer-archive-keyring.asc
sudo pacman-key --add /tmp/fluxer-archive-keyring.asc
sudo pacman-key --lsign-key 09D01339EE128925F75E675C855C5BDE34D205D2

--lsign-key is what makes pacman trust it. Then add the repository:

sudo tee -a /etc/pacman.conf >/dev/null <<'REPO'

[fluxer]
SigLevel = Required TrustedOnly
Server = https://pkgs.fluxer.com/arch/$repo/os/$arch
REPO
sudo pacman -Syu fluxer

Write $repo and $arch literally. Both are pacman variables, not shell ones, hence the quoted heredoc.

Full setup notes, including canary, are in the Linux repositories documentation.

Other ways to run it

Documentation

License

The source is licensed under the AGPL-3.0-or-later license.

Fluxer branding, icons, default avatars, badge artwork, screenshots and marketing imagery are copyright Fluxer, all rights reserved, as set out in fluxer_static/LICENSE. Third-party material keeps its own terms, listed in fluxer_static/THIRD_PARTY_LICENSES.md.

Public availability of this repository does not grant trademark, brand, or endorsement rights.