The client software is where the intelligence, such as it is, is. It doesn't need the FluxEngine hardware, and will work either with it, a Greaseweazle, or (to a limited extent) an Applesauce.
The CLI is pretty generic libusb stuff and should build and run on pretty much anything; the GUI is based on ImHex and will work wherever ImHex does. Support platforms for the FluxEngine client include Windows, Linux and OSX as well, although on Windows it'll need MSYS2 and mingw32. You'll need to install some support packages. You will need to check out git with submodules enabled.
- For Linux with Ubuntu/Debian:
libudev-devlibsqlite3-devprotobuf-compilerlibfmt-devlibprotobuf-devlibmagic-devlibmbedtls-devlibcurl4-openssl-devlibmagic-devlibdbus-1-devlibglfw3-devlibfreetype-devlibboost-regex-devPlus, optionally (if not present, internal versions will be used):nlohmann-json3-devlibcli11-devlibmd4c-dev - For OSX with Homebrew:
sqlitepkg-configlibusbprotobuffmtmakecoreutilsdylibbundlerlibjpeglibmagicboostglfw3ninjapythonfreetype2mbedtlsPlus, optionally (if not present, internal versions will be used):nlohmann-jsoncli11md4clunasvg - For Windows with MSYS and pacboy:
pythondiffutilsninjamakezipmingw-w64-cross-clangprotobuf:ppkgconf:pcurl-winssl:pfile:pglfw:pmbedtls:psqlite:pfreetype:pboost:pgcc:pbinutils:pnsis:pabseil-cpp:p
There may be mistakes here --- please get in touch if I've missed anything.
Windows and Linux (and other Unixes) build by just doing make. OSX builds by
doing gmake (we're using a feature which the elderly default make in OSX
doesn't have). Parallel builds will be detected automatically; do -j1 if for some
reason you don't want one.
You should end up with some executables in the current directory. The command line version
is called fluxengine or fluxengine.exe depending on your platform,
and the ImHex-based GUI will be fluxengine-gui or fluxengine-gui.exe.
They have
minimal dependencies and you should be able to put it anywhere. The other
binaries may also be of interest.
Potential issues:
- Complaints about a missing
libudevon Windows? Make sure you're using the mingw Python rather than the msys Python.
If it doesn't build, please get in touch.