Thanks to visit codestin.com
Credit goes to github.com

Skip to content

MeXenon/WG-Go

 
 

Repository files navigation

Tip

🎉 I'm excited to announce that WGDashboard is officially listed on DigitalOcean's Marketplace! For more information, please visit Host WGDashboard & WireGuard with DigitalOcean for more information!

Note

Help Wanted 🎉: Localizing WGDashboard to other languages! If you're willing to help, please visit WGDashboard#397. Many thanks!

WGDashboard

wakatime

This project is supported by

Monitoring WireGuard is not convenient, in most case, you'll need to login to your server and type wg show. That's why this project is being created, to view and manage all WireGuard configurations in a easy way.

With all these awesome features, while keeping it easy to install and use

This project is not affiliate to the official WireGuard Project

Looking for help or want to chat about this project?

You can reach out at

Want to support this project?

You can support via

or, visit our merch store and support us by purchasing a merch for only $USD 17.00 (Including shipping worldwide & duties)


for more information, visit our

Screenshots

Simultaneous connection limits

WG-Go extends WGDashboard with per-peer connection limiting. When editing or creating a peer you can now choose:

  • Simultaneous Connections – a number input where 0 or blank means unlimited.
  • Policy – whether the newest endpoint displaces existing traffic (new_wins) or the existing connection is retained (old_wins).

The limiter daemon polls wg show ... dump every second to track active endpoints. A session is counted while its handshake is fresher than the configured TTL (default 180 seconds) and remains briefly during the 5 second grace window to avoid flapping while devices roam. Enforcement happens through nftables (or iptables/ipset if nft is unavailable) by only allowing the permitted endpoint/port tuples.

The daemon stores live session information that the API exposes via:

  • GET /api/peers/<config>/<peer>/limits – returns the effective settings plus the number of allowed sessions.
  • PUT /api/peers/<config>/<peer>/limits – updates the limit for a peer.
  • GET /api/peers/<config>/<peer>/usage – lists active endpoints together with handshake ages and traffic deltas.

To run the limiter alongside the dashboard install the provided wg-go-limiter.service systemd unit (adjust the WorkingDirectory and ExecStart paths to match your installation) and enable it with systemctl enable --now wg-go-limiter. The service requires CAP_NET_ADMIN and CAP_NET_RAW in order to update firewall rules.

About

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Vue 57.0%
  • Python 32.9%
  • JavaScript 3.8%
  • CSS 3.0%
  • Shell 2.7%
  • Dockerfile 0.4%
  • HTML 0.2%