Commit graph

1391 commits

Author SHA1 Message Date
Bernd Storath
b8be53c3f7 fix build
Some checks are pending
CodeQL / Analyze (push) Waiting to run
Edge / Build Docker (push) Waiting to run
Edge / Build Docker-1 (push) Waiting to run
Edge / Merge & Deploy Docker (push) Blocked by required conditions
Edge / Build & Deploy Docs (push) Blocked by required conditions
Lint / Check Docs (push) Waiting to run
Lint / Lint (push) Blocked by required conditions
Lint / Lint-1 (push) Blocked by required conditions
Lint / Lint-2 (push) Blocked by required conditions
2026-05-13 09:16:24 +02:00
Bernd Storath
0794413191 update packages 2026-05-13 09:02:56 +02:00
Bernd Storath
261b0d6b8f Bump version to 15.3.0-beta.3 2026-05-07 13:59:19 +02:00
Ming Mak
f656d57d20
Translation: update Traditional Chinese (zh-HK) localization (#2603)
* Update Chinese (HK) translations for clarity and completion

* Fix spacing

* Update zh-HK.json

Taking reference from zh_TW, making awg clearer

* Remove duplicate 'search' entry in zh-HK.json

* Fix translation typos in zh-HK locale

Replaced "户" with "戶".
2026-05-07 13:51:37 +02:00
Bernd Storath
46074fea1c update packages 2026-05-05 10:57:30 +02:00
Felipe Cordova Huenupil
05c655ede9
fix(ui):Error pops up when enabling disabled client (#2594)
* fix(ui):Error pops up when enabling disabled client

Action is prevented and a clear message is displayed in Web UI

* fix formatting

* fix type issue

* fix formatting

---------

Co-authored-by: Bernd Storath <999999bst@gmail.com>
2026-05-04 09:21:18 +02:00
Bernd Storath
ebcc42cc49 fix build 2026-04-27 09:07:21 +02:00
Evgeniy
be8d24e492
Fix: Add trailing newline to Prometheus metrics output (#2573)
Fix prometheus metrics
2026-04-27 08:30:03 +02:00
Bernd Storath
9682dedea7 update packages 2026-04-27 08:28:17 +02:00
Bernd Storath
5eb80fe3c1 update packages 2026-04-13 14:16:05 +02:00
dependabot[bot]
dd9da2a067
build(deps): bump pnpm/action-setup from 5 to 6 (#2574)
Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 5 to 6.
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](https://github.com/pnpm/action-setup/compare/v5...v6)

---
updated-dependencies:
- dependency-name: pnpm/action-setup
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-13 13:35:40 +02:00
Bernd Storath
15111ecd62 update packages 2026-04-13 13:02:53 +02:00
dependabot[bot]
e9f4b4650b
build(deps): bump pnpm/action-setup from 4 to 5 (#2570)
Bumps [pnpm/action-setup](https://github.com/pnpm/action-setup) from 4 to 5.
- [Release notes](https://github.com/pnpm/action-setup/releases)
- [Commits](https://github.com/pnpm/action-setup/compare/v4...v5)

---
updated-dependencies:
- dependency-name: pnpm/action-setup
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-08 16:06:15 +02:00
Bernd Storath
e3e4049f8e update packages 2026-04-08 15:51:37 +02:00
Bernd Storath
3fb9adbf6f Bump version to 15.3.0-beta.2 2026-04-07 11:46:03 +02:00
Bernd Storath
cd9db1563d
fix: mobile UI (#2569)
* improve mobile ui

* general cleanup

* cleanup, improvements

* fix hydration mismatch
2026-04-07 11:34:49 +02:00
wuys
b5c30f5dbe
i18n: add Vietnamese language support (#2568)
* i18n: add Vietnamese translation

* i18n: fix lint

* i18n: import fix

---------

Co-authored-by: meow <meow@air.local>
2026-04-07 11:22:13 +02:00
adi82bdg
1eb9527175
Update Polish translations for various terms (#2566) 2026-04-02 13:25:55 +02:00
Nikolas
cd890c1f0f
Update uk.json (#2559) 2026-03-25 08:54:53 +01:00
Timothy Pillow
2a78b30aeb
Config fix for #2208 : Document network interface fix for multi-network configuations (#2555)
* document fix for #2208

* typo fix

* prettier

* fix code block format

* fix indentation

---------

Co-authored-by: Timothy Pillow <timothy.pillow@swisscom.com>
Co-authored-by: Bernd Storath <999999bst@gmail.com>
Co-authored-by: Bernd Storath <32197462+kaaax0815@users.noreply.github.com>
2026-03-23 09:59:17 +01:00
Chiahong
9a843087c3
i18n(zh-tw): Update Traditional Chinese translation (#2558) 2026-03-23 07:49:12 +01:00
Bernd Storath
483b63bba6 update packages 2026-03-16 08:28:58 +01:00
Alexis-Loskoutoff
13942c97b2
i18n(fr): Update French translation (#2544) 2026-03-16 08:04:34 +01:00
MeCias
82c64e506e
Lang(de): Added missing translations (#2543)
* Update de.json

Lang(de): Added missing translations

* Lang(de): Added missing translations and Comma

* Lang(de): Added missing translations and Comma and identations
2026-03-14 19:49:28 +01:00
Aarón Rosa Díaz
9b3d919168
i18n(es): Updated Spanish translation (#2540)
Updated Spanish translations for various UI elements

Updated and completed all remaining Spanish translations, including support for AmneziaWG 2.0. Following: https://wg-easy.github.io/wg-easy/v15.2/contributing/translation/
2026-03-13 07:47:09 +01:00
杨黄林
3eaf0d01dc
i18n: improve Simplified Chinese translation (#2541)
* Fix zh-CN translate

* i18n: improve Simplified Chinese translation

---------

Co-authored-by: yanghuanglin <yanghuanglin@qq.com>
2026-03-13 07:46:25 +01:00
Bernd Storath
414e9a114b Bump version to 15.3.0-beta.1 2026-03-11 09:06:54 +01:00
Maksim M.
2d28d87c5c
i18n(ru): Update Russian Lang (#2538)
* i18n(ru): Add firewall and download options

- Updated translation, added and translated all missing values from en.json

* i18n(ru): Minor changes

- Minor edits that don't change the translation

* i18n(ru): Terminology changes

- "Интерфейс" (Interface) has been renamed to "Сетевой интерфейс" (Network Interface) to avoid confusion with the Web UI, which is often referred to simply as "interface" in Russian.
2026-03-11 08:51:48 +01:00
Bernd Storath
76c2233e46
chore: update node to krypton (24) (#2536)
update to node krypton
2026-03-10 10:45:10 +01:00
Stephan Paternotte
abedf9f38e
Dutch translation updated (#2535)
* Dutch translation updated

Update nl.json updated re. "copy & download qr code as png"

* Update nl.json

Couple of trailing comma's added. Valid json now.
2026-03-10 10:42:33 +01:00
Kayhan
25f3fa3c0f
Update Turkish localization strings (#2523)
* Update Turkish localization strings

* Update src/i18n/locales/tr.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/i18n/locales/tr.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/i18n/locales/tr.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/i18n/locales/tr.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/i18n/locales/tr.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update src/i18n/locales/tr.json

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-03-10 09:36:46 +01:00
Bernd Storath
c3c51f8088 update packages 2026-03-09 08:01:17 +01:00
Bernd Storath
8ea2b635c1
feat: change hooks to textareas (#2522)
* hooks are now textareas

* remove newlines in client config
2026-03-05 14:52:55 +01:00
Bernd Storath
bc4dfd03df
feat: copy & download qr code as png (#2521)
* copy & download qr code as png

* i18n, accessibility

* improve error handling
2026-03-05 13:39:31 +01:00
Bernd Storath
7cde04de81 docs: fix faq urls
introduced in #2418
2026-03-05 13:38:12 +01:00
Bernd Storath
5228734c98
feat(cli): add command to show qr code (#2518)
* refactor cli, add commands

* add docs

* improve

* fix ec mode order
2026-03-05 11:53:27 +01:00
Ian Foster
47f81dd66a
Feature/client firewall filtering (#2418)
* Add per-client firewall filtering

Implement server-side firewall rules to restrict client network access,
allowing administrators to enforce security policies that cannot be
bypassed by clients modifying their local configuration.

This feature addresses the limitation where "Allowed IPs" only controls
client-side routing but doesn't prevent clients from accessing networks
they shouldn't reach. The firewall rules are enforced on the server
using iptables/ip6tables and provide true access control.

Features:
- Opt-in via "Enable Per-Client Firewall" toggle in admin interface
- Per-client "Firewall Allowed IPs" field for granular control
- Support for IPs, CIDRs, and port-based filtering
- Protocol specification: TCP, UDP, or both (default)
- IPv4 and IPv6 dual-stack support
- Falls back to client's allowedIps when firewallIps is empty
- Clean separation of routing (allowedIps) from security (firewallIps)

Supported formats:
- 10.10.0.3 (single IP)
- 10.10.0.0/24 (CIDR range)
- 192.168.1.5:443 (IP with port, both TCP+UDP)
- 192.168.1.5:443/tcp (IP with specific protocol)
- [2001:db8::1]:443 (IPv6 with port)

Implementation:
- New database columns: firewall_enabled (interfaces), firewall_ips (clients)
- Migration 0003_add_firewall_filtering for schema updates
- firewall.ts utility for iptables chain management (WG_CLIENTS chain)
- Integration into WireGuard.ts for automatic rule application
- UI components with conditional rendering based on firewall toggle

Technical details:
- Uses custom WG_CLIENTS iptables chain for isolation
- Rebuild strategy: flush and recreate all rules on config save
- Mutex protection via rebuildInProgress/rebuildQueued flags
- Graceful cleanup when firewall is disabled
- No new dependencies (uses existing is-ip, is-cidr packages)

* added Comprehensive documentation in README and docs/ for firewall
filtering

* validate firewall IPs

* check for iptables before enabling the firewall and inform the user if
it is missing

* updated firewall docs

* fix imports

* remove extra import

* Document all allowed IP/cidr/port/proto combinations that are allowed
and check on save

* add note on firewall being experimental and how to opt a single client
out of the firewall.

* cleanup more imports

* add tests

* Fix firewall IPv6 validation and test expectations

Updated validation to correctly handle plain and bracketed IPv6 addresses, and fixed test to expect string from schema instead of object.

* added comments to firewall rules and updated tests

* fix auto-import

* fix typescript errors

* recreate sql migrations and rebase

* improve tests, typechecking, documentation

* fix formatting, fix types

* improve type

* added note for including host's IP in client firewall

* updated language to include cidr and protocol options

* another language update

* refer to docs for firewall allowed IPs

---------

Co-authored-by: Bernd Storath <999999bst@gmail.com>
2026-03-05 08:47:46 +01:00
Filip Richter
e5b2c3d10b
Add Czech language support (#2487)
* Add Czech localization file for i18n

* Add Czech locale support to i18n configuration

* Add Czech language support to nuxt.config.ts

* Update Czech translation for 'hooks' key
2026-03-03 11:30:06 +01:00
Bernd Storath
059a0ccffc update packages 2026-03-02 08:18:59 +01:00
Maksim M.
8c9c54c8b2
i18n(ru): Add missing validNumberRange and update H1-H4 descriptions (#2501)
Update Russian translations - H Descriptions
2026-03-02 08:09:12 +01:00
Stephan Paternotte
02ce6f0a65
Update nl.json - hxDescriptions updated (#2498)
AmneziaWG 2.0: support for H1-H4 ranges (#2480)
2026-02-27 07:47:37 +01:00
Bernd Storath
48682e1abd update packages 2026-02-23 08:12:21 +01:00
Stephan Paternotte
044dd34dcc
Update nl.json (#2490)
AmneziaWG 2.0: support for H1-H4 ranges (#2480) TRANSLATED
2026-02-21 20:34:09 +01:00
CthulhuVRN
a469ac6897
AmneziaWG 2.0: support for H1-H4 ranges (#2480)
* AmneziaWG 2.0: support for H1-H4 ranges

## Changes:
```
- [+] Added support for H1-H4 ranges
- [!] Fixed interface fields order (H1-H4 goes before I1-I5)
```

## Known issues:
```
- [!] no check for unique/overlap of H1-H4 values on settings apply:
  settings will be applied but wg interface will crash with "Invalid argument" error
```

* AmneziaWG 2.0: support for H1-H4 ranges

## Changes:
```
- [+] Added support for H1-H4 ranges
- [!] Fixed interface fields order (H1-H4 goes before I1-I5)
```

## Known issues:
```
- [!] no check for unique/overlap of H1-H4 values on settings apply:
  settings will be applied but wg interface will crash with "Invalid argument" error
```

* AmneziaWG 2.0: support for H1-H4 ranges

## Changes:
```
- [+] Added support for H1-H4 ranges
- [!] Fixed interface fields order (H1-H4 goes before I1-I5)
```

## Known issues:
```
- [!] no check for unique/overlap of H1-H4 values on settings apply:
  settings will be applied but wg interface will crash with "Invalid argument" error
```

* Update types.ts

Lint fixes

---------

Co-authored-by: CthulhuVRN <alexander@ptitsyn.info>
2026-02-17 13:27:22 +01:00
Bernd Storath
1178d23659 update packages 2026-02-16 09:11:19 +01:00
Bernd Storath
b3cc1ce839 reduce container size
from around 700mb to 400mb
2026-02-11 15:36:29 +01:00
Bernd Storath
71aaec93ef add unit tests
this adds the groundwork to start unit testing some modules
2026-02-11 15:23:04 +01:00
HackingAll
7a219b73d4
Adding galician (#2473)
* Adding galego -> gl.json

* Update i18n.config.ts

* Update nuxt.config.ts
2026-02-10 11:18:02 +01:00
Bare7a
c456c5e7dd
Add Bulgarian translation (#2466) 2026-02-09 08:00:38 +01:00
Bernd Storath
a5880cc0b8 update packages 2026-02-09 08:00:07 +01:00