All Projects β†’ EmbarkStudios β†’ Wg Ui

EmbarkStudios / Wg Ui

Licence: other
WireGuard Web UI for self-serve client configurations, with optional auth.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Wg Ui

Svelte Firebase
A template to help you start developing SPAs with Svelte and Firebase.
Stars: ✭ 111 (-83.91%)
Mutual labels:  hacktoberfest, svelte
Ajari Koding
πŸ“š Kumpulan berbagai sumber daya untuk belajar koding dari hasil karya para kreator lokal yang terpercaya dan telah dikurasi oleh komunitas PHPID
Stars: ✭ 156 (-77.39%)
Mutual labels:  hacktoberfest, svelte
Svelte Preprocess
A ✨ magical ✨ Svelte preprocessor with sensible defaults and support for: PostCSS, SCSS, Less, Stylus, Coffeescript, TypeScript, Pug and much more.
Stars: ✭ 970 (+40.58%)
Mutual labels:  hacktoberfest, svelte
Revelt
Analysis of a project using React and Svelte technologies
Stars: ✭ 20 (-97.1%)
Mutual labels:  hacktoberfest, svelte
Svelte I18n
Internationalization library for Svelte
Stars: ✭ 433 (-37.25%)
Mutual labels:  hacktoberfest, svelte
Sveltejs Forms
Declarative forms for Svelte
Stars: ✭ 163 (-76.38%)
Mutual labels:  hacktoberfest, svelte
Musicplayer
A minimal music player built on electron.
Stars: ✭ 145 (-78.99%)
Mutual labels:  hacktoberfest, svelte
Awesome Privacy
πŸ’‘Limiting personal data leaks on the internet
Stars: ✭ 488 (-29.28%)
Mutual labels:  hacktoberfest, vpn
Parcel Plugin Svelte
A parcel plugin that enables svelte support
Stars: ✭ 214 (-68.99%)
Mutual labels:  hacktoberfest, svelte
Svelte Storybook Tailwind
A starter template for Svelte, TailwindCSS and Storybook. You can easily start your project with this template, instead of wasting time figuring out configurations for each integration.
Stars: ✭ 204 (-70.43%)
Mutual labels:  hacktoberfest, svelte
Glorytun
Multipath UDP tunnel
Stars: ✭ 437 (-36.67%)
Mutual labels:  hacktoberfest, vpn
Obs Web
OBS-web - the easiest way to control OBS remotely
Stars: ✭ 512 (-25.8%)
Mutual labels:  hacktoberfest, svelte
Wallabag
wallabag is a self hostable application for saving web pages: Save and classify articles. Read them later. Freely.
Stars: ✭ 6,392 (+826.38%)
Mutual labels:  hacktoberfest
Node
Mysterium Network Node - official implementation of distributed VPN network (dVPN) protocol
Stars: ✭ 681 (-1.3%)
Mutual labels:  vpn
Git Stats
πŸ€ Local git statistics including GitHub-like contributions calendars.
Stars: ✭ 5,789 (+738.99%)
Mutual labels:  hacktoberfest
Laravel Cors
The laravel-cors package allows you to send Cross-Origin Resource Sharing headers with Laravel middleware configuration.
Stars: ✭ 5,916 (+757.39%)
Mutual labels:  hacktoberfest
Contribute To Open Source
Learn the GitHub workflow by contributing code in a fun simulation project
Stars: ✭ 684 (-0.87%)
Mutual labels:  hacktoberfest
Tslint To Eslint Config
Converts your TSLint configuration to the closest possible ESLint equivalent. πŸš€
Stars: ✭ 680 (-1.45%)
Mutual labels:  hacktoberfest
Fabric Sdk Node
Hyperledger Fabric SDK for Node https://wiki.hyperledger.org/display/fabric
Stars: ✭ 676 (-2.03%)
Mutual labels:  hacktoberfest
Deck
πŸ—‚ Kanban-style project & personal management tool for Nextcloud, similar to Trello
Stars: ✭ 675 (-2.17%)
Mutual labels:  hacktoberfest

WireGuard UI

Build Status Embark Contributor Covenant

A basic, self-contained management service for WireGuard with a self-serve web UI.
Current stable release: v1.1.0

Features

  • Self-serve and web based
  • QR-Code for convenient mobile client configuration
  • Optional multi-user support behind an authenticating proxy
  • Zero external dependencies - just a single binary using the wireguard kernel module
  • Binary and container deployment

Screenshot

Running

The easiest way to run wg-ui is using the container image. To test it, run:

docker run --rm -it --privileged --entrypoint "/wireguard-ui" -v /tmp/wireguard-ui:/data -p 8080:8080 -p 5555:5555 embarkstudios/wireguard-ui:latest --data-dir=/data --log-level=debug

When running in production, we recommend using the latest release as opposed to latest.

Important to know is that you need to have WireGuard installed on the machine in order for this to work, as this is 'just' a UI to manage WireGuard configs.

Configuration

You can configure wg-ui using commandline flags or environment variables. To see all available flags run:

docker run --rm -it embarkstudios/wireguard-ui:latest -h
./wireguard-ui -h

You can alternatively specify each flag through an environment variable of the form WIREGUARD_UI_<FLAG_NAME>, where <FLAG_NAME> is replaced with the flag name transformed to CONSTANT_CASE, e.g.

docker run --rm -it embarkstudios/wireguard-ui:latest --log-level=debug

and

docker run --rm -it -e WIREGUARD_UI_LOG_LEVEL=debug embarkstudios/wireguard-ui:latest

are the same.

Docker images

There are two ways to run wg-ui today, you can run it with kernel module installed on your host which is the best way to do it if you want performance.

docker pull embarkstudios/wireguard-ui:latest

If you however do not have the possibility or interest in having kernel module loaded on your host, there is now a solution for that using a docker image based on wireguard-go. Keep in mind that this runs in userspace and not in kernel module.

docker pull embarkstudios/wireguard-ui:userspace

Both images are built for linux/amd64, linux/arm64 and linux/arm/v7. If you would need it for any other platform you can build wg-ui binaries with help from the documentation.

Install without Docker

You need to have WireGuard installed on the machine running wg-ui.

Unless you use the userspace version with docker you're required to have WireGuard installed on your host machine.

A few installation guides:
Ubuntu 20.04 LTS
CentOS 8
Debian 10

Go installation (Debian)

Install latest version of Go from (https://golang.org/dl/)

sudo tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz

Setup environment

Bash: ~/.bash_profile
ZSH: ~/.zshrc

export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
export GOPATH=$HOME/go

Install LTS version of nodejs for frontend.

sudo apt-get install curl software-properties-common
curl -sL https://deb.nodesource.com/setup_12.x | sudo bash -
sudo apt-get install nodejs

Fetch wg-ui

git clone https://github.com/EmbarkStudios/wg-ui.git && cd wg-ui

Build binary with ui

make build

Crosscompiling

make build-amd64
make build-armv5
make build-armv6
make build-armv7

Build step by step

make ui
make assets
make build

Developing

Start frontend server

npm install --prefix=ui
npm run --prefix=ui dev

Use frontend server when running the server

make build
sudo ./bin/wireguard-ui --log-level=debug --dev-ui-server http://localhost:5000

Contributing

We welcome community contributions to this project.

Please read our Contributor Guide for more information on how to get started.

License

Licensed under either of

at your option.

FOSSA Status

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].