Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/defguard/client
Best WireGuard desktop client with Multi-Factor Authentication
https://github.com/defguard/client
Last synced: 2 months ago
JSON representation
Best WireGuard desktop client with Multi-Factor Authentication
- Host: GitHub
- URL: https://github.com/defguard/client
- Owner: DefGuard
- Created: 2023-08-28T09:35:17.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-26T08:04:56.000Z (2 months ago)
- Last Synced: 2024-08-26T10:15:18.758Z (2 months ago)
- Language: TypeScript
- Size: 12.1 MB
- Stars: 82
- Watchers: 5
- Forks: 9
- Open Issues: 30
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
- awesome-tauri - Defguard - WireGuard VPN destkop client with Two-factor (2FA) authentication. (Applications / Security)
README
# Defguard desktop client
Desktop client for managing WireGuard VPN connections (any WireGuard server and [defguard](https://github.com/DefGuard/defguard) instances).
![defguard desktop client](https://defguard.net/images/product/client/main-screen.png)
## Features
- Supports any WireGuard server
- Multi-platform - Linux, macOS & Windows
- Detailed network overview - see all details of your connection history and statistics with real-time charts and logs
- Multi-Factor Authentication with TOTP/Email & WireGuard PSK - Since WireGuard protocol doesn't support 2FA, most (if not all) available WireGuard clients use 2FA authorization to the "application" itself (not Wireguard tunnel). When using this client with [defguard VPN & SSO server](https://github.com/DefGuard/defguard) (which is free & open source) you will get real Multi-Factor Authentication using TOTP/Email codes + WireGuard Pre-shared session keys.
- Multiple instances & locations - When combining with [defguard](https://github.com/DefGuard/defguard) VPN & SSO you can have multiple defguard instances (sites/installations) and multiple Locations (VPN tunnels in that location/site) in one client! If you are an admin/devops - all your customers (instances) and all their tunnels (locations) can be in one place!
- Fast! - Built with Rust, [tauri](https://tauri.app/) and [React.js](https://react.dev/).To learn more about the system see our [documentation](https://defguard.gitbook.io).
## Development
### Tauri requirements
Make sure to install prerequisites from [tauri](https://tauri.app/v1/guides/getting-started/prerequisites/).
### Proto submodule
Make sure you have cloned, and up to date, proto submodule in `src-tauri/proto`### Protoc compiler
Make sure you have [protoc](https://grpc.io/docs/protoc-installation/) available.### Install pnpm and node deps
```bash
pnpm install
```### Dev server command
```bash
pnpm tauri dev
```### Build command
```bash
pnpm tauri build
```
Built packages are available after in `src-tauri/target/release/bundle`.### Windows
Remove `default-run` line from `[package]` section in `Cargo.toml` to build the project.
# Built and sponsored by
# Legal
WireGuard® is [registered trademarks](https://www.wireguard.com/trademark-policy/) of Jason A. Donenfeld.# Known issues
## Failed to bundle project
`pnpm tauri build` may fail with error: `Error failed to bundle project: error running appimage.sh`. To
fix this set the NO_STRIP environment variable:```
NO_STRIP=1 pnpm tauri build
```## Blank screen
The app launches but the window is blank. Set the `WEBKIT_DISABLE_DMABUF_RENDERER` environment variable:
```
WEBKIT_DISABLE_DMABUF_RENDERER=1 defguard-client
```