Netmaker makes networks with WireGuard. Netmaker automates fast, secure, and distributed virtual networks.
Find a file
Vishal Dalwadi 3551e8e24e
NET-1996: Add Support for TOTP Authentication. (#3517)
* feat(git): ignore run configurations;

* feat(go): add support for TOTP authentication;

* fix(go): api docs;

* fix(go): static checks failing;

* fix(go): ignore mfa enforcement for user auth;

* feat(go): allow resetting mfa;

* feat(go): allow resetting mfa;

* feat(go): use library function;

* fix(go): signature;

* feat(go): allow only master user to unset user's mfa;

* feat(go): set caller when master to prevent panic;

* feat(go): make messages more user friendly;

* fix(go): run go mod tidy;

* fix(go): optimize imports;

* fix(go): return unauthorized on token expiry;

* fix(go): move mfa endpoints under username;

* fix(go): set is mfa enabled when converting;

* feat(go): allow authenticated users to use preauth apis;

* feat(go): set correct header value;

* feat(go): allow super-admins and admins to unset mfa;

* feat(go): allow user to unset mfa if not enforced;
2025-06-26 08:29:13 +05:30
.github Build(deps): bump dawidd6/action-download-artifact from 9 to 11 2025-06-17 01:11:12 +00:00
auth sync changes on startup, add create relay calls on defaul host 2025-06-23 06:28:43 +05:30
cli remove duplicate cli table pkg 2025-06-24 07:11:46 +05:30
compose v0.99.0 Release Notes (#3489) 2025-06-06 17:29:11 +05:30
config Merge pull request #3504 from gravitl/depracate-rac-autodisable 2025-06-24 23:43:44 +05:30
controllers NET-1996: Add Support for TOTP Authentication. (#3517) 2025-06-26 08:29:13 +05:30
database feat(go): skip setting open connections; 2025-06-10 15:26:42 +05:30
db feat(go): use the same schema; 2025-06-10 10:18:30 +05:30
docker Simplify and unify apk usage in Dockerfiles (#3407) 2025-04-30 02:55:34 +04:00
docs fix: update documentation links to new docs (#3156) 2024-10-17 14:35:36 +04:00
functions fix(go): workflow errors fixes; 2025-06-06 15:42:30 +05:30
k8s v0.99.0 Release Notes (#3489) 2025-06-06 17:29:11 +05:30
logger ee license check 2023-04-12 10:45:06 -04:00
logic NET-1996: Add Support for TOTP Authentication. (#3517) 2025-06-26 08:29:13 +05:30
migrate fix merge conflicts 2025-06-24 17:00:43 +05:30
models NET-1996: Add Support for TOTP Authentication. (#3517) 2025-06-26 08:29:13 +05:30
mq avoid setting nil endpoint if peer using internet gw (#3529) 2025-06-25 19:17:57 +05:30
netclient/ncutils load all nodes into cache 2024-11-27 14:56:24 +04:00
nginx remove references to grpc/comms net 2022-04-21 15:53:44 -04:00
pro Merge pull request #3504 from gravitl/depracate-rac-autodisable 2025-06-24 23:43:44 +05:30
schema feat(go): add access token count to ReturnUser model; 2025-06-23 22:43:39 +05:30
scripts Merge pull request #3504 from gravitl/depracate-rac-autodisable 2025-06-24 23:43:44 +05:30
servercfg Merge pull request #3504 from gravitl/depracate-rac-autodisable 2025-06-24 23:43:44 +05:30
serverctl NET-1933: option to force destroy network (#3311) 2025-02-03 15:19:44 +04:00
test remove agentbackend 2023-02-20 02:22:48 -07:00
tls initial changes to make cert <-> broker comms work 2022-07-05 15:04:45 -04:00
utils fix: update extclient ingress endpoint/port with host changes 2025-06-20 11:21:28 +00:00
validation merge conflicts resolved 2022-09-26 17:47:20 +05:30
.dockerignore NET-163: Return 403 instead of 401 (#2326) 2023-05-25 09:40:39 -04:00
.fpm add rpms 2022-03-09 15:28:39 -05:00
.gitignore NET-1996: Add Support for TOTP Authentication. (#3517) 2025-06-26 08:29:13 +05:30
.goreleaser.prerelease.yaml Net 792 remove freebsd (#2735) 2024-01-16 20:19:08 +05:30
.goreleaser.update.yaml cleanup 2023-02-25 08:03:16 -05:00
.goreleaser.yaml Net 792 remove freebsd (#2735) 2024-01-16 20:19:08 +05:30
.swaggo add format int64 for swagger doc (#3247) 2024-12-12 09:52:52 +04:00
CONTRIBUTING.md
dev.yaml remove grpc parameters 2023-02-20 09:09:26 -07:00
Dockerfile Bump alpine from 3.21.3 to 3.22.0 2025-06-02 23:57:40 +00:00
Dockerfile-quick Bump alpine from 3.21.3 to 3.22.0 2025-06-02 23:57:40 +00:00
go.mod NET-1996: Add Support for TOTP Authentication. (#3517) 2025-06-26 08:29:13 +05:30
go.sum NET-1996: Add Support for TOTP Authentication. (#3517) 2025-06-26 08:29:13 +05:30
LICENSE.md Change License To Apache (#2597) 2023-09-21 08:26:11 -04:00
main.go feat(go): close the db; 2025-06-10 11:06:39 +05:30
main_ee.go NET-1778: scale test code changes (#3203) 2024-12-10 10:15:31 +04:00
README.md v0.99.0 Release Notes (#3489) 2025-06-06 17:29:11 +05:30
release.md v0.99.0 Release Notes (#3489) 2025-06-06 17:29:11 +05:30
SECURITY.md Update SECURITY.md 2022-11-02 09:10:50 -04:00
swagger.yaml v0.99.0 Release Notes (#3489) 2025-06-06 17:29:11 +05:30

ROSS Index - Fastest Growing Open-Source Startups | Runa Capital Y-Combinator

WireGuard® automation from homelab to enterprise

Create Manage Automate
✔️ WireGuard Networks ✔️ Admin UI ✔️ Linux
✔️ Remote Access Gateways ✔️ OAuth ✔️ Docker
✔️ Mesh VPNs ✔️ Private DNS ✔️ Mac
✔️ Site-to-Site ✔️ Access Control Lists ✔️ Windows

Try Netmaker SaaS

If you're looking for a managed service, you can get started with just a few clicks, visit netmaker.io to create your netmaker server.

Self-Hosted Open Source Quick Start

These are the instructions for deploying a Netmaker server on your cloud VM as quickly as possible. For more detailed instructions, visit the Install Docs.

  1. Get a cloud VM with Ubuntu 24.04 and a static public IP.
  2. Allow inbound traffic on port 443,51821 TCP and UDP to the VM firewall in cloud security settings, and for simplicity, allow outbound on All TCP and All UDP.
  3. (recommended) Prepare DNS - Set a wildcard subdomain in your DNS settings for Netmaker, e.g. *.netmaker.example.com, which points to your VM's public IP.
  4. Run the script to setup open source version of Netmaker:

sudo wget -qO /root/nm-quick.sh https://raw.githubusercontent.com/gravitl/netmaker/master/scripts/nm-quick.sh && sudo chmod +x /root/nm-quick.sh && sudo /root/nm-quick.sh

To Install Self-Hosted PRO Version - https://docs.netmaker.io/docs/server-installation/netmaker-professional-setup

After installing Netmaker, check out the Walkthrough and Getting Started guides to learn more about configuring networks. Or, check out some of our other Tutorials for different use cases, including Kubernetes.

Get Support

Why Netmaker + WireGuard?

  • Netmaker automates virtual networks between data centres, clouds, and edge devices, so you don't have to.

  • Kernel WireGuard offers maximum speed, performance, and security.

  • Netmaker is built to scale from small businesses to enterprises.

  • Netmaker with WireGuard can be highly customized for peer-to-peer, site-to-site, Kubernetes, and more.

Community Projects

Disclaimer

WireGuard is a registered trademark of Jason A. Donenfeld.

License

Netmaker's source code and all artifacts in this repository are freely available. All content that resides under the "pro/" directory of this repository, if that directory exists, is licensed under the license defined in "pro/LICENSE". All third party components incorporated into the Netmaker Software are licensed under the original license provided by the owner of the applicable component. Content outside of the above mentioned directories or restrictions above is available under the "Apache Version 2.0" license as defined below. All details for the licenses used can be found here: LICENSE.md.