145 Commits

Author SHA1 Message Date
mnaray
2e4f386f49 Improve incomplete setup docs in README (#2031)
* Update setup docs in README

* remove redundant information
2025-07-15 10:02:45 +02:00
Bernd Storath
962bfa213f update screenshot 2025-06-26 14:56:15 +02:00
Bernd Storath
f79b0fd025 Bump version to 15.0.0 2025-05-28 12:22:42 +02:00
Bernd Storath
84ed7b299f Feat: Cli (#1818)
* add cli

* fix lint

* add docs, include cli packages

* fix docs, username instead of name
2025-04-16 14:17:02 +02:00
Bernd Storath
1cfe6404b2 Feat docs (#1814)
* improve docs and formatting

* lint in ci

avoid using bundled prettier from vscode extension

* fix action, typos

* remove header

* remove unused deps
2025-04-15 12:43:57 +02:00
Bernd Storath
ff783fd4d1 Feat: Improve Docs (#1791)
* improve docs

* preplan guides

* fix spelling

* fix nftables rules

* consistent wg-easy code block

* fix grammar
2025-04-11 23:25:58 +02:00
Bernd Storath
32b73b850a Feat: 2fa (#1783)
* preplan otp, better qrcode library

* add 2fa as feature

* add totp generation

* working totp lifecycle

* don't allow disabled user to log in

not a security issue as permission handler would fail anyway

* require 2fa on login

if enabled

* update packages

* fix typo

* remove console.logs
2025-04-01 14:43:48 +02:00
Bernd Storath
159a51cff4 Feat: Global config override (#1720)
* be able to change dns. implement global override

* link donate to readme

* implement global config for allowed ips

* change translations, fix generation

* improve docs
2025-03-07 14:59:06 +01:00
Bernd Storath
9a029eeb23 improve docs, add version script 2025-03-07 12:02:02 +01:00
Bernd Storath
9b29d72991 Version 15.0.0-beta.1: Rewrite in Nuxt and Typescript, Move to UI (#1333)
* Add Nuxt, ESM, Typescript (#1244)

* wip: add nuxt

* basic implementation

* add changes from c9ff248

* update workflow, add eslint

* add types, fix wrong error message

* install correct bcrypt, move eslint to dev modules

* add docker dev script

* fix styling

* add wireguard routes

* typescript, vendors

* fix lint workflow

* lint fixes

* add prettier, format

* fix lint, add vscode settings

* better typescript

* use auto imports

* add prettier eslint config

* cache config

* fix styling issue, fix formatting

* fix tailwind problems

* fix logout not showing

* fix lint action

* Fix session middleware

* split files into correct methods

* use type safe api, fix typescript errors

* better return types

not tested

* change default working directory

* update workflows

* fix error

* correct session middleware, type safe session

* convert undefined to boolean

* correct key for api errors

* use zod to validate input

* add more jobs to check for good code

* add pinia

Co-authored-by: Sergei Birukov <suxscribe@gmail.com>
Co-authored-by: Bernd Storath <bernd.storath@offizium.de>

* use color mode plugin

* !! use better storage key name

Breaking as if old key exists it breaks as "auto" is not compatible with new "system"

* better local dev while dev container is running

use `docker compose -f docker-compose.dev.yml up`
or after changing dockerfile
`docker compose -f docker-compose.dev.yml up --build`

* update translation to match new theme mode

* improve dx

new devs get extensions recommended to catch errors, etc directly in vscode

* reduce errors, improve typing

* Split components (#1)

* update: introduce pages & components

 fix lint

* update: starting split components

* use auto imports

* Improve workflows and docker

workflow fix step naming

simplify docker dev

simplify docker prod

revert to node 18

dockerfile naming scheme

* Split components (#2)

* update: starting split components

* upd: rebase & continue splitting components

- layouts: header & footer
- components: basic buttton
- pages: login page

* update: login page

* package.json: remove dev:pass script

* Split into Components, migrate to nuxt

fixup

shutdown wireguard properly

fix styling, fix store

split even more

clear interval

split even more

split even more

handle auth middleware on server

avoid flicker of login page

* fix: buttons spaces & move layouts to components (#3)

* update: icons into components

- fix: header login page

* fix: tailwind handle btn class

* Split into icons

fix avatar

move class to view not icon itself

fix icon

format

* invalidate cache to make restoreConfig work

* fix apexchart

* use different color mode module

other one resulted in hydration mismatch

* fix dialog

* fix bad i18n merge

* use nuxt 4

* fix typing, fix redirect, latest release on server

* start wireguard on start

* wait for shutdown

* improve zod errors, consistent server errors

* migrate to useFetch

this makes sure that there is no double fetching

* fix hydration issues, remove unnecessary state, rename function

* fetch globalstore globally

otherwise this will load on login to homepage

* migrate to useFetch

no javascript support

TODO: not properly tested

* update backend

* wip: frontend

* update frontend

* update pnpm lock

---------

Co-authored-by: Sergei Birukov <suxscribe@gmail.com>
Co-authored-by: Bernd Storath <bernd.storath@offizium.de>
Co-authored-by: tetuaoro <65575727+tetuaoro@users.noreply.github.com>

* Fix various issues

fix router param

fix max age

unit is seconds not ms

fix regressions

fix missing expire date in client create dialog
fix wrong type rules
fix wrong api endpoint

properly catch error running cron job

fix type issues

* add database (#1330)

* add: database abstraction

* update: get lang from database

* udpate: with repositories

* add: interfaces to connect a database provider

- easy swapping between database provider

* add: setup page

- add: in-memory database provider
- create a new account (signup)
- login with username and password
- first setup page to create an account
- PASSWORD_HASH was removed from environment and files was updated/removed due to that change

* update: Dockerfile

* fix: review done

- remove: REQUIRES_PASSWORD & RELEASE environment variables

* fix: i18n translation

- rename directories

* update: use database

* fix: typecheck

* fix: review

* rebase & add: persistent lowdb provider

* update: french translation

* revert: due to rebase

* remove & document

* Refactor New UI (#1342)

* refactor code

* refactor code

* add some todos

* update pnpm, start migrating to database

* add missing i18n key

* add todo

* basic setup styling

* nuxt 4 folder structure, update packages

* Feat: Migrations (#1344)

* add migrations

* improve migration runner

* improve migration runner

* document what each migration does

* Feat: Rewrite Wireguard to use Database (#1345)

* update wireguard

* update

* update

* remove all config

* move all features into one route

* improve code

* fix some issues

add wg_path, update documentation

* Feat: Cidr Support (#1347)

* cidr support

* add cidr

* fix some errors

fix server config

missing cidr block in server config

* Fix: Database Date type (#1349)

* Feat: IPv6 (#1354)

* start supporting ipv6

* add ipv6 support

* build server with es2020

es2019 doesn't support bigint

* fix issues, better naming

* Fix: Security (#1355)

* separate route for onboarding

* zse zod for validation

* use argon2id

* add build tools

* Feat: Server AllowedIPs, MTU (#1356)

* add wireguard helpers

* improve wireguard helpers

* add server mtu

* fix wg0.conf formatting

* add ipv6 support to docker compose and readme

* Feat: Docs (#1361)

* basic docs

* use semver versioning

* Feat: Migration (#1363)

* start migration

* improve migration

* remove endpoint from client

* improve docker

* Chore: Deprecate Dockerless (#1377)

* deprecate dockerless

* Feat: Improve Repository pattern (#1380)

* improve repository pattern

* fix errors

* Feat: Improve Database Handling (#1383)

* improve docker build

* build doc workflow

* Feat: Changelog, Release Notes (#1385)

* add changelog, use semver for update message

* use first line of release for short changelog

* load ipv6 iptables module

* Feat: Show Version in Footer (#1389)

update ui logic, always store release in global store.

new release logic uses rate limited github api, avoid using cache

* use i18n ally (#1391)

* improve gh actions

* Setup UI (#1392)

* update: setup ui page

* rebase

* remove script addition

* Fixed usage of Ukrainian instead of Russian in ru.json (#1414)

* Added translations for the Belarusian language (#1472)

* Install kmod from alpine repository (#1553)

Because the busybox modprobe utility is unable to load zstd compressed modules.

Co-authored-by: Matt <mmoore2012@users.noreply.github.com>

* WIP: Feat: UI, General Improvements (#1397)

* update: setup ui page

* remove script addition

* add admin panel

* basic user menu and admin page

* make usable admin panel

* add radix vue, improve ui

* fix features, add toast

* rewrite middleware logic, support basic auth

* add todo marker

* active tailwind forms

* remove some console.logs

* check if user is enabled

frontend doesn't handle this state yet, nothing will work as api routes will fail

* add email to user, basic account page

* better group database

* group even more

* basic statistics page

* update: admin ui

- add: common panel components to get same UI
- i18n: french

* update: setup page error handle

- use fetch error data to provide error message
- use translation to provider error message

* update: me page

* fix: :text props

* update: login page

* update: i18n french support

* fix: use radix toast duration

* update: reduce templates

- remake: setup page to add others step configuration (host/port/migration)

* udpate: setup page use wizard form step

* update: ui

* update: step page

- first step to choose a language
- use red color in light mode
- validate step before move toward

* update: setup page

- use radix select component to reduce boilerplate

* update: setup page

- add: database langugage method
- update: api lang & export supported languages

* update: setup page

- update ui select language
- change lang on selection

* fix: use global store

* fix: initial value

- update: sort langs by value

* fix: ui center paragraph

* fix: remove file extension & some revert

- add: script to run checks script

* update: setup page

- add: host/port section
- i18n: french
- fix: fallback translation

* refactor: split setup into files

* update: setup page

- redirect to login when the setup is done
- allow user to return to previous steps
- prompt error message
- i18n french

* add: migration UI step

- rename: components
- fix: label for & form child id
- i18n french sup

* add: migration server

* fix: use string instead of File

* improve: with zod validation

* restore: clients

* rework setup

* add client page, move api routes

* improve setup

* switch to agpl

* add step back

* update licensed under texts

cc -> agpl

* make db results readonly

avoid weird side effects, when modifying the db object as its only allowed inside e.g. lowdb.ts

* update footer links

* improve client edit page, add mtu

* reorder tailwind classes

* update packages

* update comments

* better toast, better avatar

* delete feature toggle

* remove chart, statistics from server

let user decide what he wants to display

* move into own components

* switch from AGPL-3.0-or-later to AGPL-3.0-only

AGPL-3.0-or-later is not OSI approved

* fix building source

fixes https://github.com/wg-easy/wg-easy/issues/1563

* update packages

---------

Co-authored-by: tetuaoro <65575727+tetuaoro@users.noreply.github.com>

* update readme

* Feat: Settings, UI, General Improvements (#1572)

* deprecate other languages

new ui has too many new strings

* fix wrong license in readme

* properly fetch release

* order safe data structure for migrations

* empty server allowed ips by default

* show userconfig in admin panel

* remove routes, fix config

* add ability to update clients

* handle form submit using js

avoid weird behavior with FormData

* global toast, be able to update client

* update packages

* fix date field

* delete client using radix dialog

* remove lang from backend, let users decide

* be able to change interface and general

* be able to update user config

* consistent allowedips

* fix array field

* improve avatar, code cleanup

* basic metrics support

* remove dateTime helper

* be able to change hooks

* start cidr update

* be able to update cidr

* Feat: SQLite (#1619)

* start drizzle migration

* split schema

* improve schema

* improve schema, cascade, unique

* improve structure, start migration

* migrate to sqlite

* work in prod docker

* start adding a better permission handler

* permission matrix, permission handler

* update packages

* move session timeout to session config, use new permission handler

* improve docker dev

only install dependencies if changed

* implement setup

* migrate to sqlite

* improve debug, fix custom migration

* migrate to sqlite

* regenerate migrations

* ignore autogenerated migrations from prettier

* migrate to sqlite

* migrate to sqlite

* Migrate to sqlite

* fix prod error

* move nuxt middleware from server to nuxt

* update corepack in prod dockerfile

* use correct branch for workflow

* make docker file build on armv6/v7

* fix client update

* update zod locales

* cancel pr workflow if new commit

* test concurrency

* Feat: Account (#1645)

* be able to change name, email

* be able to change password

* consistent naming

zod is a schema not a type

* use transaction instance

* add zod strings

* Feat: Prometheus (#1655)

* check metrics password

* rewrite prometheus and json metric endpoints

* move metrics to general

metrics is not per interface

* change metrics settings in admin panel

* add i18n keys

* Chore: Remove multi interface support (#1657)

* streamline references to wg0

database wg0 name makes no sense anymore
wg0 only in database, could be easily replaced, or support for custom name added

* fix default key gen

* Feat: Permission System (#1660)

* wip: add abac

* wip: add admin abac

* add me abac

* fix type issue

* move from role check

avoid authStore.userData?.role === roles.ADMIN

* Feat: Zod Generic String (#1661)

* start improving zod translations

* update zod translations

* Feat: Migration (#1663)

* show error for old env vars

* reorder setup, be able to migrate

* fix type issue

* footer and header in setup, remove lang setup step

* remove backup / restore

* refactor dialog (#1665)

* fixed Dockerfile HEALTHCHECK syntax (#1686)

HEALTHCHECK options should always come before the CMD instruction

* Feat: Info (#1666)

* add tooltip info, extract strings

* multi type toast

* improve useSubmit, i18n

* better login screen

* improve

* consistent folder casing

* consistent casing

* fix even more stuff

* temp

* fix type errors

* remove armv6/7 support for now

* add information to client page

* optimize dockerfile

* update base image in Dockerfile to use node:lts-alpine

* fix build stage

* Chore: TODOs (#1695)

* verify setup step

* improve readme

* format todos

* move id

* remove objectMessage

* style array field

* Chore: TODOs (#1696)

* fix chart

* replace localstorage with cookies

* Chore: Improvments (#1697)

* update packages

* fix tab issues

* consistent imports

* use eslint module

* update date

* improve docs

* update docs

* format

* fix docs, fix cookie

* recognize timing attack potential

* improve gh actions, issue templates (#1700)

* Feat improv (#1702)

* add insecure option, link readme to docs

* improve docs

* update version

* add warning to readme

---------

Co-authored-by: Sergei Birukov <suxscribe@gmail.com>
Co-authored-by: Bernd Storath <bernd.storath@offizium.de>
Co-authored-by: tetuaoro <65575727+tetuaoro@users.noreply.github.com>
Co-authored-by: laperuz92 <31198184+laperuz92@users.noreply.github.com>
Co-authored-by: Siomkin Alexander <siomkin.alexander@gmail.com>
Co-authored-by: Matt <102529127+mmoore2012@users.noreply.github.com>
Co-authored-by: Matt <mmoore2012@users.noreply.github.com>
Co-authored-by: Denis Kazimirov <rokiden@users.noreply.github.com>
2025-03-05 13:06:31 +01:00
Philip H.
eda8040a03 README.md: add donation link for WireGuard 2024-10-14 18:13:04 +02:00
Gašper Spagnolo
3fc0e02798 Add slovene translation (#1440) 2024-09-28 11:37:09 +02:00
Philip H.
5aed67838c README.md: fixup urls
fix error 404
2024-09-23 12:27:57 +02:00
Edgars
99e1e15b03 Make minor improvements for ReadMe.md (#1428)
The following minor improvements were made to `README.md`:

- The notice about stable version was styled as block quote to emphasize
  it more and it was moved right after the title of the section
  "Versions", and a link to the production branch was added;
- versions table was updated to add links to branches for easier
  navigation;
- some typos were fixed;
- wording was changed in couple of places to make it simpler;
- the `docker run` command was updated to:
  - use long options to make it more self-explanatory;
  - wrap password hash value placeholder in single quotes to avoid
    variable expanding as password hashes tend to contain `$`;
  - some other very minor changes to make `docker run` options uniform.

Co-authored-by: Philip H. <47042125+pheiduck@users.noreply.github.com>
2024-09-23 12:02:33 +02:00
Naoki Ishikawa
3c959ba3bb Add japanese translation. (#1403) 2024-09-16 08:31:28 +02:00
Tristan
31c59c1b26 Update README.md (#1390) 2024-09-11 09:05:32 +02:00
Vadim Babadzhanyan
7be9884aec Feat Prometheus metrics (#1299)
* Russian translation

* Add Prometheus metrics
[Feat]: Simple Stats API #1285

* Revert "Add Prometheus metrics"

This reverts commit a998f6be8a.

* Add Prometheus metrics
[Feat]: Simple Stats API #1285

* Fix short link. Generate One Time Link (#1301)

Co-authored-by: Vadim Babadzhanyan <vadim.babadzhanyan@my.games>

* fix one time links (#1304)

Closes #1302
Co-authored-by: Bernd Storath <999999bst@gmail.com>

* fixup: issue templates due to labels reorg

Signed-off-by: Philip H <47042125+pheiduck@users.noreply.github.com>

* Separate port for prometheus metrics
Add Prometheus metrics [Feat]: Simple Stats API #1285

* Separate port for prometheus metrics
Add Prometheus metrics [Feat]: Simple Stats API #1285

* Fix port in Readme
Separate port for prometheus metrics
Add Prometheus metrics [Feat]: Simple Stats API #1285

* Add Prometheus port in Service
Separate port for prometheus metrics
Add Prometheus metrics [Feat]: Simple Stats API #1285

* Revert "Add Prometheus port in Service"

This reverts commit a7376abcf1.

* Revert "Fix port in Readme"

This reverts commit 9760bde2f2.

* Revert "Separate port for prometheus metrics"

This reverts commit 58f5b6806e.

* Revert "Separate port for prometheus metrics"

This reverts commit 6d246ea4bd.

* Add Prometheus metrics with Basic Auth
[Feat]: Simple Stats API #1285

* Disable by default
[Feat]: Simple Stats API #1285

* [Feat]: Simple Stats API #1285

* Update README.md

---------

Co-authored-by: Vadim Babadzhanyan <vadim.babadzhanyan@my.games>
Co-authored-by: Bernd Storath <bernd.storath@offizium.de>
Co-authored-by: Philip H <47042125+pheiduck@users.noreply.github.com>
2024-08-23 12:10:20 +02:00
Bernd Storath
41be774761 rename features, fix formatting 2024-08-23 08:32:47 +02:00
Bernd Storath
86f968499a fix one time links (#1304)
Closes #1302
Co-authored-by: Bernd Storath <999999bst@gmail.com>
2024-08-21 15:55:35 +02:00
Vadim Babadzhanyan
8145809e22 Feat expiration date (#1296)
Closes #1287
Co-authored-by: Vadim Babadzhanyan <vadim.babadzhanyan@my.games>
2024-08-18 23:18:09 +02:00
Võ Hoàng
ca7ee32052 feat(www): add sort clients by name (#1227)
Co-authored-by: Philip H. <47042125+pheiduck@users.noreply.github.com>
2024-08-16 19:40:24 +02:00
Philip H.
f5885e335c Merge branch 'master' into remember-me 2024-08-16 19:25:36 +02:00
Vadim Babadzhanyan
0a33b1f7df Supports displaying short links, for easy downloading on TVs and Android TVs 2024-08-16 18:39:24 +03:00
Viktor Yudov
3e6ded18a5 Add Remember me 2024-08-13 02:51:05 +03:00
Philip H.
1416613cc6 README.md: Reduce confusion in the readme 2024-07-30 17:57:15 +02:00
pheiduck
d8a48aef29 remove PASSWORD env unused and replace by PASSWORD_HASH 2024-07-30 17:45:00 +02:00
tetuaoro
53dad56bb6 some corrections 2024-07-14 18:33:11 +02:00
tetuaoro
9a19430dc8 feat: generate PASSWORD_HASH on the fly
* remove PASSWORD environment variable in favor of PASSWORD_HASH
* enhance password validity check server function
* update Dockerfile to include building a binary for generating hashed password
* update README with comprehensive Docker usage instructions hash generation
2024-07-12 21:24:09 +02:00
Elian (ThreadR) Freyermuth
a0c495ddad Fix a small typo in README.md
Changed from "Home Assistent" to "Home Assistant"
2024-07-09 14:11:07 +02:00
Mathys Lopinto
7608f91913 Right README
Push the latest README.md
2024-06-27 21:06:15 +02:00
Mathys Lopinto
4d849fc508 Enhance bcrypt doc: rename, add one-liner, usage info, and assert
- Rename the file to a more readable name
- Add one-liner command for quick execution
- Include dedicated paragraph on using the output
- Implement assert to prevent bcrypt limitation issues
- Comment the python script
- Improves clarity and usability of bcrypt documentation
- Mention documentation file in docker-compose.yml and README.me file
2024-06-27 21:00:11 +02:00
Peter Lewis
8598a167ef Update README.md
Refinement
2024-06-18 22:30:28 +01:00
Robert Heim
eaa4b1ebaa feat: introduce PASSWORD_HASH and deprecate PASSWORD 2024-06-18 20:17:00 +02:00
Philip H
72fbf1baf6 README.md: add docs for WG_CONFIG_PORT 2024-06-17 15:22:54 +02:00
Philip H
8249b92a34 fixup: add UI_CHART_TYPE docs 2024-05-24 21:32:17 +02:00
Philip H
4cd5d5459a Documentation: docker image versions 2024-05-23 11:32:13 +02:00
Philip H
211e0b6aa2 Update README.md 2024-05-18 14:13:03 +02:00
Philip H
ae60493414 Merge branch 'master' into issue-972 2024-04-18 19:00:07 +02:00
Peter Lewis
a05b71c652 Update README.md
2a3acdcad5 (r141068572)
2024-04-17 21:39:08 +01:00
Philip H
e6b5f2e33c fixup: README 2024-04-17 19:22:07 +02:00
Philip H
f9daa3e5be Bugfix: differnt Ports usage 2024-04-14 19:51:04 +02:00
Philip H
2a3acdcad5 Merge branch 'master' into revert-888-feat-cidr-notation 2024-04-06 15:17:43 +02:00
Philip H
9be036aefa Merge branch 'production' into master 2024-04-05 19:04:13 +02:00
Philip H
61b57a885c README.md: make commands easier to copy 2024-04-01 18:04:29 +02:00
Philip H
bf214fb4d3 Revert "feat: cidr notation" 2024-03-27 14:41:31 +01:00
Philip H
479c51d741 WG_DEFAULT_ADDRESS_RANGE / is not needed 2024-03-25 17:18:14 +01:00
Philip H
196cb63c6e README.md: add WG_DEFAULT_ADDRESS_RANGE 2024-03-25 17:15:30 +01:00
Philip H
6c0049770e Merge branch 'master' into feat-cidr-notation 2024-03-23 21:30:52 +01:00
Edgars
6c567d0082 Use one command for updating with Docker Compose
`README.md` was updated to use a one-liner to update WireGuard Easy with
Docker Compose.
A note about image tag was added to avoid confusion when one is
specified in Compose file and it is other than `latest`, as that would
result in no pull and no WireGuard Easy container recreation.
2024-03-21 09:02:08 +02:00
Philip H
68187e07a1 Merge branch 'master' into feat-cidr-notation 2024-03-14 13:49:26 +01:00