- The Best WireGuard® desktop client
+ The Best WireGuard®
desktop client
Beautiful open-source, cross-platform client, with real
WireGuard® 2FA/Multi-Factor Authentication.
diff --git a/src/pages/download-confirm.astro b/src/pages/download-confirm.astro
index fd65ad78..438e62c9 100644
--- a/src/pages/download-confirm.astro
+++ b/src/pages/download-confirm.astro
@@ -66,7 +66,7 @@ const tags = [
-
+
-
+
- Defguard’s Access Control Lists grant each user precisely the access they
+ Defguard's Access Control Lists grant each user precisely the access they
need—no more, no less—while staying in sync with your identity provider.
@@ -261,7 +264,7 @@ const tags = [
>
- Choose from Docker, Kubernetes, or traditional package installers. You’re in
+ Choose from Docker, Kubernetes, or traditional package installers. You're in
control of your hardware and infrastructure choices. Perfect for on-premise
infrastructure and Private Cloud.
@@ -365,10 +368,10 @@ const tags = [
@@ -417,14 +420,16 @@ const tags = [
}
.learn-more-link {
- display: inline-block;
- padding: 0.75rem 1.5rem;
- background-color: var(--primary-button-bg, #0c8ce0);
- color: var(--primary-button-text, white);
- border-radius: 6px;
- font-weight: 600;
- text-decoration: none;
- transition: background-color 0.2s ease-in-out;
+ @include typography(paragraph);
+ display: inline-block;
+ padding: 0.75rem 1.5rem;
+ background-color: var(--primary-button-bg, #0c8ce0);
+ color: var(--primary-button-text, white);
+ border-radius: 50px;
+ font-weight: 300;
+ font-size: calc(1rem * var(--font-scale-factor));
+ text-decoration: none;
+ transition: background-color 0.2s ease-in-out;
&:hover {
background-color: var(--primary-button-hover, #0a7bc5);
diff --git a/src/pages/press.astro b/src/pages/press.astro
index c741d55c..4b36864b 100644
--- a/src/pages/press.astro
+++ b/src/pages/press.astro
@@ -266,7 +266,7 @@ const tags = [
h1 {
color: var(--text-body-primary);
padding-bottom: 40px;
- max-width: 996px;
+ //max-width: 996px;
text-align: center;
text-wrap: balance;
margin: 0 auto !important;
@@ -328,7 +328,7 @@ const tags = [
padding: 0.75rem 1.5rem;
background-color: var(--primary-button-bg, #0c8ce0);
color: var(--primary-button-text, white);
- border-radius: 6px;
+ border-radius: 50px;
font-weight: 600;
text-decoration: none;
transition: background-color 0.2s ease-in-out;
diff --git a/src/pages/server.astro b/src/pages/server.astro
new file mode 100644
index 00000000..fa9e09f5
--- /dev/null
+++ b/src/pages/server.astro
@@ -0,0 +1,535 @@
+---
+import Navigation from "../components/base/Navigation.astro";
+import HomeSection from "../components/home/HomeSection.astro";
+import ProductLayout from "../layouts/ProductLayout.astro";
+import Testimonials from "./_home/components/client-side/Testimonials/Testimonials";
+import type { TestimonialData } from "./_home/components/client-side/Testimonials/type";
+import { testimonialSchema } from "./_home/components/client-side/Testimonials/type";
+import FlexibleIdentitySection from "./_home/components/FlexibleIdentity/FlexibleIdentitySection.astro";
+import HomeHeader from "./_home/components/HomeHeader.astro";
+import Roadmap from "./_home/components/Roadmap/Roadmap.astro";
+import FlexibleSection from "../components/FlexibleSection.astro";
+import ServerSidebar from "../components/server/ServerSidebar.astro";
+import signinwith from "/public/images/data/signinwith.png";
+import enrollment from "/public/images/data/enrollment-screen.png";
+import api from "/public/images/data/api.png";
+import Image from "astro/components/Image.astro";
+import YouTubeVideo from "../components/video/YouTubeVideo.astro";
+import CTASection from "../components/CTASection.astro";
+import ImageCarousel from "../components/image/ImageCarousel.astro";
+import ImageURL from "../components/image/ImageURL.astro"
+
+const testimonialsImportData = await Astro.glob("../data/home/testimonials/**/*.md");
+
+const testimonialsData: Array
= testimonialsImportData.map((val) => {
+ const toValidate = { ...val.frontmatter, markdownRaw: val.rawContent() };
+ const res = testimonialSchema.parse(toValidate);
+ return res;
+});
+
+const title = "Enterprise WireGuard® VPN with Native MFA & Zero-Trust Architecture";
+const featuredImage =
+ "github.com/DefGuard/defguard.github.io/raw/main/public/images/product/core/hero-image.png";
+const imageWidth = "1920";
+const imageHeight = "1080";
+const url = "https://defguard.net/server";
+const tags = [
+ "defguard",
+ "server",
+ "WireGuard®",
+ "vpn",
+ "mfa",
+ "2fa",
+ "WireGuard®",
+ "ldap",
+ "openldap",
+ "postgresql",
+ "postgres",
+ "openid",
+ "totp",
+ "webauthn",
+ "opensense",
+ "freebsd",
+ "rust",
+ "secure",
+ "docker",
+ "kubernetes",
+ "k8s",
+];
+
+const sections = [
+ { id: "multiple-vpns", title: "Manage Multiple VPNs" },
+ { id: "multiple-instances", title: "Deploy Multiple Instances" },
+ { id: "true-mfa", title: "True 2FA/MFA on WireGuard®" },
+ { id: "sso-integration", title: "SSO & Directory Integration" },
+ { id: "firewall-management", title: "Built-in Firewall Management" },
+ { id: "instant-updates", title: "Instant Configuration Updates" },
+ { id: "audit-trail", title: "Full Audit Trail & SIEM" },
+ { id: "user-enrollment", title: "Remote User Enrollment" },
+ { id: "secure-architecture", title: "Secure, Isolated Architecture" },
+ { id: "yubikey-management", title: "YubiKey Management" },
+ { id: "oidc-sso", title: "Built-in OIDC SSO" },
+ { id: "easy-deployment", title: "Easy Deployment" },
+ { id: "api-webhooks", title: "Full REST API & Webhooks" },
+ { id: "rust-security", title: "Built with Rust" },
+];
+---
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ View all user activity and statistics at a glance on a unified dashboard, or dive into detailed views for each location.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Defguard is uniquely designed for MSPs, cloud providers, and data centers. It allows deployment of multiple isolated Defguard instances (for different clients, sites, etc.) while maintaining unified access through a single desktop app.
+
+
+ Mobile support coming in version 1.5!
+
+
+
+
+
+
+
+ - Each connection can require 2FA/MFA—using either the built-in Defguard IdP or external SSO providers like Google, Microsoft, Okta, and others—enabling true Zero Trust security.
+
+ - Adhering to the highest security standards — VPN peers are configured only after successful 2FA/MFA, and session-based, randomly generated WireGuard® pre-shared keys are used to maximize security
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Defguard supports user and group synchronization with providers like Google, Microsoft, Okta, and JumpCloud, making onboarding and offboarding easy. It also uniquely enables two-way sync with Active Directory and LDAP.
+
+
+
+
+
+
+
+ Defguard, in addition to access rules for VPN based on selected users and groups, is the only solution that also offers low-level ACLs by managing the firewall (NFTables on Linux and Packet Filter on FreeBSD/OPNSense).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Defguard enables real-time synchronization and configuration of client applications used by users. Any changes in VPN configuration or access management are immediately reflected on the user side. Additionally, it allows managing client behavior (e.g., enabling full traffic routing through the VPN or blocking certain features of the client).
+
+
+
+
+
+
+
+ Defguard supports full auditability and provides detailed visibility into user activity, including information such as time and date, IP addresses, and event descriptions, along with extensive search and filtering capabilities. It also enables exporting complete activity logs to external SIEM systems.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Whether Defguard acts as an IdP or uses an external IdP/SSO, it provides a very easy and secure enrollment process and supports onboarding by displaying and sending administrator-prepared information templates to new users.
+
+
+
+
+
+
+ - Defguard features a secure and robust architecture, with components and microservices that can be seamlessly deployed in diverse network setups (e.g., utilizing network segments like Demilitarized Zones, Intranet with no external access, etc.), ensuring a secure environment.
+ - When properly deployed with the core placed in an Intranet segment inaccessible from the Internet, no user data is exposed to the public network. The public proxy component is stateless and holds no information about users or devices.
+
+
+
+
+
+
+
+
+
+
+
+
+
Defguard offers a Yubico YubiKey provisioner — a component that initiates and populates user data on YubiKeys by generating SSH keys as well as GPG/OpenPGP keys. It also stores detailed information about each user's key, including the serial number and date of provisioning.
+
+
+
+
+
+
+ Defguard comes with a built-in Identity Provider/SSO based on the OpenID Connect standard, allowing you to replace any existing SSO solution in your organization. Additionally, it supports GPG and SSH key management, as well as forward-auth functionality for systems that do not support OIDC-based SSO.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Defguard offers a variety of deployment methods such as Docker, system packages, Kubernetes, and Terraform, making it easy to integrate into your environment. It also provides a quick way to try it out via a script that automatically sets up and launches a test instance.
+
+
+ See the one-line deploy
+
+
+
+
+
+
+
+ Defguard provides a full REST API for integration, including API key management, as well as webhook functionality for simpler integrations.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Rust prevents memory bugs at compile time — eliminating entire classes of vulnerabilities before they reach production.
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/styles/global.scss b/src/styles/global.scss
index 2c096f3d..03e74fec 100644
--- a/src/styles/global.scss
+++ b/src/styles/global.scss
@@ -48,7 +48,7 @@ body {
"Open Sans",
"Helvetica Neue",
sans-serif;
- font-size: 20px;
+ font-size: calc(18px * var(--font-scale-factor));
font-weight: 400;
color: var(--text-body-primary);
min-height: 100dvh;
diff --git a/src/styles/mixins/_typography.scss b/src/styles/mixins/_typography.scss
index 52e729e7..c3336271 100644
--- a/src/styles/mixins/_typography.scss
+++ b/src/styles/mixins/_typography.scss
@@ -24,32 +24,32 @@
@if $key == "paragraph" {
font-weight: 300;
- @include font-scalable(20px);
+ @include font-scalable(18px);
}
@if $key == "title" {
font-weight: 400;
line-height: 105%;
- @include font-scalable(80px);
+ @include font-scalable(72px);
@include break-down(md) {
- @include font-scalable(65px);
+ @include font-scalable(56px);
}
}
@if $key == "section" {
font-weight: 400;
- @include font-scalable(48px);
+ @include font-scalable(32px);
}
@if $key == "menu" {
font-weight: 300;
- @include font-scalable(18px);
+ @include font-scalable(16px);
}
@if $key == "h2" {
font-weight: 300;
- @include font-scalable(24px);
+ @include font-scalable(22px);
}
@if $key == "h3" {