mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 18:18:55 +00:00
Closes #5042 Smoke test plan: - Install on a before-Firezone VM - Confirm logs default to `str0m=warn,info` - Set log filter to `debug` in GUI - Restart IPC service - Confirm logs are `debug` - Clear settings back to default - Restart IPC service - Confirm logs are `str0m=warn,info` Directions to apply new log level: 1. Put the new log filter in 2. Click "Apply" 3. Quit Firezone Client 4. Right-click on the Start Menu and click "Terminal (Admin)" to open a Powershell prompt 5. Run `Restart-Service -Name FirezoneClientIpcService` (on Linux, `sudo systemctl restart firezone-client-ipc.service`) 6. Re-open Firezone Client ```[tasklist] - [x] Log the log filter maybe - [x] Use `atomicwrites` to write the file - [x] (cancelled) ~~Make the GUI write the file on boot if it's not there (saves a step when upgrading from older versions)~~ - [x] Windows smoke test - [x] Fix permissions on `/var/lib/dev.firezone.client/config` - [x] Fix Linux IPC service not loading the log filter file - [x] Linux smoke test - [ ] Make sure it's okay that users in `firezone-client` can change the device ID - [ ] Update user guides to include restarting the computer or IPC service after updating the log level? ``` --------- Signed-off-by: Reactor Scram <ReactorScram@users.noreply.github.com>
gui-client
This crate houses a GUI client for Linux and Windows.
Setup (Ubuntu)
To compile natively for x86_64 Linux:
- Install rustup
- Install pnpm
sudo apt-get install at-spi2-core gcc libwebkit2gtk-4.0-dev libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev pkg-config xvfb
Setup (Windows)
To compile natively for x86_64 Windows:
- Install rustup
- Install pnpm
Recommended IDE Setup
(From Tauri's default README)
Building
Builds are best started from the frontend tool pnpm. This ensures typescript
and css is compiled properly before bundling the application.
See the package.json script for more details as to what's
going on under the hood.
# Builds a release exe
pnpm build
# Linux:
# The release exe and deb package are up in the workspace.
stat ../target/release/firezone
stat ../target/release/bundle/deb/*.deb
# Windows:
# The release exe and MSI installer should be up in the workspace.
# The exe can run without being installed
stat ../target/release/Firezone.exe
stat ../target/release/bundle/msi/Firezone_0.0.0_x64_en-US.msi
Running
From this dir:
# This will start the frontend tools in watch mode and then run `tauri dev`
pnpm dev
# You can call debug subcommands on the exe from this directory too
# e.g. this is equivalent to `cargo run -- debug hostname`
cargo tauri dev -- -- debug hostname
# The exe is up in the workspace
stat ../target/debug/Firezone.exe
The app's config and logs will be stored at
C:\Users\$USER\AppData\Local\dev.firezone.client.
Platform support
Ubuntu 20.04 and newer is supported.
Tauri says it should work on Windows 10, Version 1803 and up. Older versions may work if you manually install WebView2
x86_64 architecture is supported at this time. See
this issue for aarch64
support.
Threat model
See Security