MCPcopy
hub / github.com/wg-easy/wg-easy

github.com/wg-easy/wg-easy @v15.3.0 sqlite

repository ↗ · DeepWiki ↗ · release v15.3.0 ↗
163 symbols 567 edges 104 files 22 documented · 13%
README

WireGuard Easy

Build & Publish latest Image Lint GitHub Stars License GitHub Release Image Pulls

You have found the easiest way to install & manage WireGuard on any Linux host!

wg-easy Screenshot

Features

  • All-in-one: WireGuard + Web UI.
  • Easy installation, simple to use.
  • List, create, edit, delete, enable & disable clients.
  • Show a client's QR code.
  • Download a client's configuration file.
  • Statistics for which clients are connected.
  • Tx/Rx charts for each connected client.
  • Gravatar support.
  • Automatic Light / Dark Mode
  • Multilanguage Support
  • One Time Links
  • Client Expiration
  • Prometheus metrics support
  • IPv6 support
  • CIDR support
  • 2FA support
  • Per-client firewall filtering (requires iptables)

[!NOTE] To better manage documentation for this project, it has its own site here: https://wg-easy.github.io/wg-easy/latest

[!NOTE] If you want to migrate from the old version to the new version, you can find the migration guide here: Migration Guide

Installation

This is a quick start guide to get you up and running with WireGuard Easy.

For a more detailed installation guide, please refer to the Getting Started page.

1. Install Docker

If you haven't installed Docker yet, install it by running as root:

curl -sSL https://get.docker.com | sh
exit

And log in again.

2. Run WireGuard Easy

The easiest way to run WireGuard Easy is with Docker Compose.

Just follow these steps in the detailed documentation.

You can also install WireGuard Easy with the docker run command or via podman.

Now setup a reverse proxy to be able to access the Web UI securely from the internet. This step is optional, just make sure to follow the guide here if you decide not to do it.

Donate

Are you enjoying this project? Consider donating.

Founder: Buy Emile a beer! 🍻

Maintainer: Buy kaaax0815 a coffee!

Development

Prerequisites

  • Docker
  • Node LTS & corepack enabled
  • Visual Studio Code

Dev Server

This starts the development server with docker

pnpm dev

Update Auto Imports

If you add something that should be auto-importable and VSCode complains, run:

cd src
pnpm install
cd ..

Test Cli

This starts the cli with docker

pnpm cli:dev

License

This project is licensed under the AGPL-3.0-only License - see the LICENSE file for details

This project is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Jason A. Donenfeld, ZX2C4 or Edge Security

"WireGuard" and the "WireGuard" logo are registered trademarks of Jason A. Donenfeld

Core symbols most depended-on inside this repo

t
called by 73
src/server/utils/types.ts
get
called by 30
src/server/database/repositories/user/service.ts
exec
called by 27
src/server/utils/cmd.ts
definePermissionEventHandler
called by 24
src/server/utils/handler.ts
validateZod
called by 24
src/server/utils/types.ts
update
called by 19
src/server/database/repositories/user/service.ts
saveConfig
called by 10
src/server/utils/WireGuard.ts
isPasswordValid
called by 7
src/server/utils/password.ts

Shape

Function 81
Method 64
Class 18

Languages

TypeScript100%

Modules by API surface

src/server/utils/WireGuard.ts18 symbols
src/server/database/repositories/client/service.ts15 symbols
src/server/database/repositories/user/service.ts14 symbols
src/server/utils/firewall.ts10 symbols
src/server/database/repositories/general/service.ts10 symbols
src/server/database/repositories/interface/service.ts9 symbols
src/server/database/repositories/oneTimeLink/service.ts8 symbols
src/server/utils/ip.ts7 symbols
src/server/database/sqlite.ts7 symbols
src/server/database/repositories/userConfig/service.ts7 symbols
src/shared/utils/permissions.ts6 symbols
src/server/database/repositories/hooks/service.ts6 symbols

Dependencies from manifests, versioned

@eschricht/nuxt-color-mode1.2.0 · 1×
@heroicons/vue2.2.0 · 1×
@libsql/client0.17.3 · 1×
@nuxt/eslint1.15.2 · 1×
@nuxt/test-utils4.0.3 · 1×
@nuxtjs/i18n10.3.0 · 1×
@nuxtjs/tailwindcss6.14.0 · 1×
@phc/format1.0.0 · 1×
@pinia/nuxt0.11.3 · 1×
@tailwindcss/forms0.5.11 · 1×
@types/phc__format1.0.1 · 1×
@types/semver7.7.1 · 1×

For agents

$ claude mcp add wg-easy \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact