chore(release): v0.7.13
Corrige Add-DnsClientNrptRule qui échouait systématiquement : ce cmdlet n'a pas de paramètre -Name (contrairement à Get-/Set-/ Remove-), résolu comme abréviation ambiguë entre -Namespace/ -NameServers/-NameEncoding. Identification de la règle via -Comment à la place, comme le nettoyage générique existant. Bénéficie au chemin élevé classique et au service wgsecure-helper. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -6,6 +6,13 @@ Ce projet suit le [Versionnage Sémantique](https://semver.org/lang/fr/).
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## [0.7.13] — 2026-09-04
|
||||||
|
|
||||||
|
### Corrigé
|
||||||
|
- **Pose de la règle split-DNS (NRPT) systématiquement en échec.** `Add-DnsClientNrptRule` n'a pas de paramètre `-Name` (contrairement à `Get-`/`Set-`/`Remove-DnsClientNrptRule` : la règle créée reçoit un identifiant GUID auto-généré) — `-Name` était résolu par PowerShell comme une abréviation ambiguë entre `-Namespace`/`-NameServers`/`-NameEncoding` (« le nom du paramètre "name" est ambigu »). Bug présent depuis l'introduction du split-DNS, resté invisible jusqu'à la v0.7.9 (les messages d'erreur d'une commande élevée remontaient vides). La règle est désormais identifiée/retrouvée via `-Comment`, comme le fait déjà le nettoyage générique du fichier. Corrige à la fois le chemin élevé classique et le service `wgsecure-helper` (v0.7.12), qui réutilise cette même fonction.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## [0.7.12] — 2026-09-04
|
## [0.7.12] — 2026-09-04
|
||||||
|
|
||||||
### Ajouté
|
### Ajouté
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
## ──────────────────────────────────────────────
|
## ──────────────────────────────────────────────
|
||||||
|
|
||||||
APP := wgsecure
|
APP := wgsecure
|
||||||
VERSION := 0.7.12
|
VERSION := 0.7.13
|
||||||
VENV := .venv
|
VENV := .venv
|
||||||
PYTHON := $(VENV)/bin/python3
|
PYTHON := $(VENV)/bin/python3
|
||||||
PIP := $(VENV)/bin/pip
|
PIP := $(VENV)/bin/pip
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# 🛡️ WGSecure (WGS)
|
# 🛡️ WGSecure (WGS)
|
||||||
|
|
||||||
🚀 v0.7.12 · 🐍 · 🪟🐧 · 🔐 MFA TOTP · 🛡️ WireGuard
|
🚀 v0.7.13 · 🐍 · 🪟🐧 · 🔐 MFA TOTP · 🛡️ WireGuard
|
||||||
|
|
||||||
**WGSecure** est une interface graphique multiplateforme (Windows & Linux) pour gérer une connexion WireGuard avec une surcouche MFA (authentification à deux facteurs TOTP).
|
**WGSecure** est une interface graphique multiplateforme (Windows & Linux) pour gérer une connexion WireGuard avec une surcouche MFA (authentification à deux facteurs TOTP).
|
||||||
|
|
||||||
@@ -210,4 +210,4 @@ WGSecure/
|
|||||||
## 👤 Auteur
|
## 👤 Auteur
|
||||||
|
|
||||||
Développé par **Johnny** — [JT-Tools](https://github.com/JT-Tools)
|
Développé par **Johnny** — [JT-Tools](https://github.com/JT-Tools)
|
||||||
Version :  — Septembre 2026
|
Version :  — Septembre 2026
|
||||||
|
|||||||
+1
-1
@@ -1,3 +1,3 @@
|
|||||||
__version__ = "0.7.12"
|
__version__ = "0.7.13"
|
||||||
APP_NAME = "WGSecure"
|
APP_NAME = "WGSecure"
|
||||||
APP_SHORT = "WGS"
|
APP_SHORT = "WGS"
|
||||||
|
|||||||
+24
-6
@@ -191,11 +191,22 @@ def _nrpt_add_split_dns_ps(server: str, domains: list[str], rule_name: str) -> s
|
|||||||
# même. Les deux formes sont nécessaires pour couvrir toute la zone —
|
# même. Les deux formes sont nécessaires pour couvrir toute la zone —
|
||||||
# comme `~domaine` sous systemd-resolved (Linux) couvre déjà les deux.
|
# comme `~domaine` sous systemd-resolved (Linux) couvre déjà les deux.
|
||||||
namespace_list = ", ".join(f"'{d}', '.{d}'" for d in clean)
|
namespace_list = ", ".join(f"'{d}', '.{d}'" for d in clean)
|
||||||
|
# Add-DnsClientNrptRule n'a PAS de paramètre -Name (contrairement à
|
||||||
|
# Get-/Set-/Remove-) : la règle créée reçoit un identifiant GUID auto-
|
||||||
|
# généré, jamais le nôtre. "-Name" était donc résolu par PowerShell
|
||||||
|
# comme une abréviation ambiguë entre -Namespace/-NameServers/
|
||||||
|
# -NameEncoding (« le nom du paramètre "name" est ambigu ») — la pose de
|
||||||
|
# la règle échouait donc systématiquement, masqué jusqu'ici par
|
||||||
|
# l'ancienne incapacité à remonter le texte d'une erreur élevée. On
|
||||||
|
# identifie/retrouve donc la règle via -Comment (qui, lui, existe bien
|
||||||
|
# sur Add-), comme le fait déjà le nettoyage générique plus bas
|
||||||
|
# (_NRPT_CLEAN_PS, filtré sur .Comment).
|
||||||
return (
|
return (
|
||||||
f"$rule = Get-DnsClientNrptRule -Name '{rule_name}' -ErrorAction SilentlyContinue; "
|
f"Get-DnsClientNrptRule -ErrorAction SilentlyContinue | "
|
||||||
f"if ($rule) {{ Remove-DnsClientNrptRule -Name '{rule_name}' -Force -ErrorAction SilentlyContinue }}; "
|
f"Where-Object {{ $_.Comment -eq '{rule_name}' }} | "
|
||||||
f"Add-DnsClientNrptRule -Name '{rule_name}' -Namespace @({namespace_list}) "
|
f"ForEach-Object {{ Remove-DnsClientNrptRule -Name $_.Name -Force -ErrorAction SilentlyContinue }}; "
|
||||||
f"-NameServer '{server}' -Comment 'WGSecure Split-DNS'; "
|
f"Add-DnsClientNrptRule -Namespace @({namespace_list}) "
|
||||||
|
f"-NameServers '{server}' -Comment '{rule_name}'; "
|
||||||
# Sans ce contrôle, une erreur réelle d'Add-DnsClientNrptRule restait
|
# Sans ce contrôle, une erreur réelle d'Add-DnsClientNrptRule restait
|
||||||
# invisible : le script se terminait quand même avec le code 0, et
|
# invisible : le script se terminait quand même avec le code 0, et
|
||||||
# `setup_split_dns` rapportait un succès alors que la règle n'avait
|
# `setup_split_dns` rapportait un succès alors que la règle n'avait
|
||||||
@@ -205,9 +216,16 @@ def _nrpt_add_split_dns_ps(server: str, domains: list[str], rule_name: str) -> s
|
|||||||
|
|
||||||
|
|
||||||
def _nrpt_remove_split_dns_ps(rule_name: str) -> str:
|
def _nrpt_remove_split_dns_ps(rule_name: str) -> str:
|
||||||
"""PowerShell script to remove a NRPT rule for split-DNS."""
|
"""PowerShell script to remove a NRPT rule for split-DNS.
|
||||||
|
|
||||||
|
La règle n'a pas de -Name pris en charge à la création (cf.
|
||||||
|
`_nrpt_add_split_dns_ps`) : on la retrouve par son -Comment plutôt que
|
||||||
|
par un -Name qui ne correspondrait jamais à rien.
|
||||||
|
"""
|
||||||
return (
|
return (
|
||||||
f"Remove-DnsClientNrptRule -Name '{rule_name}' -Force -ErrorAction SilentlyContinue"
|
f"Get-DnsClientNrptRule -ErrorAction SilentlyContinue | "
|
||||||
|
f"Where-Object {{ $_.Comment -eq '{rule_name}' }} | "
|
||||||
|
f"ForEach-Object {{ Remove-DnsClientNrptRule -Name $_.Name -Force -ErrorAction SilentlyContinue }}"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@
|
|||||||
; ──────────────────────────────────────────────
|
; ──────────────────────────────────────────────
|
||||||
|
|
||||||
#define MyAppName "WGSecure"
|
#define MyAppName "WGSecure"
|
||||||
#define MyAppVersion "0.7.12"
|
#define MyAppVersion "0.7.13"
|
||||||
#define MyAppPublisher "WGSecure"
|
#define MyAppPublisher "WGSecure"
|
||||||
#define MyAppExeName "wgsecure.exe"
|
#define MyAppExeName "wgsecure.exe"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user