|
1 | | -# Defguard Mobile - WireGuard VPN mobile client |
| 1 | +# Defguard website |
2 | 2 |
|
3 | | -The **DefGuard Mobile Client** is a secure, self-hosted **WireGuard VPN mobile client** designed for enterprise and personal use. It enables seamless management of WireGuard® VPN tunnels on the go with enhanced security through **multi-factor authentication (MFA)**, including biometrics, TOTP, and external SSO providers like Google, Okta, and Microsoft EntraID. |
| 3 | +Defguard website built on [Astro](https://astro.build)! |
4 | 4 |
|
5 | | -This open-source, cross-platform VPN app supports easy QR code onboarding and flexible traffic routing to meet diverse secure remote access needs. DefGuard is part of a modular ecosystem built for VPN orchestration and identity management . Defguard provides a mobile VPN client with biometrics and TOTP. |
| 5 | +## Editing content |
6 | 6 |
|
7 | | -## Key Features |
8 | | -- Secure **WireGuard VPN mobile client** with **Multi-Factor Authentication (MFA)** |
9 | | -- Internal SSO/OIDC support with biometrics, TOTP, email verification |
10 | | -- External SSO support: Google, Okta, Microsoft EntraID, JumpCloud, and more |
11 | | -- Quick and easy onboarding via secure **QR code VPN onboarding** or URL/token |
12 | | -- Flexible traffic routing: all traffic via VPN or selective routing |
13 | | -- Real-time synchronization of VPN configurations with the DefGuard server |
14 | | -- Native **cross-platform VPN app** support for **Android VPN client** and iOS VPN client |
15 | | -- Fully **self-hosted VPN solution** for ultimate privacy and control |
16 | | -- Open-source codebase for transparency and customization |
| 7 | +Most of the content is written in HTML but some parts ware made with ease of configuration in mind. |
17 | 8 |
|
18 | | -## Screenshots |
| 9 | +### JSON |
19 | 10 |
|
20 | | -<img width="250" alt="Add instancje QR" src="https://github.com/user-attachments/assets/32cfd409-6b57-47f6-a817-b4dd4603d8ad" /> |
21 | | -<img width="250" alt="Add instance token" src="https://github.com/user-attachments/assets/2f18b47d-f57d-487d-9f2a-23a972d9bcab" /> |
22 | | -<img width="250" alt="Traffic routing options" src="https://github.com/user-attachments/assets/c3ead16b-95e8-40cf-8f47-26e9bf861bcb" /> |
23 | | -<img width="250" alt="MFA external" src="https://github.com/user-attachments/assets/c959c1c2-e26c-4605-92a9-54d2788273a9" /> |
24 | | -<img width="250" alt="Instance list" src="https://github.com/user-attachments/assets/8fb7c5ba-4d11-4452-997a-b2bd17b468d0" /> |
25 | | -<img width="250" alt="MFA defguard IdP" src="https://github.com/user-attachments/assets/d08d008e-22f2-4f14-9b1b-db6eccb3c3dc" /> |
| 11 | +Files inside [data](./src/data/) dare written in JSON format and contain configuration such as what items are shown in navigation and footer. Those configs are `data` only and so are not in Markdown |
26 | 12 |
|
| 13 | +### Markdown |
27 | 14 |
|
28 | | -## Getting Started |
| 15 | +Files that build content on website are written in `.mdx` files and are stored in collections within [src/content](./src/content/) directory. |
29 | 16 |
|
30 | | -You need to have a running [Defguard Server](https://github.com/DefGuard/defguard) to use the mobile app. |
| 17 | +### Formatter |
31 | 18 |
|
32 | | -### Install the App |
| 19 | +Every content file begins with special section that defines additional information for that file's context, for example title, order of display etc. |
| 20 | +You can find definitions of this information inside [content.ts](./src/content/config.ts). |
33 | 21 |
|
34 | | -Join closed beta for iOS or Android. |
| 22 | +## Content editing notes |
35 | 23 |
|
36 | | -#### Android |
37 | | -- Download from [Google Play](https://play.google.com/store/apps/details?id=net.defguard.mobile) |
| 24 | +### Pricing |
38 | 25 |
|
39 | | -#### iOS |
40 | | -- Available soon on the [App Store](https://testflight.apple.com/join/Jvdhkt7h) |
| 26 | +Pricing is a special case where we need to render MDX directly on client side only, this means importing any components in pricing collection is forbidden because it will not work. Raw HTML is still OK since we render it through rehype-raw. |
41 | 27 |
|
42 | | -Documentation available at : [https://docs.defguard.net/help/mobile-client](https://docs.defguard.net/help/mobile-client) |
| 28 | +## Editor recommendation |
43 | 29 |
|
44 | | -## About DefGuard |
45 | | -DefGuard is a comprehensive platform offering **secure remote access**, **identity management**, and VPN orchestration with a focus on security using **multi-factor authentication for VPN**. |
| 30 | +[VSCode](https://code.visualstudio.com/download) is by far the easiest to setup. |
46 | 31 |
|
47 | | -Visit defguard.net for more information. |
| 32 | +### Recommended extensions |
| 33 | + |
| 34 | +To get syntax highlights and all the good stuff, first you need to have installed Node.js and dependencies for this project installed, look in `Development` section. |
| 35 | + |
| 36 | +Extensions to install: |
| 37 | + |
| 38 | +- [Astro](https://marketplace.visualstudio.com/items?itemName=astro-build.astro-vscode) |
| 39 | +- [Eslint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) |
| 40 | +- [MDX](https://marketplace.visualstudio.com/items?itemName=unifiedjs.vscode-mdx) |
| 41 | + |
| 42 | +## Development |
| 43 | + |
| 44 | +### Installing Node.js |
| 45 | + |
| 46 | +Version of Node.js should be the same Major as the one specified in [.nvmrc](./.nvmrc) file. |
| 47 | + |
| 48 | +#### Official source |
| 49 | + |
| 50 | +Follow instructions from [official site](https://nodejs.org/en/download/package-manager). |
| 51 | + |
| 52 | +#### Node version manager (NVM)(Recommended for development) |
| 53 | + |
| 54 | +Supports using dirreferent version of Node.js for each project. |
| 55 | + |
| 56 | +- [Windows](https://github.com/coreybutler/nvm-windows) |
| 57 | +- [Mac/Linux](https://github.com/nvm-sh/nvm) |
| 58 | + |
| 59 | +After correct install, in root of the project use (once): |
| 60 | + |
| 61 | +```bash |
| 62 | +nvm install |
| 63 | +``` |
| 64 | + |
| 65 | +And then: |
| 66 | + |
| 67 | +```bash |
| 68 | +nvm use |
| 69 | +``` |
| 70 | + |
| 71 | +### Installing dependencies |
| 72 | + |
| 73 | +Make sure package manager pnpm is installed. |
| 74 | +If not use this command to install it: |
| 75 | + |
| 76 | +```bash |
| 77 | +npm i -g pnpm |
| 78 | +``` |
| 79 | + |
| 80 | +Then run install dependencies with: |
| 81 | + |
| 82 | +```bash |
| 83 | +pnpm install |
| 84 | +``` |
| 85 | + |
| 86 | +And then run development server with: |
| 87 | + |
| 88 | +```bash |
| 89 | +pnpm dev |
| 90 | +``` |
| 91 | + |
| 92 | +### Building project |
| 93 | + |
| 94 | +With correct Node.js environment run: |
| 95 | + |
| 96 | +```bash |
| 97 | +pnpm build |
| 98 | +``` |
| 99 | + |
| 100 | +After that, built project should be in `dist` directory inside project root. |
0 commit comments