From 138ea21fd3dfe97bb58f79a947de77ce51f2417a Mon Sep 17 00:00:00 2001 From: yann Date: Sat, 25 Jan 2025 14:31:51 +0100 Subject: [PATCH] first commit --- README.md | 161 +++++++++++++++++++++ img/dns-logo.png | Bin 0 -> 6718 bytes img/nord-logo-rouge.png | Bin 0 -> 16375 bytes img/nord-logo-vert.png | Bin 0 -> 16257 bytes img/nord-logo.png | Bin 0 -> 37085 bytes img/nordvpn.jpg | Bin 0 -> 1899 bytes install.sh | 8 ++ nord-logo.png | Bin 0 -> 37085 bytes nordvpntray.desktop | 7 + nordvpntray.py | 304 ++++++++++++++++++++++++++++++++++++++++ nordvpntray.sh | 7 + requirements.txt | 9 ++ 12 files changed, 496 insertions(+) create mode 100644 README.md create mode 100755 img/dns-logo.png create mode 100644 img/nord-logo-rouge.png create mode 100644 img/nord-logo-vert.png create mode 100644 img/nord-logo.png create mode 100644 img/nordvpn.jpg create mode 100755 install.sh create mode 100644 nord-logo.png create mode 100644 nordvpntray.desktop create mode 100755 nordvpntray.py create mode 100755 nordvpntray.sh create mode 100644 requirements.txt diff --git a/README.md b/README.md new file mode 100644 index 0000000..da16333 --- /dev/null +++ b/README.md @@ -0,0 +1,161 @@ +## NordVPN systray + +### Développement + +Prérequis, l'application nordvpn est installée + +* Le **dossier développement** qui contient tous les modules nécessaire ainsi que les binaires +`/srv/media/dplus/python-dev/nordvpntray` +* Le **dossier final après installation** +$HOME/.local/share/nordvpntray + +Créer un projet python `nordvpntray` + +```bash +# Crée le dossier si inexistant +mkdir $HOME/media/dplus/python-dev/nordvpntray +# aller dans le dossier +cd $HOME/media/dplus/python-dev/nordvpntray +``` + +Pour créer un environnement, utilisez la commande `python -m venv ` +Créer un environnement pour l'application + + python3 -m venv venv + +activer l'environnement virtuel + + source venv/bin/activate + +On arrive sur un prompt : `(venv) [yann@PC1 nordvpntray]$` + +Mettre à jour pip dans l'environnement + + pip install --upgrade pip + +Les modules à installer + +fichier requirements.txt + +``` +pystray +pillow +ping3 +plyer +desktop-notifier +dbus-python +wheel +urllib3 +PyGObject +``` + +Installer les modules supplémentaires + + pip install -r requirements.txt + +Projet sur éditeur python "Wing Personal 10" +$HOME/media/dplus/python-dev/nordvpntray.wpr + +Créer les scripts + +Aller dans le dossier développement + + cd /srv/media/dplus/python-dev/nordvpntray + +Créer un script de lancement : `nordvpntray.sh` + +```bash +# Lancement nordvpntray +# Dossier travail +cd $HOME/.local/share/nordvpntray +# Chemin +export PATH="$HOME/.local/share/nordvpntray/venv/bin:$PATH" +# Exécution script +python nordvpntray.py +``` + +Le rendre exécutable + + chmod +x nordvpntray.sh + +Créer icône bureau `nordvpntray.desktop` + +``` +[Desktop Entry] +Version=1.0 +Type=Application +Name=NordVPN Graphique +Comment=Etat du service nordvpn +Icon=nordvpn +Exec=nordvpntray +``` + +Le script d'installation `install.sh` + +```bash +# copie dossier +cp -r ../nordvpntray $HOME/.local/share/ +# Icône bureau +mkdir -p $HOME/.local/share/applications/ +cp nordvpntray.desktop $HOME/.local/share/applications/ +# on met le script en lien dans /usr/local/bin/ +sudo ln -s $HOME/.local/share/nordvpntray/nordvpntray.sh /usr/local/bin/nordvpntray +``` + +## Installer NordVPN systray + +### Prérequis + +L'application NordVPN doit être installée, suivre la procédure : [Application NordVPN](https://static.rnmkcy.eu/2024/11/23/NordVPN.html) + +Les paramètres à activer ou désactiver + +```bash +nordvpn set autoconnect disabled +nordvpn set tray disabled +nordvpn set notify disabled +nordvpn set ipv6 enabled +nordvpn set lan-discovery enabled +``` + +Paramétrage : `nordvpn settings` + +``` +Technology: NORDLYNX +Firewall: enabled +Firewall Mark: 0xe1f1 +Routing: enabled +Analytics: enabled +Kill Switch: disabled +Threat Protection Lite: disabled +Notify: disabled +Tray: disabled +Auto-connect: disabled +IPv6: enabled +Meshnet: disabled +DNS: disabled +LAN Discovery: enabled +Virtual Location: enabled +Post-quantum VPN: disabled +``` + +### nordvpntray + +Cloner le dépot + + git clone https://gitea.rnmkcy.eu/yann/nordvpntray + + cd nordvpntray + ./install.sh + +Lancement en début de session XFCE + +* Paramètres --> Gestionnaire de Paramètres --> Session et démarrage +* Démarrage automatique d'application + * +Ajouter + * Nom: nordvpntray + * Description : NordVPN Graphique + * Commande: nordvpntray + * Déclencher à la connexion + * OK +* Fermer diff --git a/img/dns-logo.png b/img/dns-logo.png new file mode 100755 index 0000000000000000000000000000000000000000..3e3b0d2fed90117ed74a609432b23bbba706f3b1 GIT binary patch literal 6718 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 literal 0 HcmV?d00001 diff --git a/img/nord-logo-vert.png b/img/nord-logo-vert.png new file mode 100644 index 0000000000000000000000000000000000000000..8fe1da87300cfd6f11c5938b5f89a6958d8202ef GIT binary patch literal 16257 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%0DV7&ux&k1Bmow_i$G@Ftx- zNzv}Km2>DUCyAPT$719m?uM7UGunRGM%(4rc@RnzW?AilEl_V_!w53-Jh&FYF*oe^ z0`WRM4h71-KA8U{?X{sI7_=WJQEq(i8bHcTfS&bwy`E$+#m-y$s4DkG_oAlav08+{ z?~J!X*zlLts(mkLM>_WWVjQ(HRPIbO2liE|Xb^CU%ZwC5L-0$~O@a=XH8#E#v)<~b zPajV0yd+iG6fb>+%op97T9pk{GT0*1o^R{;1L9>2g`RH6MKLini zAU-N-mN2HyQ1N)UqvL32g7%M#-wA&b@@z}J-H-Or+w%Y!NyWG2;s*ZzAKSDp5dZ)H literal 0 HcmV?d00001 diff --git a/img/nord-logo.png b/img/nord-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..fe0a46259cc4509f69c9fdae8e1845df014bb7ef GIT binary patch literal 37085 zcmV)gK%~EkP)$d50@63G9bI!fHv&$}Qo7tJ&dw=5Y&fIeDDbM-W=kF5E;q-vh z15OW=a1XeOq3zjh)`cTm3~h1R;Pimg1EtjiMFC=^)n!g=ogQ#{pqP5V0kL8l4W}(m z4>�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 literal 0 HcmV?d00001 diff --git a/img/nordvpn.jpg b/img/nordvpn.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a04fc8b10113749cfdd2e15c675f7d5e76d75ca4 GIT binary patch literal 1899 zcmbtTX;4#F6h6sINM!Y~D9RF6F@#tNqvH+;qKOgVfukUbB!LhmY#}H`K*iRj%Ah1N zh*Urj1aXR}h*s;)h=O5>3TO)gDlWKSV>OlZ2HJ5tqdz)5ciuhUobR0P-uulw-F;mT zjOPV#1As&VAfW}iN91CzpI>AUu{?mwUo=XPbK`_k8D%(qI(J05DdNf*br~`%GdwmA@?5QlqORtBXY|I0o_UUxP?f|qx zfKNMgI&G;=_vr`#b|2u9;`4lh0@*o)>bak5E=2%l*#KuQey$110qT***1sl3B}a{( zgQ1-q69e$J0>C5;zyf(~xcdL{V}2uTy*?bd2N0SLz;6a9I0!HWoo5!I>jpodViXDm zqoR#Ur5ezT=`<8(Mn>a|aWivs+ziJpCfH82u$*j#`iK*lI^ z#CeSe5{8keG>l9e<4A}BDsDitaP;)0n+HcFZQW-jD6w?n5Xsy2UwMs&Y)C*R|4R?3 zBpOCBAS2Qp*DI2#81@tF8--kq8;baPWq=grd54 z#V%fZ>|T>B^@+UrD7HWE{E4OMOsQL?UFhZ=7u~Bj++S00W=F>>um0INbGMh2X+={< zB>vqmtOI+hbdY*ArNxwvU9eTxV43*J0vH2Fw8%ObfA6GhU} zgsx@1zfT>Eh^{{O;3zkQw_wuay#9?HpJwy-v@H&m)B?e3{Fv@mJh(?qtBV&j(BQB#+sRlb;|9dbQW z$PK@HWQ$_!{^bW)+XsVtu6!%1CvF)#oPDIe$;4bbR&JQPX#H?;@oDkWni=xdJNK{1 z8J5KDIg_Lg7Ms69d;KOy#yX-e0T=>f12Mknw)4(x!7-YiE6Inri5n{JqE1rF$t!;eE>O zukXCI%F1!SW9n!A=(M}nF?oLOgs!$tOcxRUGI+snYpH^JDGRpz$*85`u5I~zykq@> z9|qWEl8q@pR%YJk(Q;Bws$|b>C5$1NC#hvxR zr*cO4Oy-HgamvW%><3v55%XK7?{&Q$&zV;qsr71+K4d1=_a_MX({N3VGi|`Vk}8>* zR$cy7+n(2ViXnY$*?wHPj#ah%8!(&V^0&7b+a368VB-gH6;}BfS_1;q-#R8vijAP0mtI2(o+WtL@Y;0 zTFICp`Y60or`+90RYh^~KAcQf4n1L>6g9lOK_(POpZhX-LEFoj3(Xbf^hjOjUkF8R A$^ZZW literal 0 HcmV?d00001 diff --git a/install.sh b/install.sh new file mode 100755 index 0000000..7a5b8cd --- /dev/null +++ b/install.sh @@ -0,0 +1,8 @@ +# copie dossier +cp -r ../nordvpntray $HOME/.local/share/ +# Icône bureau +mkdir -p $HOME/.local/share/applications/ +cp nordvpntray.desktop $HOME/.local/share/applications/ +# on met le script en lien dans /usr/local/bin/ +sudo ln -s $HOME/.local/share/nordvpntray/nordvpntray.sh /usr/local/bin/nordvpntray + diff --git a/nord-logo.png b/nord-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..fe0a46259cc4509f69c9fdae8e1845df014bb7ef GIT binary patch literal 37085 zcmV)gK%~EkP)$d50@63G9bI!fHv&$}Qo7tJ&dw=5Y&fIeDDbM-W=kF5E;q-vh z15OW=a1XeOq3zjh)`cTm3~h1R;Pimg1EtjiMFC=^)n!g=ogQ#{pqP5V0kL8l4W}(m z4>�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 literal 0 HcmV?d00001 diff --git a/nordvpntray.desktop b/nordvpntray.desktop new file mode 100644 index 0000000..4ce48f3 --- /dev/null +++ b/nordvpntray.desktop @@ -0,0 +1,7 @@ +[Desktop Entry] +Version=1.0 +Type=Application +Name=NordVPN Graphique +Comment=Etat du service nordvpn +Icon=nordvpn +Exec=nordvpn sh $HOME/.local/share/nordvpntray/nordvpntray.sh diff --git a/nordvpntray.py b/nordvpntray.py new file mode 100755 index 0000000..414609c --- /dev/null +++ b/nordvpntray.py @@ -0,0 +1,304 @@ +import pystray +from PIL import Image +import threading # Import the threading module for creating threads + +from desktop_notifier import DesktopNotifier, Urgency, Button, ReplyField, DEFAULT_SOUND +from plyer import notification + +from urllib.request import Request +from urllib.request import urlopen +from urllib.request import URLError +import sys,os +import gobject +import json +import signal +import subprocess +from random import randint +from platform import system as system_name +from subprocess import call as system_call + +def ping(host): + fn = open(os.devnull, 'w') + param = '-n' if system_name().lower() == 'windows' else '-c' + command = ['ping', param, '1', host] + retcode = system_call(command, stdout=fn, stderr=subprocess.STDOUT) + fn.close() + return retcode == 0 + +def desktop_notifier(title, message, timeout=10, app_icon=None): + notification.notify( + title=title, + message=message, + timeout=timeout, + app_icon=app_icon, + ) + +def dns_leak(): + # Test fuites DNS + leak_id = randint(1000000, 9999999) + for x in range(0, 10): + ping('.'.join([str(x), str(leak_id), "bash.ws"])) + + response = urlopen("https://bash.ws/dnsleak/test/"+str(leak_id)+"?json") + dnsleak = "https://bash.ws/dnsleak/test/"+str(leak_id)+"?json" + '\n ' + data = response.read().decode("utf-8") + parsed_data = json.loads(data) + + dnsleak = dnsleak + '\n ' + "Votre IP " + for dns_server in parsed_data: + if dns_server['type'] == "ip": + if dns_server['country_name']: + if dns_server['asn']: + dnsleak = dnsleak + dns_server['ip'] + '\n ' + " [" + dns_server['country_name'] + ", " + dns_server['asn'] + "]" + '\n ' + else: + dnsleak = dnsleak + dns_server['ip'] + '\n ' + " [" + dns_server['country_name'] +" ]" + '\n ' + else: + dnsleak = dnsleak + dns_server['ip'] + '\n ' + + servers = 0 + for dns_server in parsed_data: + if dns_server['type'] == "dns": + servers = servers + 1 + + if servers == 0: + dnsleak = dnsleak + "No DNS servers found" + else: + dnsleak = dnsleak + '\n ' + "Vous utilisez " + str(servers) + " serveur(s) DNS " + for dns_server in parsed_data: + if dns_server['type'] == "dns": + if dns_server['country_name']: + if dns_server['asn']: + dnsleak = dnsleak + dns_server['ip'] + '\n ' + " [" + dns_server['country_name'] + ", " + dns_server['asn'] + "]" + '\n ' + else: + dnsleak = dnsleak + dns_server['ip'] + '\n ' + " [" + dns_server['country_name'] + "]" + '\n ' + else: + dnsleak = dnsleak + dns_server['ip'] + '\n ' + + dnsleak = dnsleak + '\n ' + "Conclusion:" + for dns_server in parsed_data: + if dns_server['type'] == "conclusion": + if dns_server['ip']: + dnsleak = dnsleak + dns_server['ip'] + # Retour dnsleak + # print(dnsleak) + return dnsleak + +def NordVPN(commande, option=""): + global connexion, stest + match commande: + case "status": + sortie=os.popen("nordvpn status", "r").read() + titre="Statut VPN" + case "settings": + sortie=os.popen("nordvpn settings", "r").read() + titre="Paramètres VPN" + case "test": + sortie="Pour les tests" + titre="TESTS" + #desktop_notifier(titre, "Ceci est test",10,images + "nordvpn.jpg") + if stest: + stest = False + icon.icon = connected_img + else: + stest = True + icon.icon = disconnected_img + case "connect": + titre="Connexion VPN" + if not connexion: + sortie=os.popen("nordvpn connect", "r").read() + connexion = True + print(sortie) + icon.icon = connected_img + cmdcli=os.popen("nordvpn status", "r").read() + if not "Disconnected" in cmdcli: + # VPN actif + for line in cmdcli.split('\n'): + if "Server:" in line: + # Extraire le serveur avec suppression espaces début fin + serveur=line[len("Server:"):].strip() + icon.title=serveur + else: + print(sortie) + sortie="Connexion VPN active" + case "disconnect": + titre="Déconnexion VPN" + sortie=os.popen("nordvpn disconnect", "r").read() + if "You are not connected to NordVPN" in sortie: + sortie="Vous n'êtes pas connecté à NordVPN" + print(sortie) + connexion = False + print(sortie) + icon.icon = disconnected_img + icon.title="Déconnecté" + case "login": + titre="Connexion Compte" + if not connexion: + sortie=os.popen("nordvpn login", "r").read() + else: + sortie=os.popen("nordvpn account", "r").read() + case "dnsleak": + # appel fonction et affichage + titre="DNS Leak test (fuites)" + sortie=dns_leak() + case "countries": + # groupes de serveur + titre="Groupes de serveur" + sortie=os.popen("nordvpn countries", "r").read() + case "groups": + # groupes de serveur + titre="Groupes de serveur" + sortie=os.popen("nordvpn groups", "r").read() + case "version": + titre="Version NordVPN" + sortie=os.popen("nordvpn version", "r").read() + case "_": + print("Oops, quelque chose s'est mal passé 🤯") + + # analyse résultat des commandes bash nordvpn + print(sortie) + message = sortie.replace("Server", "Serveur") + message = message.replace("Hostname", "Nom hôte") + message = message.replace("Country", "Pays") + message = message.replace("City", "Ville") + message = message.replace("Current technology", "Technologie actuelle") + message = message.replace("Current protocol", "Protocole actuel") + message = message.replace("Transfer", "Transfert") + message = message.replace("Uptime", "Temps de fonction") + message = message.replace("Connected", "Connecté") + message = message.replace("Disconnected", "Déconnecté") + message = message.replace("second", "seconde") + message = message.replace("Disabled", "Inactif") + message = message.replace("Enabled", "Actif") + message = message.replace("disabled", "Inactif") + message = message.replace("enabled", "Actif") + message = message.replace("Connecting to", "Se connecter à") + message = message.replace("You are connected to", "Vous êtes connecté à") + if commande=="disconnect": + message="Vous êtes déconnecté de NordVPN" + desktop_notifier(titre, message,10,images + "nordvpn.jpg") + #print(message) + + +def after_click(icon, query): + match str(query): + case "Status": + NordVPN("status") + case "Paramètres": + NordVPN("settings") + case "Connexion VPN rapide": + NordVPN("connect") + case "Déconnexion VPN": + NordVPN("disconnect") + case "Fuites DNS": + NordVPN("dnsleak") + case "Connexion/Infos Compte": + NordVPN("login") + case "TEST": + NordVPN("test") + case "Groupes de serveurs": + NordVPN("groups") + case "Pays": + NordVPN("countries") + case "Version": + NordVPN("version") + case "Quitter": + icon.stop() + +def vpnactif(): + # Tester si la connexion VPN est active + cmdcli=os.popen("nordvpn status", "r").read() + print(cmdcli) + if not "Disconnected" in cmdcli: + # VPN actif + for line in cmdcli.split('\n'): + if "Server:" in line: + # Extraire le serveur avec suppression espaces début fin + serveur=line[len("Server:"):].strip() + icon.title=serveur + return True + else: + # VPN inactif + icon.title="VPN inactif" + return False + +def on_clicked(icon, item): + global state + state = not item.checked + +''' +# Départ programme +On regarde si le service nordvpnd est actif +''' + +# récupérer le chemin du répertoire courant +chemin_courant = os.getcwd() + "/" +print("Le répertoire courant est : " + chemin_courant ) +images = chemin_courant + "img/" +print("Le répertoire images est : " + images ) + +state = False + +# on regarde si le service nordvpnd est actif pour afficher la couleur du bouton +etat=os.popen("systemctl is-active nordvpnd.service").read() +if 'inactive' in etat: + # nordvpnd inactif + print("Service nordvpnd inactif") + desktop_notifier("Service nordvpnd", "Le service NordVPN daemon est inactif",10,images + "nordvpn.jpg") + # On arrête le script + sys.exit("Service nordvpnd inactif") +else: + print("Service nordvpnd actif") + +# Définir les images pour le systray +connected_img = Image.open(images + "nord-logo-vert.png") # image connexion NordVPN active +disconnected_img = Image.open(images + "nord-logo-rouge.png") # image connexion NordVPN inactive + +stest = True + +icon = pystray.Icon("VPN") + +# Test si connexion active +if vpnactif(): + # VPN actif + connexion = True + icon.icon = connected_img + print("VPN actif") +else: + # VPN inactif + connexion = False + icon.icon = disconnected_img + icon.title="Déconnecté" + print("VPN inactif") + +icon.menu= pystray.Menu( + pystray.MenuItem("Status", + after_click), + pystray.MenuItem("Paramètres", + after_click), + pystray.MenuItem("Fuites DNS", + after_click), + pystray.MenuItem("Connexion VPN rapide", + after_click), + pystray.MenuItem("Déconnexion VPN", + after_click), + pystray.MenuItem("Connexion/Infos Compte", + after_click), + pystray.MenuItem("TEST", + after_click), + pystray.MenuItem("Listes", + pystray.Menu( + pystray.MenuItem('Groupes de serveurs', + after_click), + pystray.MenuItem('Pays', + after_click), + pystray.MenuItem('On/Off', + on_clicked,checked=lambda item: state), + pystray.MenuItem('Version', + after_click) + + )), + pystray.MenuItem("Quitter", + after_click) + ) + +icon.run() diff --git a/nordvpntray.sh b/nordvpntray.sh new file mode 100755 index 0000000..aa8febe --- /dev/null +++ b/nordvpntray.sh @@ -0,0 +1,7 @@ +# Lancement nordvpntray +# Dossier travail +cd $HOME/.local/share/nordvpntray +# Chemin +export PATH="$HOME/.local/share/nordvpntray/venv/bin:$PATH" +# Exécution script +python nordvpntray.py diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..df26192 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,9 @@ +pystray +pillow +ping3 +plyer +desktop-notifier +dbus-python +wheel +urllib3 +PyGObject