BetterFluxer is a BetterDiscord-style runtime + injector for Fluxer desktop.
Main features:
- Plugin lifecycle (
start,stop,reload, enable/disable) - Safe patching API (
before,after,instead,unpatchAll) - Per-plugin persistent storage
- Injected settings UI inside Fluxer settings panel
- Dynamic plugin settings integration (
getSettingsSchema+setSettingValue) with live apply - Plugin store support (remote index + install/remove)
Docs index: docs/README.md
Install and test:
npm install
npm testRun injector GUI (NW.js):
npm startBuild injector packages:
npm run dist:win
npm run dist:win:onefile
npm run dist:linuxBridge builds:
npm run dist:bridge:win
npm run dist:bridge:msi
npm run dist:bridge:linuxInject:
npm run injectInject specific app/version:
npm run inject -- --version=0.0.8
npm run inject -- --app-path="C:\Users\<USERNAME>\AppData\Local\fluxer_app\app-0.0.8"Dry run:
npm run inject -- --app-path=".\app_do_not_edit" --dry-runUninject:
npm run uninject -- --app-path="C:\Users\<USERNAME>\AppData\Local\fluxer_app\app-0.0.8"Default install roots auto-detected by OS:
- Windows:
%USERPROFILE%\AppData\Local\fluxer_app - Linux:
~/.fluxer/fluxer,$XDG_DATA_HOME/fluxer_app,$XDG_CONFIG_HOME/fluxer_app,~/.config/Fluxer - macOS:
~/Library/Application Support/fluxer_app
resources/app.asar.unpacked/src-electron/dist/preload/index.js- backup:
index.js.betterfluxer.bak
- backup:
resources/app.asar.unpacked/betterfluxer/
If Fluxer only has packed app.asar without app.asar.unpacked preload, injection is not supported.
nw/: Injector GUI app (NW.js)bridge-nw/: Bridge app and local bridge scriptscripts/lib/fluxer-injector-utils.js: Core patch/inject logicsrc/: Runtime core used by injected BetterFluxerMyPlugins/,plugins/, and/ornw/plugins/: Plugin sources loaded by injector/runtime
