defguard
  • Welcome
  • Getting help
  • About
    • About defguard
    • Features overview
  • Getting started
    • One-line install script
  • Admin Features
    • Overview
    • Zero-Trust VPN with 2FA/MFA
      • Create/manage VPN Location
      • Network overview
      • Executing custom gateway commands
      • Multi-Factor Authentication (MFA/2FA)
        • MFA Architecture
      • Remote desktop client configuration
      • DNS and domains
    • Remote user enrollment
      • User onboarding after enrollment
    • SSO (OpenID Connect)
      • Portainer
      • Grafana setup
      • Proxmox
      • Matrix / Synapse
      • Django
      • MinIO
      • Vault
    • SMTP for email notifications
    • YubiKey Provisioning
    • Webhooks
    • Forward auth
    • SSH Authentication
    • Network devices
    • Activity & Audit logs
    • Gateway notifications
    • New version notifications
  • User features
    • Overwiew
    • Desktop Client
    • CLI Client
    • Configuring VPN
      • Defguard Desktop Client
        • Update instance
      • Other WireGuard® Clients
        • Configuring a device for new VPN Location manually
    • Password change / Reset
    • Enrollment & Onboarding
      • With internal Defguard SSO
      • With external SSO (Google/Microsoft/Custom)
    • Setting up 2FA/MFA
  • Enterprise Features
    • Overview
    • Enteprise features
      • Automatic (real time) desktop client configuration & sync
      • External OpenID providers
        • Google
        • Microsoft
        • Zitadel
        • Keycloak
        • JumpCloud
        • Okta
        • Custom
      • External OIDC secure enrollment
      • VPN & Client behavior customization
      • Access Control List
        • ACL Aliases
        • Implementation Details
      • Audit Log Streaming to SIEM systems
        • Supported SIEM systems integrations
          • Vector integration guide
          • Logstash integration guide
      • LDAP and Active Directory integration
        • Configuration
        • Settings table
        • Two-way LDAP and Active Directory synchronization
      • REST API
  • Deployment strategies
    • Prerequisites
    • Standalone package based installation
    • Docker images and tags
    • Docker Compose
    • Kubernetes
    • Terraform
    • High Availability and Failover
    • Upgrading
    • Pre-production and development releases
    • Gateway
      • Running gateway on MikroTik routers
  • Securing gRPC communication
  • OpenID RSA key
  • Health check
  • Configuration
  • Tutorials
    • Step by step setting up a VPN server
      • Adding additional VPN locations
  • In depth
    • Architecture
      • How do VPN statistics work
      • Security concepts
    • Roadmap
    • Release cycle
  • For Developers
    • Contributing
    • Environment setup
      • Translations (core/web)
        • Switching language
        • Adding translations
      • Translations (client)
        • Adding translations
  • Resources
    • Troubleshooting Guide
      • Sending support information
      • Client Windows installer exit codes
      • Client "All traffic" connection issues
      • WebAuthn security keys
Powered by GitBook
On this page
  • Overview
  • Windows
  • MacOS
  • Linux
  • Ubuntu
  • Client update

Was this helpful?

Edit on GitHub
  1. User features

Desktop Client

Overview

Desktop client provides an easy way to access VPN locations of multiple Defguard instances via user-friendly UI.

Download latest release here: https://defguard.net/download/

For development/pre-relases go to github: https://github.com/DefGuard/client/releases

Windows

Our desktop client has bundled official WireGuard client - as we use wg.exe to manage the WireGuard tunnels.

If you have the official WireGuard client installed - defguard client installation may fail.

MacOS

Has no external requirements and we have wireguard-go bundled.

Linux

On Linux the desktop client uses resolvconf to manage DNS servers. On newer distributions it should be a symbolic link to resolvectl, more details can be found on the troubleshooting page.

Ubuntu

Ubuntu 24

The libwebkit2gtk-4.0 library which our client depends on is not available in the default apt package repositories on Ubuntu 24.04 (there is only libwebkit2gtk-4.1 which doesn't work with current client). Client installation is still possible, but requires using some workarounds:

To safely install a package from Ubuntu Jammy repositories without breaking your system:

  1. Add Jammy Repo:

    • Open /etc/apt/sources.list:

      sudo nano /etc/apt/sources.list
    • Add the Jammy repository with [arch=amd64] for your architecture:

      deb [arch=amd64] http://archive.ubuntu.com/ubuntu/ jammy main universe
    • Save and exit.

  2. Pin the Jammy Repo with low priority:

    • Create /etc/apt/preferences.d/jammy.pref:

      sudo nano /etc/apt/preferences.d/jammy.pref
    • Add the following:

      Package: *
      Pin: release n=jammy
      Pin-Priority: -10
    • Save and exit.

  3. Install the Specific Package:

    sudo apt update
    sudo apt install -t jammy libwebkit2gtk-4.0
  4. Optionaly: Remove Jammy Repo After Use: Delete or comment out the Jammy entry in /etc/apt/sources.list.

ArchLinux

There is an AUR package: defguard-client.

If you don't know how to install AUR packages, please follow these guidlines:

  • Manual install: https://wiki.archlinux.org/title/Arch_User_Repository

  • Installation through PARU (AUR Helper): https://owlhowto.com/how-to-install-paru-on-arch-linux/

Client update

Defguard Client regularly checks for updates and in order to do so operating system name and installed application version are sent to the Defguard update service.

This functionality can be turned off in the Client settings under Updates section so that no data is sent.

If a new version is available, a notification with a download button will be shown near the bottom of the menu.

PreviousOverwiewNextCLI Client

Last updated 6 months ago

Was this helpful?

"Check for updates" setting
New Desktop Client version available for download