Commit Graph
14 Commits
Author SHA1 Message Date
tuxgyverandClaude Sonnet 5 790d302645 fix: binaire Windows crashait au lancement (Qt platform plugin manquant)
Le hook PyQt6 de pyinstaller-hooks-contrib échoue silencieusement à
localiser Qt6/plugins/platforms quand PyInstaller tourne sous Wine,
donc qwindows.dll n'était jamais embarqué dans l'exe. Résultat :
"This application failed to start because no Qt platform plugin
could be initialized" au premier lancement sur Windows.

On force désormais l'ajout des dossiers platforms/ et styles/ via
--add-data, avec un contrôle préalable que qwindows.dll existe bien
côté Wine.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-31 12:05:11 +02:00
tuxgyver c2ac02ee7b chore(release): v0.4.1 2026-08-31 11:16:04 +02:00
tuxgyver 1b74719204 fix: DNS coupée après arrêt du tunnel, gel UI, dialogues sudo à répétition
- wg-quick down échoue silencieusement si l'interface a déjà disparu
  (crash, kill, veille) et ne retire donc jamais l'entrée DNS posée par
  wg-quick up : la résolution reste pointée sur un résolveur mort.
  Ajout d'un nettoyage DNS inconditionnel (app/core/dns.py) déclenché à
  la connexion, la déconnexion, la fermeture et au démarrage suivant.
- is_connected() se basait sur `wg show`, qui rend un code 0 même en cas
  d'échec de permission pour un utilisateur non-root : l'app se croyait
  déconnectée en permanence et ne démontait donc jamais le tunnel à la
  fermeture. Détection réécrite via sysfs (sans privilèges).
- Connexion/déconnexion et ping tournaient sur le thread Qt : gel de
  l'UI pendant les élévations de privilèges. Déportés dans des
  QThread (app/ui/worker.py).
- Restauration réseau garantie sur toutes les sorties (croix, tray,
  SIGINT/SIGTERM, atexit, exception) via app/core/shutdown.py.
- run_privileged() : la détection "sudo veut un mot de passe" ratait en
  session non-anglophone et sur les comptes ALL=(ALL) ALL ; réécrite
  pour se fier au message d'erreur réel plutôt qu'à `sudo -l`.
- Écriture de la config WireGuard dans /etc/wireguard (root:root 0700)
  passe maintenant par install -D via la chaîne de privilèges complète
  au lieu d'un tee non autorisé par les sudoers.
- Ajout d'un diagnostic des droits (make check-privileges, bouton
  Admin) et mise à jour de setup-sudoers pour couvrir toutes les
  commandes désormais utilisées.
2026-08-31 11:16:04 +02:00
tuxgyver 2fa50a5873 Ajoute tuxmarket.yaml pour l'entrée au store 2026-08-18 20:53:59 +02:00
tuxgyver 36b948425a Windows 2026-07-21 11:05:48 +02:00
tuxgyver d03a75057e Windows 2026-07-21 10:21:13 +02:00
tuxgyver ea2e6d772b update 2026-06-29 10:19:16 +02:00
Johnny 2f9ca6b553 Fix bugs 2026-06-03 09:55:39 +02:00
Johnny b3f0a2eecc Update 2026-06-02 07:34:09 +02:00
Johnny d927afbb87 Update 2026-06-01 23:24:38 +02:00
Johnny d23d0c15be Update 2026-06-01 23:22:18 +02:00
Johnny f061da654d fix 2026-06-01 22:35:37 +02:00
Johnny 0d2646a9ad Initial release 2026-06-01 22:31:22 +02:00
Johnny ab5ba103fe first commit 2026-06-01 22:30:40 +02:00