Skip to content
Snippets Groups Projects

Document environment variables, fixes #772

Merged Pea Nut requested to merge document-envs into main
+ 41
15
# BitmaskVPN - Desktop client
## Supported operating systems
**BitmaskVPN** needs the following minimum versions of supported operating systems:
@@ -20,10 +22,10 @@
# arch
[There's a package in AUR](https://aur.archlinux.org/packages/riseup-vpn-git) that tracks main branch, so expect some instabilities (early birds catch the bugs they say, and we're thankful for that)
There are two AUR packages for Arch Linux. There is [riseup-vpn-git](https://aur.archlinux.org/packages/riseup-vpn-git) that tracks main branch, so expect some instabilities (early birds catch the bugs they say, and we're thankful for that). There is also [riseup-vpn](https://aur.archlinux.org/packages/riseup-vpn) with the latest stable release.
```
yaourt -Sy riseup-vpn-git
yay riseup-vpn
```
# deb
@@ -46,16 +48,24 @@ sudo apt update
sudo apt install riseup-vpn
```
## Snap
There is also a package in the [Snap store](https://snapcraft.io/riseup-vpn).
```
sudo snap install riseup-vpn
```
## Build
Clone this repo, install dependencies and build the application. Dependencies
assume debian packages, or homebrew for osx. For Windows OS see corresponding section below. For other systems try
manually, or send us a patch.
manually, or send us a patch. Right now the client provider branded. The default provider is riseup.
```
git clone git@0xacab.org:leap/bitmask-vpn.git && cd bitmask-vpn
sudo make depends # do not use sudo in osx
make build
git clone git@0xacab.org:leap/bitmask-vpn.git && cd bitmask-vpn
sudo make depends # do not use sudo in osx
make build
```
You need at least go 1.20.
@@ -65,9 +75,9 @@ You need at least go 1.20.
You can run some tests too.
```
sudo apt install qml-module-qttest
make test
make test_ui
sudo apt install qml-module-qttest
make test
make test_ui
```
## Windows
@@ -85,7 +95,7 @@ You need to have installed and added to your user PATH (mentioned version tested
#### Get Source
```
git clone git@0xacab.org:leap/bitmask-vpn.git && cd bitmask-vpn
git clone git@0xacab.org:leap/bitmask-vpn.git && cd bitmask-vpn
```
#### Build
@@ -93,12 +103,12 @@ Build script uses a symbolic link in one of the stages. Unfortunately Cygwin can
admin user due to windows security restriction. To avoid this issue we need to call next target from cygwin terminal as
Administrator. This need to be done only once.
```bash
make relink_vendor
make relink_vendor
```
After `relink_vendor` use this to build the app:
```bash
make build
make build
```
After successful build application will be available at: `build/qt/release/riseup-vpn.exe`
@@ -107,8 +117,8 @@ After successful build application will be available at: `build/qt/release/riseu
To run tests:
```bash
make test
make test_ui
make test
make test_ui
```
## Logging
@@ -118,7 +128,23 @@ Linux: `~/.config/leap/systray.log`
Windows: `%LocalAppData%\leap\systray.log `
Mac: `~/Library/Preferences/leap/systray.log`
Log levels can be set via environment variable (`LOG_LEVEL=TRACE`, `LOG_LEVEL=DEBUG`, default log level is `INFO`). The cpp/qml part logs to stderr if env `DEBUG=1` is set.
Log levels can be set via environment variable (`LOG_LEVEL=TRACE`, `LOG_LEVEL=DEBUG`, default log level is `INFO`). The cpp/qml part logs to stderr if env `DEBUG=1` is set. If `OPENVPN_LOG_TO_FILE=1` is set, the OpenVPN process writes its logs to [os.TempDir()](https://pkg.go.dev/os#TempDir)/leap-vpn.log. The verbosity of OpenVPN can be specified with env `OPENVPN_VERBOSITY=4`.
## Environment Variables
The envs are only used for debugging and developing. The envs affecting the logging behavior are documented in the logging section.
`SKIP_VERSION_CHECK`: Do not check if there is an update available
`LEAP_DRYRUN`: Don't route traffic over VPN (run openvpn with "--pull-filter ignore route" argument) and do not touch firewall rules
`MOTD_URL`: Overwrite the MOTD (message of the day) url
`SNAP`: If not empty, we expect to be in a Snap environment (client was installed by Snap)
`UDP`: If we use UDP, UDP is set to 1. If we use TCP, UDP is set to 0. The value is read by the bitmask-root helper which sets firewall rules on Linux
`LEAP_PROVIDER`: Select the provider to use. Must be one of the providers listed in `gui/providers/providers.json`. File is generated by the Makefile which runs `./branding/scripts/gen-providers-json`
##### Only implemented in v3/vpnweb:
`LEAP_GW`: Specify the gateway hostname to connect with. It needs to be one of the gateway returned by vpnweb
`LEAP_OPENVPN_EXTRA_CONFIG`: Specify a file with extra OpenVPN arguments to use. File should be in json format (in key value format like {"--dev": "tun"} or {"--persist-key": true})
`LEAP_KCP`: Enforce the use of KCP in obfsvspn
Translations
------------
Loading