Forum Freedom-IP

Forum d'entraide de la communauté Freedom-IP

Vous n'êtes pas identifié(e).

#1 2012-02-21 11:54:16

misterzen
Membre
Inscription : 2012-02-11
Messages : 38

Ouverture et fermeture auto des applications avec OpenVPN [Windows]

VPNCheck permet de couper vos applications en cas de déconnexion de votre VPN.

Mais pourquoi utiliser un logiciel externe alors que OpenVPN apporte déjà cette solution ??  big_smile

Il suffit de créer 2 fichiers.txt puis de modifier leurs extensions en .bat

- <nomserveur>_up.bat (qui sera lancé dès que le VPN sera connecté au serveur) -> Ne fonctionne pas sur les anciennes versions de OpenVPN !!
- <nomserveur>_down.bat (qui sera lancé dès que le VPN sera déconnecté du serveur)

<nomserveur> est le nom du serveur auquel le VPN va se connecter.
Par exemple, pour le serveur NL2_freedomip.ovpn, on va donc mettre NL2_freedomip_up.bat et NL2_freedomip_down.bat
(J'ai donc créé ces 2 fichiers.bat pour chaque serveur).

Ensuite, il faut copier ces fichiers.bat dans le dossier config de OpenVPN -> C:\Program Files (x86)\OpenVPN\config\

Illustration (edit Antonin) :
18988778.jpg

Maintenant, on va remplir ces 2 fichiers.bat :
(Modifier le code en fonction de vos besoins, le code ci-dessous permet de lancer ou de fermer uTorrent et d'ajouter dans un fichier log la date et l'heure de la connexion et de la déconnexion du VPN juste pour avoir un traçage de ce qu'a fait le VPN pendant que vous êtes pas là ! Le fichier log est remis à zero à la 40ème ligne)

Pour <nomserveur>_up.bat, clic droit -> ouvrir avec bloc note ou autre et mettre :

set /a Compt=0
for /f "delims=" %%i in (logVPN.txt) do (
set /a Compt+=1
cls
)
cls
if %Compt% LSS 40 (
	echo %date% %time:~0,8% - Connexion VPN >> logVPN.txt
)else ( 
	echo %date% %time:~0,8% - Connexion VPN > logVPN.txt
)
start C:\Progra~2\uTorrent\uTorrent.exe

Illustration pour NL2_freedomip_up.bat avec l'application P2P µtorrent (edit Antonin) :
97019281.jpg

Pour <nomserveur>_down.bat :

Taskkill /F /IM utorrent.exe /T
cls
set /a Compt=0
for /f "delims=" %%i in (logVPN.txt) do (
set /a Compt+=1
cls
)
cls
if %Compt% LSS 40 (
    echo %date% %time:~0,8% - Deconnexion VPN >> logVPN.txt
)else ( 
    echo %date% %time:~0,8% - Deconnexion VPN > logVPN.txt
)

Illustration pour NL2_freedomip_down.bat avec l'application P2P µtorrent (edit Antonin) :
downsf.jpg

Pour les systèmes x32, remplacer Progra~2 par Progra~1
Remplacer "utorrent.exe" par le processus du programme que vous désirez. Pour voir le nom du processus d'un programme -> Lancer le programme puis allez dans le gestionnaire des tâches de Windows (Ctrl + Alt + Suppr) -> Onglet Processus
Pour fermer une deuxième application :
rajouter une nouvelle ligne Taskkill /F /IM application.exe /T en dessous de l'autre.
Pour ouvrir une deuxième application :
rajouter une nouvelle ligne start C:\Progra~2\...\application.exe en dessous de l'autre.

Maintenant, pour tester la manip, lancez OpenVPN et connectez-vous à un serveur. Si vous avez suivi mon tuto, votre application doit se lancer.
Si vous déconnectez OpenVPN, votre application doit se fermer. Ensuite, allez voir le fichier log créé dans C:\Program Files (x86)\OpenVPN\config, il doit retracer l'activité de OpenVPN.

EDIT Antonin : La méthode décrite ci-dessus FONCTIONNE parfaitement. Tous les posts suivants sont justes des remarques ou améliorations personnelles, des uns et des autres.

Dernière modification par misterzen (2012-02-28 09:18:02)

Hors ligne

#2 2012-02-21 12:25:15

Thelonious
Membre
Inscription : 2012-01-29
Messages : 38

Re : Ouverture et fermeture auto des applications avec OpenVPN [Windows]

Bonjour misterzen,

      Et bien grand merci M'sieur... C'est du bien bel ouvrage fort utile que vous nous proposez là ! smile

      J'ai juste testé pour la déconnexion d'Utorrent et ça fonctionne au quart de tour avec en prime le log de déconnexion.

        En plus ça fait un logiciel de moins à laisser tourner.

        Bravo et encore merci ! lol

Hors ligne

#3 2012-02-21 13:04:59

David
Bof !!!
Inscription : 2012-01-30
Messages : 6 032

Re : Ouverture et fermeture auto des applications avec OpenVPN [Windows]

Bonjour ...

Je ne sais pas si c'est valable pour Windows, mais il existe 2 "tag" utiles dans OpenVPN (ça évite d'avoir des scripts identiques sous différents nom.bat pour chaque serveur):

up   <up_script>
down <down_script>

les paramètres passés au script sont les suivants :

  • dev : nom de périphérique TUN/TAP

  • mtu : MTU avec laquelle le TUN/TAP a été configuré

  • link_mtu : MTU avec laquelle le Lien a été configuré

  • local_ip : Adresse IP Locale (client)

  • remote_ip : Adresse IP Distante (serveur)

  • mode : init ou restart

Donc, à chaque connection au VPN, le <up_script> sera exécuté... donc vous pouvez lancer les applications que vous souhaitez, modifier le routage, ..., et à chaque déconnection ou arrêt du VPN, le <down_script> sera exécuté et il vous suffit d'arrêter les applications précédemment lancées.

Ensuite, il y a des subtilités en fonction des options / paramètres... par exemple, si 'persist-tun' est défini, la déconnection et reconnection du VPN ne passeront pas par les scripts car, le périphérique est toujours actif, même si le serveur n'est plus connecté à l'autre bout durant la période de reconnection.

De plus, en ajoutant des sections '<connection>', vous allez vous connecter aléatoirement à l'un des serveurs de votre liste :

client

proto tcp
dev tun

remote-random

<connection>
  remote <nom du serveur 1>
  port <port du serveur 1>
</connection>

<connection>
  remote <nom du serveur 2>
  port <port du serveur 2>
</connection>

...

<connection>
  remote <nom du serveur n>
  port <port du serveur n>
</connection>

resolv-retry infinite

ca <chemin vers le fichier 'ca.crt'>
tls-auth <chemin vers le fichier 'ta.key'> 1
auth-user-pass <chemin vers le fichier 'passwd' pour l'authentification automatique>

cipher XXXXXXXXX
comp-lzo
verb 2
nobind
ns-cert-type server

up   <chemin vers le script 'up.bat'>
down <chemin vers le script 'down.bat'>

Un serveur est à son maximum d'utilisateur, pas de problème, OpenVPN en essaie un autre...

Cordialement, David.


C.G.U.                Règles                Wiki

Hors ligne

#4 2012-02-21 14:12:07

misterzen
Membre
Inscription : 2012-02-11
Messages : 38

Re : Ouverture et fermeture auto des applications avec OpenVPN [Windows]

J'essayerai ce soir, sa peut être utile pour ne pas avoir plusieurs fichiers.bat identiques avec les différents nom de serveurs mais bon c'est optionnel  big_smile

Sinon j'ai vu sur le net que l'IPV6 revelait notre vrai adresse IP (parfois utilisé sur certains sites ou même parfois les logiciels de torrents comme uTorrent) donc voici les 2 procédures pour désactivé tout ça et être tranquille (uniquement sur Windows 7):

Desactivé IPv6 stack:

1. Ouvrir l'editeur de registre. (Demarrer ->  Entrer « regedit » dans la zone de recherche) 
2. Rechercher la clé:   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\ 
3. Clic droit sur « parametre » et selectionner « nouveau » puis « valeur DWORD (32-bit) » 
4. Entrer le nom de la clé:  DisabledComponents 
5. Puis entrer la valeur hexadecimale: 0xffffffff

Maintenant, La clé doit avoir comme valeur : « 0x41ffffff ».
Remetre la valeur à 0 pour reactiver le protocole IPV6

Desactivé Teredo Tunneling Protocol:

 
1. Clic droit sur le poste de travail -> gerer
2. Clic sur le gestionnaire de péripheriques
3. Ensuite faite affichage-> Afficher les péripheriques cachés
4. Rechercher Teredo Tunneling Pseudo-Interface dans carte réseau
5. Clic droit dessus et desactiver

Dernière modification par misterzen (2012-02-28 16:03:11)

Hors ligne

#5 2012-02-23 10:50:23

misterzen
Membre
Inscription : 2012-02-11
Messages : 38

Re : Ouverture et fermeture auto des applications avec OpenVPN [Windows]

J'ai fait une erreur dans les scripts des fichiers.bat
J'ai mis à jour le post  big_smile

Hors ligne

#6 2012-02-24 10:20:08

rsv1000r
Membre
Inscription : 2012-02-19
Messages : 27

Re : Ouverture et fermeture auto des applications avec OpenVPN [Windows]

MERCI
ça fonctionne bien sur mon pc sous win7 x64 je n'ai eu qu'à copier/coller tes instructions
une petite question cependant : c'est pas un peu violent pour le programme en écriture -sans le citer tongue - d’arrêter le processus?


pas cowboy,
gardien de vaches!

Hors ligne

#7 2012-02-24 10:42:20

misterzen
Membre
Inscription : 2012-02-11
Messages : 38

Re : Ouverture et fermeture auto des applications avec OpenVPN [Windows]

rsv1000r a écrit :

MERCI
ça fonctionne bien sur mon pc sous win7 x64 je n'ai eu qu'à copier/coller tes instructions
une petite question cependant : c'est pas un peu violent pour le programme en écriture -sans le citer tongue - d’arrêter le processus?

La commande que j'utilise pour fermer le programme : Taskkill /F /IM processus.exe /T

Explication :
"/F" force le processus à ce terminer.
"/IM processus.exe" permet de spécifier le nom du processus.
"/T"  permet de fermer également les processus enfant qu'il a demarré.

Donc non c'est pas violent pour uTorrent, le programme est fermé proprement car il n'a pas besoin d'être enregistré avant fermeture et nous on veut que uTorrent soit coupé pour pas qu'il prenne notre vrai IP lors de la deco du VPN. Beaucoup de programmes utilisent des commandes DOS donc ne t'inquiette pas big_smile

Après si tu veux fermer un programme comme un editeur de texte, le "/F" ne te proposera pas d'enregistrer les modifications avant fermeture car le "/F" force le programme à le fermer. Donc il suffit d'enlever le "/F" et la commande sera similaire à la croix rouge, il te proposera d'enregistrer les modifications avant fermeture.

Dernière modification par misterzen (2012-02-24 11:19:13)

Hors ligne

#8 2012-02-24 10:50:58

Freedom-IP
Administrateur
Inscription : 2011-11-20
Messages : 1 819

Re : Ouverture et fermeture auto des applications avec OpenVPN [Windows]

Tuto très intéressant ! je ne connaissait pas ! Merci à toi misterzen

Hors ligne

#9 2012-02-24 11:06:12

rsv1000r
Membre
Inscription : 2012-02-19
Messages : 27

Re : Ouverture et fermeture auto des applications avec OpenVPN [Windows]

merci pour tes éclaircissements misterzen
je suis fan

l'essayer c'est l'adopter


pas cowboy,
gardien de vaches!

Hors ligne

#10 2012-02-24 11:25:08

misterzen
Membre
Inscription : 2012-02-11
Messages : 38

Re : Ouverture et fermeture auto des applications avec OpenVPN [Windows]

Petite astuce :

A la ligne : start C:\Progra~2\uTorrent\uTorrent.exe

si vous rajoutez /minimized a la fin -> C:\Progra~2\uTorrent\uTorrent.exe /minimized

uTorrent sera reduit automatiquement dans la barre des taches au lancement.

Hors ligne

#11 2012-02-24 12:49:09

rsv1000r
Membre
Inscription : 2012-02-19
Messages : 27

Re : Ouverture et fermeture auto des applications avec OpenVPN [Windows]

oui on peut le régler aussi directement dans l'interface dudit programme :
Options / Préférences / Général / sous la rubrique "Intégration Windows" : case à cocher "Lancer avec la fenêtre minimser"


pas cowboy,
gardien de vaches!

Hors ligne

#12 2012-02-24 13:32:55

Zikman
Membres de confiance
Inscription : 2012-01-22
Messages : 93

Re : Ouverture et fermeture auto des applications avec OpenVPN [Windows]

Bonjour,
Merci pour ce très bon tuto !
Toujours aussi efficace le .bat ! wink

Hors ligne

#13 2012-02-27 14:04:18

misterzen
Membre
Inscription : 2012-02-11
Messages : 38

Re : Ouverture et fermeture auto des applications avec OpenVPN [Windows]

J'ai amelioré le script de fermeture des applications lors d'une deco VPN. En effet, lorsque le script s'execute, uTorrent ce ferme mais l'icone reste dans le barre des tâches (Systray), il faut passer la souris dessus pour que l'icone disparait. J'ai donc rajouté 3 lignes dans le script de fermeture pour actualiser le systray.

Pour <nomserveur>_down.bat :

Taskkill /F /IM utorrent.exe /T
cls
set /a Compt=0
for /f "delims=" %%i in (logVPN.txt) do (
set /a Compt+=1
cls
)
cls
if %Compt% LSS 40 (
    echo %date% %time:~0,8% - Deconnexion VPN >> logVPN.txt
)else ( 
    echo %date% %time:~0,8% - Deconnexion VPN > logVPN.txt
)
taskkill /f /IM explorer.exe
cls
start explorer.exe

Dernière modification par misterzen (2012-02-28 00:45:22)

Hors ligne

#14 2012-02-27 14:11:00

Antonin
Membres de confiance
Inscription : 2011-11-28
Messages : 3 729

Re : Ouverture et fermeture auto des applications avec OpenVPN [Windows]

Bonjour misterzen,

Un très grand merci à toi.

Hors ligne

#15 2012-02-27 19:27:03

rsv1000r
Membre
Inscription : 2012-02-19
Messages : 27

Re : Ouverture et fermeture auto des applications avec OpenVPN [Windows]

ouah! misterzen!
je n'avais même pas remarqué ce détail qui tue  yikes
je teste ça en rentrant à la maison
pour ma part j'enlève le /F comme tu le suggères plus haut c'est peut-être inutile mais je suis rassuré smile
merci


pas cowboy,
gardien de vaches!

Hors ligne

#16 2012-02-27 21:56:19

KubyFly
Membre
Inscription : 2012-02-27
Messages : 19

Re : Ouverture et fermeture auto des applications avec OpenVPN [Windows]

Un grand merci pour ce script.

Mais il y a un problème de taille (pour mon cas) ^^

En utilisant ton script pour clean les icônes dans le systray :

Taskkill /F /IM utorrent.exe /T
cls
set /a Compt=0
for /f "delims=" %%i in (logVPN.txt) do (
set /a Compt+=1
cls
)
cls
if %Compt% LSS 40 (
    echo %date% %time:~0,8% - Deconnexion VPN >> logVPN.txt
)else (
    echo %date% %time:~0,8% - Deconnexion VPN > logVPN.txt
)
taskkill /f /IM explorer.exe
cls
start explorer.exe

Toutes les apllis sont killer (tout a disparu) et ensuite je n'ai accès à plus rien.
Obliger de fermer la session par le biais du gestionnaire de tâche.
Une petite idée du problème ? ^^

Dernière modification par KubyFly (2012-02-27 21:56:44)


La liberté est acquise lorsqu'elle est partagée par tous !

Hors ligne

#17 2012-02-27 23:07:46

rsv1000r
Membre
Inscription : 2012-02-19
Messages : 27

Re : Ouverture et fermeture auto des applications avec OpenVPN [Windows]

j'avais pas encore essayé ... je vais peu-être attendre que le problème soulevé par Kubyfly soit résolu.
je suis pas l'informaticien de service juste le mec qui emmène brouter les boeufs mais...

de la même manière qu'il faut le "guider" jusqu'à utorrent.exe est-ce qu'il cherche seul explorer.exe ou faut-il l'emmener jusqu'à l’exécutable???
un peu dans ce genre :

....
taskkill /F /IM explorer.exe
cls
start C:\Windows\explorer.exe


PS : j'ai toujours du mal avec le killtask, encore plus s'il s'agit du susceptible windows explorer
je crois que je vais laisser l'icone dans le systray
elle ne m'embète pas plus que ça  glasses

Dernière modification par rsv1000r (2012-02-27 23:09:50)


pas cowboy,
gardien de vaches!

Hors ligne

#18 2012-02-28 00:21:44

misterzen
Membre
Inscription : 2012-02-11
Messages : 38

Re : Ouverture et fermeture auto des applications avec OpenVPN [Windows]

Tu as raison rsv1000r, les sytèmes 64bits doivent avoir du mal à trouver explorer.exe et du coup j'ai le même problème qu'avec KubyFly en 64bits alors qu'en 32 bits sa fonctionne. J'ai donc rajouté ça et cela semble bien fonctionner :

start C:\Windows\explorer.exe
exit

ce qui nous donne :

Taskkill /F /IM utorrent.exe /T
cls
set /a Compt=0

for /f "delims=" %%i in (logVPN.txt) do (
set /a Compt+=1
cls
)
cls
if %Compt% LSS 40 (
	echo %date% %time:~0,8% - Deconnexion VPN NL2>> logVPN.txt
)else ( 
	echo %date% %time:~0,8% - Deconnexion VPN NL2> logVPN.txt
)
taskkill /f /IM explorer.exe
cls
start C:\Windows\explorer.exe
exit

Tenez moi au courant sinon si le problème revient, au lieu de redemarrer la session, faites Ctrl + alt + suppr puis fichier -> nouvelle tâche puis entrer explorer.exe

Dernière modification par misterzen (2012-02-28 00:23:33)

Hors ligne

#19 2012-02-28 10:48:22

KubyFly
Membre
Inscription : 2012-02-27
Messages : 19

Re : Ouverture et fermeture auto des applications avec OpenVPN [Windows]

C'est bon, ça marche. ^^
Petite question tout de même qui a sans doute une importance, si jamais il se produit une déco serveur (vpn ou autre), le temps que ça recharge l'interface et le reste, il y a pas un risque que openvpn ne se reconnect  plus (un timeout ou autre) ? De plus, lorsque j'ouvre pas mal d'applis, dès que je deco openvpn, et que le process taskill (3 dernières lignes) se lance, ça me ferme (définitivement) la moitié de mes apllis, et mon centre de réseau et partage de relance etc... J'ai chercher sur le net, mais j'ai pas trouvé de solution.

Pour ma part, je vais quand même, pour le moment, rester sur ta première méthode, je préfère encore voir un tray icon en double ou en triple que de me poser des questions sur le reste. Après ça n'engage que moi (mode parano oblige) smile

Bravo tout de même et encore merci smile

Dernière modification par KubyFly (2012-02-28 10:49:13)


La liberté est acquise lorsqu'elle est partagée par tous !

Hors ligne

#20 2012-02-28 16:00:20

misterzen
Membre
Inscription : 2012-02-11
Messages : 38

Re : Ouverture et fermeture auto des applications avec OpenVPN [Windows]

taskkill /f /IM explorer.exe
cls
start C:\Windows\explorer.exe
exit

Ce morceaux de code reste bien sur optionnel, c'est juste pour avoir quelque chose de plus propre. VPNCheck met pas a jour la systray lui non plus lorsqu'il ferme uTorrent (il doit utiliser la même methode?!? big_smile) uTorrent est bien fermé mais le rafraichissement de cette systray est toujours laborieuse, le seul moyen que j'avais trouvé est de redemarrer explorer.exe. De mon côté, les applications ouvertes à côté ne sont pas fermés, elles sont reaffichées après le redemarrage de explorer.exe.
Sinon pour repondre à ta question : "le temps que ça recharge l'interface et le reste, il y a pas un risque que openvpn ne se reconnect plus (un timeout ou autre)" je ne pense pas car explorer.exe ne touche pas aux processus, il sert juste à l'interface graphique de windows.

Dernière modification par misterzen (2012-02-28 16:00:39)

Hors ligne

#21 2012-02-28 21:21:14

Mattero
Membre
Inscription : 2012-02-12
Messages : 13

Re : Ouverture et fermeture auto des applications avec OpenVPN [Windows]

David a écrit :

Bonjour ...

Je ne sais pas si c'est valable pour Windows, mais il existe 2 "tag" utiles dans OpenVPN (ça évite d'avoir des scripts identiques sous différents nom.bat pour chaque serveur):

up   <up_script>
down <down_script>

les paramètres passés au script sont les suivants :

  • dev : nom de périphérique TUN/TAP

  • mtu : MTU avec laquelle le TUN/TAP a été configuré

  • link_mtu : MTU avec laquelle le Lien a été configuré

  • local_ip : Adresse IP Locale (client)

  • remote_ip : Adresse IP Distante (serveur)

  • mode : init ou restart

Donc, à chaque connection au VPN, le <up_script> sera exécuté... donc vous pouvez lancer les applications que vous souhaitez, modifier le routage, ..., et à chaque déconnection ou arrêt du VPN, le <down_script> sera exécuté et il vous suffit d'arrêter les applications précédemment lancées.

Ensuite, il y a des subtilités en fonction des options / paramètres... par exemple, si 'persist-tun' est défini, la déconnection et reconnection du VPN ne passeront pas par les scripts car, le périphérique est toujours actif, même si le serveur n'est plus connecté à l'autre bout durant la période de reconnection.

De plus, en ajoutant des sections '<connection>', vous allez vous connecter aléatoirement à l'un des serveurs de votre liste :

client

proto tcp
dev tun

remote-random

<connection>
  remote <nom du serveur 1>
  port <port du serveur 1>
</connection>

<connection>
  remote <nom du serveur 2>
  port <port du serveur 2>
</connection>

...

<connection>
  remote <nom du serveur n>
  port <port du serveur n>
</connection>

resolv-retry infinite

ca <chemin vers le fichier 'ca.crt'>
tls-auth <chemin vers le fichier 'ta.key'> 1
auth-user-pass <chemin vers le fichier 'passwd' pour l'authentification automatique>

cipher XXXXXXXXX
comp-lzo
verb 1
nobind
ns-cert-type server

up   <chemin vers le script 'up.bat'>
down <chemin vers le script 'down.bat'>

Un serveur est à son maximum d'utilisateur, pas de problème, OpenVPN en essaie un autre...

Cordialement, David.

J'aimerais bien utiliser cette méthode mais sous Windows il faut insérer dans le fichier de configuration la ligne "script-security x" avec x=3 ou plus pour que le script puisse s'exécuter. Le script pour la connexion fonctionne correctement mais concernant le script pour la déconnexion, OpenVPN ne semble pas vouloir exécuter la commande TASKKILL. J'ai essayé avec la commande TSKILL, c'est la même chose, le log montre :

'taskkill' n'est pas reconnu en tant que commande interne
ou externe, un programme ex‚cutable ou un fichier de commandes.

EDIT :

Solution trouvée rapidement : en réalité, le script ne s'exécute pas à partir du répertoire de CMD.EXE comme lorsque l'on clique sur un fichier .BAT mais à partir d'un autre répertoire, surement celui d'OpenVPN.
Il suffit donc de modifier le script de cette façon :

[== down.bat ==]
C:\Windows\System32\Taskkill /F /IM utorrent.exe /T
cls
set /a Compt=0
for /f "delims=" %%i in (logVPN.txt) do (
set /a Compt+=1
cls
)
cls
if %Compt% LSS 40 (
    echo %date% %time:~0,8% - Deconnexion VPN >> logVPN.txt
)else (
    echo %date% %time:~0,8% - Deconnexion VPN > logVPN.txt
)

Je n'ai pas utilisé la partie qui consiste à tuer le processus EXPLORER.EXE car je la trouve trop brutale (pour preuve des icônes manquent dans le systray lorsque l'on lance à nouveau EXPLORER.EXE), et de toute façon, si on utilise la méthode expliquée par David, cette partie du code fait bugger OpenVPN même si elle s'exécute.

Donc en résumé pour utiliser seulement deux fichiers .BAT pour l'ensemble des serveurs (on les notera "up.bat" et "down.bat" pour l'exemple), il faut rajouter les lignes "up up.bat", "down down.bat" et "script-security 3" aux fichiers de configuration (.OVPN) de chaque serveur sans oublier de créer les fichiers .BAT, et de modifier leur commande TASKKILL comme ci-dessus.

Bonne soirée smile

Dernière modification par Mattero (2012-02-28 21:42:58)

Hors ligne

#22 2012-02-29 00:38:55

Mattero
Membre
Inscription : 2012-02-12
Messages : 13

Re : Ouverture et fermeture auto des applications avec OpenVPN [Windows]

Une autre remarque en passant : il est préférable de retirer l'option /F de la commande TASKKILL pour fermer "uTorrent.exe", mais étant donné que la commande serait équivalente à la croix de fermeture de la fenêtre de µTorrent, il est nécessaire de décocher l'option "Bouton fermeture minimise µTorrent" dans Options -> Interface.
Cela permet à µTorrent de se fermer correctement et donc à l'icône du Systray de disparaitre correctement sans avoir besoin de tuer et de relancer "explorer.exe" de façon brutale. De plus, cela permet une dernière actualisation du ratio vers les trackers, qui n'a pas lieu dans le cas où µTorrent est fermé brutalement.
Alors vu que la commande n'est pas forcée, il est possible que pour une raison ou une autre, µTorrent ne se ferme pas (car il ne répond pas par exemple) même si ce risque est vraiment nul.
C'est pourquoi j'ai un peu modifié le script en insérant un test après la commande TASKKILL sans l'option /F pour vérifier si le processus est toujours en cours d'exécution, si oui, alors le script relance la commande TASKKILL avec l'option /F.

Voici mes scripts, avec le chemin complet des commandes (ainsi ils fonctionnent avec la méthode qu'a expliqué David) :

[== down.bat ==]
C:\Windows\System32\taskkill /IM utorrent.exe /T
C:\Windows\System32\ping 127.0.0.1 -n 10>nul
C:\Windows\System32\tasklist /FI "IMAGENAME eq utorrent.exe" | C:\Windows\System32\find /i "utorrent.exe">nul
IF ERRORLEVEL 1 GOTO OK
C:\Windows\System32\taskkill /F /IM utorrent.exe /T
:OK
cls
set /a Compt=0
for /f "delims=" %%i in (logVPN.txt) do (
set /a Compt+=1
cls
)
cls
if %Compt% LSS 40 (
    echo %date% %time:~0,8% - Deconnexion VPN >> logVPN.txt
)else (
    echo %date% %time:~0,8% - Deconnexion VPN > logVPN.txt
)
[== up.bat ==]
C:\Windows\System32\taskkill /IM utorrent.exe /T
C:\Windows\System32\ping 127.0.0.1 -n 10>nul
C:\Windows\System32\tasklist /FI "IMAGENAME eq utorrent.exe" | C:\Windows\System32\find /i "utorrent.exe">nul
IF ERRORLEVEL 1 GOTO OK
C:\Windows\System32\taskkill /F /IM utorrent.exe /T
:OK
cls
set /a Compt=0
for /f "delims=" %%i in (logVPN.txt) do (
set /a Compt+=1
cls
)
cls
if %Compt% LSS 40 (
    echo %date% %time:~0,8% - Connexion VPN >> logVPN.txt
)else (
    echo %date% %time:~0,8% - Connexion VPN > logVPN.txt
)
start C:\Progra~2\uTorrent\uTorrent.exe /minimized

La commande PING que j'utilise est l'astuce permettant au script d'attendre 10 secondes (afin d'être sûr que le µTorrent a le temps de se fermer normalement).

Cette fois, bonne fin de soirée smile

EDIT :

Dernière modification du script up.bat (permet un lancement immédiat dans le cas où µTorrent n'est pas en cours d'exécution : dans le script ci-dessus, le lancement est effectuée après 10 secondes à cause de la commande PING) :

[== up.bat ==]
C:\Windows\System32\tasklist /FI "IMAGENAME eq utorrent.exe" | C:\Windows\System32\find /i "utorrent.exe">nul
IF ERRORLEVEL 1 GOTO OK
C:\Windows\System32\taskkill /IM utorrent.exe /T
C:\Windows\System32\ping 127.0.0.1 -n 10>nul
C:\Windows\System32\tasklist /FI "IMAGENAME eq utorrent.exe" | C:\Windows\System32\find /i "utorrent.exe">nul
IF ERRORLEVEL 1 GOTO OK
C:\Windows\System32\taskkill /F /IM utorrent.exe /T
:OK
cls
set /a Compt=0
for /f "delims=" %%i in (logVPN.txt) do (
set /a Compt+=1
cls
)
cls
if %Compt% LSS 40 (
    echo %date% %time:~0,8% - Connexion VPN >> logVPN.txt
)else (
    echo %date% %time:~0,8% - Connexion VPN > logVPN.txt
)
start C:\Progra~2\uTorrent\uTorrent.exe /minimized

Dernière modification par Mattero (2012-02-29 00:46:55)

Hors ligne

#23 2012-03-01 21:51:51

KubyFly
Membre
Inscription : 2012-02-27
Messages : 19

Re : Ouverture et fermeture auto des applications avec OpenVPN [Windows]

Ca commence à devenir sympathique tout ca.
GG ^^


La liberté est acquise lorsqu'elle est partagée par tous !

Hors ligne

#24 2012-03-01 22:14:02

sploutch
Membre
Inscription : 2012-03-01
Messages : 1

Re : Ouverture et fermeture auto des applications avec OpenVPN [Windows]

Salut à tous,
Si je peut me permettre, vous devriez modifier cette ligne :

start C:\Progra~2\uTorrent\uTorrent.exe

par :

start "" "C:\Program Files\uTorrent\uTorrent.exe"

De cette manière, l'invite de commande s'ouvre et se ferme aussi tôt et vous pouvez utiliser les chemin d’accès complet.

Hors ligne

#25 2012-03-02 10:21:27

KubyFly
Membre
Inscription : 2012-02-27
Messages : 19

Re : Ouverture et fermeture auto des applications avec OpenVPN [Windows]

Oui et Non.

Pour faire simple :

quand vous installez une version 64-bit, deux répertoires "Program Files" sont créés :

  • Program Files

  • Program Files (x86)

le premier est le répertoire principale pour les applications 64bits et le 2ème pour les applications 32bits.

La ligne de commande "start" est effectuée (ici en v64bits) en mode "dos émulé".
A l'époque, il fallait mettre un maximum de 8 caractères pour rentrer dans un dossier ou lancer un programme. les espaces n'était pas pris en compte. (du moins j'ai pas souvenir)
Pour les fichiers excédant 8 caractère on remplaçait tout simplement le 7ème et 8ème caractère par le symbole ~ et un chiffre en fonction du nombre ou de la longueur du nom du dossier/prog. (tu me suis toujours ? ^^)

Ici : program~2 (non supporté par XP 32bits) contient, comme tu peut le voir 8 caractères, et permet en aucunement de se tromper en lançant la ligne de commande et respecte la standardisation "Dos" et va aller chercher le programme dans le dossier des applis 32bits : Program Files (x86)

En mettant donc

start C:\Progra~2\uTorrent\uTorrent.exe

Il n'y a donc aucun risque à se tromper, que tout ceux qui sont en version windows 64bits :) (la version de windows XP 32bits par ex ne trouvera pas le chemin)


Pour ceux qui sont en version windows 32bits (à vérifier, car j'ai rien sous la main pour voir si cette commande est parfaitement valide):

start "" "C:\Program Files\uTorrent\uTorrent.exe"

Tout n'est peut être pas exact dans ce que j'ai écrit (sur l'histoire du dos, car ca remonte un peu pour moi) mais je pense ne pas être loin de la réalité. ^^

Dernière modification par KubyFly (2012-03-02 10:38:21)


La liberté est acquise lorsqu'elle est partagée par tous !

Hors ligne

Pied de page des forums