Flowr Desktop is an Flowr client for PC, Mac or Linux. It also is an embedded privacy-focused web browser.
- Flowr
- Wexond 2.1.0 A privacy-focused, extensible and beautiful web browser
Before running flowr-desktop, please ensure you have Node.js
installed on your machine.
When running on Windows, make sure you have build tools installed. You can install them by running as administrator:
$ npm i -g windows-build-tools
Firstly, run this command to install all needed dependencies. If you have encountered any problems, please report it. I will try to help as much as I can.
$ npm run setup
The given command below will serve renderer files in the development mode.
$ npm run dev
and in another terminal
$ npm start
You can also run other commands, for other tasks like building the app or linting the code, by using the commands described below. Also take a look at the build script.
$ npm run <command>
Command | Description |
---|---|
setup |
install dependency and configure compilation tools. |
build |
Bundles flowr-desktop's source in production mode. |
compile-win32 |
Compiles flowr-desktop binaries for Windows. |
compile-darwin |
Compiles flowr-desktop binaries for macOS. |
compile-linux |
Compiles flowr-desktop binaries for Linux. |
lint |
Lints code. |
lint-fix |
Fixes eslint errors if any |
start |
Starts flowr-desktop. |
dev |
Build and serves project in the development mode |
$ spctl --assess --type execute --verbose --ignore-cache --no-cache /Users/loris/Documents/taktik/flowr-pc-client/dist/mac/flowr-desktop.app
/Users/loris/Documents/taktik/flowr-pc-client/dist/mac/flowr-desktop.app: rejected
This error is caused by the signing mechanism for OSX applications. To temporarily disable it run:
$ sudo spctl --master-disable
You should re-enable it afterwards with:
$ sudo spctl --master-enable
VSCode terminal does not have enough permission to request access to camera capabilities. Using the native terminal does the trick. A reference to this issue can be found here
DOMException: Could not start video source
The browser is available in English (default) and French.
Translation are located in src/wexdond/local
.
We used i18n-manager to edit local directory.
/!\ Widevine builds require special attention. Please check the dedicated section below /!\
When making several builds, always ensure that the modules are properly installed.
$ rm -rf node_modules # if setup was already done, just to be sure
$ npm run setup # (Regular)
$ npm run setup-widevine # (Widevine linux/OSX)
$ npm run setup-widevine-win # (Widevine Windows)
$ npm run compile-$platform # (Regular)
$ npm run compile-widevine-$platform # (Widevine)
Where $platform is one of [win32, darwin, linux].
The builds may automatically be published on github. For this you need to setup a GH_TOKEN env variable with a Github auth token, and then add the following flag to the build command: "--publish always".
$ npm run compile-win32 -- --publish always # note the additional "--" to pass the flag to the actual command
Attention: use ffmpeg-static 5.2.0
nvm use && rm -rf node_modules && npm run setup && npm run build && npm run cm
Attention: use ffmpeg-static 5.2.0
nvm use && rm -rf node_modules && npm run setup-widevine && npm run build && npm run cwm
Attention: use ffmpeg-static 3.0.0
nvm use && rm -rf node_modules && npm run setup && npm run build && npm run cl
Attention: use ffmpeg-static 3.0.0
nvm use && rm -rf node_modules && npm run setup-widevine && npm run build && npm run cwl
Attention: use ffmpeg-static 3.0.0
nvm use 20.14.0 ; rd .\node_modules -Recurse -Force ; npm run setup ; npm run build ; npm run cw
Attention: use ffmpeg-static 3.0.0
nvm use 20.14.0 ; rd .\node_modules -Recurse -Force ; npm run setup-widevine ; npm run build ; npm run cww
Two script are available to help build and publish
$ ./script/build help # build for a given platform
$ ./script/maven help # publish to taktik's maven repository
OSX and Windows builds require VMP signing for Widevine CDM support. Please read the below section(s) first, but if you need it more info can be found here.
Python 3.7+ MUST be installed. A requirement for the build scripts to work on all platforms is to define the PYTHON3 environment variable to target the python3 executable (example: "/usr/local/bin/python3"). Then
$ PYTHON3 -m pip install --upgrade castlabs-evs
An account has already been created, log in (its credentials can be found the usual Taktik way). This operation is to be renewed periodically (at least once every month).
$ PYTHON3 -m castlabs_evs.account reauth
However if you ever need to create a new account then use
$ PYTHON3 -m castlabs_evs.account signup
Once this is done, the build may be performed accordingly to described in the sections above