A custom fork of Fluxer built for themers and developers.
This update focuses on performance. The rspack dev server has been replaced with a production-built static frontend served directly by Caddy, significantly reducing CPU usage β especially when loading media-heavy channels.
- Production build replaces the rspack dev server β major CPU reduction
- Static file serving via Caddy instead of a live dev server
- Gzip/zstd compression on all served assets
- Token login added to the login page β required since the production API uses captcha (see below)
- Gateway and API routing fixed to connect properly to production Fluxer
Because the production Fluxer API requires captcha on login, Fluxoid includes a "Login with token" option at the bottom of the login screen.
To get your token:
- Log into Fluxer at web.fluxer.app in a browser
- Open DevTools (F12) β Console
- Run:
localStorage.getItem('token') - Copy the result and paste it into the token field in Fluxoid
The production build is not included in the repo. The start-fluxer.sh script will build it automatically on first launch. If you need to rebuild manually after making changes:
cd /path/to/fluxoid
devenv shell -- bash -c "cd fluxer_app && pnpm build"Fluxoid is the refactor branch with extra flavor. It extends the base Fluxer client with deeper customization support β most notably a Custom JS input field that works alongside the existing Custom CSS field, giving themers full control over the look, feel, and behavior of their client.
- Custom JS Field β Found at the bottom of Settings β Look & Feel, this new field lets you inject JavaScript directly into the client. It works in tandem with Custom CSS for a fully scriptable theming experience.
- Built on top of the
refactorbranch β so you get all the upstream improvements plus the extras. - Production frontend served statically via Caddy β no more rspack dev server overhead.
β οΈ Note: Fluxoid is not for everyday users. If you're a themer or want to contribute feedback and suggestions, this is for you. Otherwise hold off β the next update continues focusing on optimization.
A start-fluxer.sh script is included to handle everything for you. It will:
- Inject the correct dist path into the Caddyfile
- Build the frontend automatically if it hasn't been built yet
- Start the
devenvenvironment and all background services - Wait until everything is ready
- Launch the AppImage automatically
- Shut down all services cleanly when you close the app
To use it:
bash /path/to/fluxoid/start-fluxer.shYou can also create a desktop launcher (e.g. in Linux Mint via right-click β Create Launcher) pointing to:
bash /path/to/fluxoid/start-fluxer.sh
That's it β one click and you're in.
If you prefer to see what's happening under the hood:
Terminal 1 β Start the dev environment:
cd /path/to/fluxoid
devenv upTerminal 2 β Launch the AppImage:
/path/to/fluxoid/fluxer_desktop/dist-electron/fluxer_desktop-0.0.0.AppImageCheck that your settings file has the correct local URL:
~/.config/fluxer/settings.json
It should contain:
{ "app_url": "http://localhost:48763" }Check the bootstrap logs:
~/fluxoid/dev/logs/bootstrap.log
~/fluxoid/dev/logs/bootstrap.err.log
~/fluxoid/dev/logs/fluxer_app.log
~/fluxoid/dev/logs/fluxer_server.log
~/fluxoid/dev/logs/fluxer_gateway.log
fuser 49427/tcp 49319/tcp 49107/tcpThe start-fluxer.sh script handles this automatically.
rm -f "${XDG_RUNTIME_DIR:-/tmp}/fluxer_dev_bootstrap.done"Then re-run devenv up.
| File | Purpose |
|---|---|
start-fluxer.sh |
One-click launch script |
dev/Caddyfile.dev |
Caddy reverse proxy config |
dev/logs/ |
All service logs |
scripts/dev_bootstrap.sh |
Bootstrap script |
~/.config/fluxer/settings.json |
Desktop app config |
This project inherits the license of the upstream Fluxer project. See LICENSE and LICENSING.md for details.