Aller au contenu


VPN qui se déconnecte


  • Please log in to reply
13 réponses à ce sujet

#1 Steve

Steve

    Petit nouveau

  • Membres
  • Pip
  • 16 messages

Posté 13 juin 2010 - 12:44

Bonjour,

J'ai besoin d'aide.
Je ne parviens pas à trouver un équivalent Mac à ça : http://sourceforge.n...vpnautoconnect/

En gros, ce que je souhaite, lorsque le vpn se déconnecte (par erreur) -> le client torrent se pause.

Je cherche la simplicité ici. Pas besoin de reconnection, pas besoin de notifictation.
Je voudrai juste un truc genre un script qui watch si vpn est alive, else kill client-torrent.

edit : en fait un truc comme ça, mais mon niveau de scritping est assez mauvais...

#!/bin/bash
while [ifconfig | grep ppp0 =1]
do echo 'vpn iz up bro'
else killall Transmission
sleep 10
done

edit 2 : je suis de moins en moins mauvais :

#!/bin/bash
if [[ -z `ifconfig | grep ppp0` ]]; then 
killall Transmission
sleep 10
fi

ceci fonctionne \o/

edit 3 : ayé j'ai tout réussi 8)

Alors, ouvrez le terminal et créez un vpn-alive.sh, ajoutez-y ce code :

#!/bin/bash
if [[ -z `ifconfig | grep ppp0` ]]; then 
killall Transmission
fi

Ensuite :
chmod +x vpn-alive.sh

Puis utilisez http://sourceforge.n...rojects/lingon/ pour faire exécuter ce script toutes les 10 secondes, et le lancer au login.

Flemme d'être plus précis et de mettre tout ça dans le wiki.
Publicité. Merci de ne pas cliquer volontairement. Seuls les clics par erreur seront acceptés. Clic ni repris, ni échangé. Offre non cumulable réservée aux particuliers résidant sur korben.info.

#2 apay

apay

    Petit nouveau

  • Membres
  • Pip
  • 47 messages

Posté 14 juin 2010 - 12:23

Sinon on peut faire ça aussi :

Lancer l'application Editeur Applescript (qui doit être dans Utilities)

Copier ça:

on idle
   tell application "System Events"
      tell current location of network preferences
         set myConnection to the service "VPN"
         if current configuration of myConnection is not connected then
            tell application "Transmission"
               quit
            end tell
         end if
      end tell
      return 30
   end tell
end idle

Remplacer VPN par le nom de votre VPN, gardez les guillemets, bien sûr, et remplacer Transmission par votre application Torrent préférée.
Faites, fichier/enregistrer sous/bureau
Format de fichier: Application
Cocher: "Rester en arrière plan"

;)
Image IPB
Where life had no value, death, sometimes, had its price.

#3 Steve

Steve

    Petit nouveau

  • Membres
  • Pip
  • 16 messages

Posté 21 juin 2010 - 00:29

Voir le messageapay, le 14 juin 2010 - 12:23, dit :

Sinon on peut faire ça aussi :

Lancer l'application Editeur Applescript (qui doit être dans Utilities)

Copier ça:

on idle
   tell application "System Events"
      tell current location of network preferences
         set myConnection to the service "VPN"
         if current configuration of myConnection is not connected then
            tell application "Transmission"
               quit
            end tell
         end if
      end tell
      return 30
   end tell
end idle
Salut, merci pour ce bout de code ;)
Publicité. Merci de ne pas cliquer volontairement. Seuls les clics par erreur seront acceptés. Clic ni repris, ni échangé. Offre non cumulable réservée aux particuliers résidant sur korben.info.

#4 apay

apay

    Petit nouveau

  • Membres
  • Pip
  • 47 messages

Posté 21 juin 2010 - 14:15

Pas de quoi :)
Image IPB
Where life had no value, death, sometimes, had its price.

#5 Steve

Steve

    Petit nouveau

  • Membres
  • Pip
  • 16 messages

Posté 22 juin 2010 - 18:26

Mais je préfère mon script car je ne parviens pas à faire tourner ton app en background.
Elle reste affichée dans la liste des apps ouvertes. ;)
J'ai pas la case "Rester en arrière plan". (10.5)
Publicité. Merci de ne pas cliquer volontairement. Seuls les clics par erreur seront acceptés. Clic ni repris, ni échangé. Offre non cumulable réservée aux particuliers résidant sur korben.info.

#6 apay

apay

    Petit nouveau

  • Membres
  • Pip
  • 47 messages

Posté 23 juin 2010 - 19:05

Voir le messageSteve, le 22 juin 2010 - 18:26, dit :

Mais je préfère mon script car je ne parviens pas à faire tourner ton app en background.
Elle reste affichée dans la liste des apps ouvertes. ;)
J'ai pas la case "Rester en arrière plan". (10.5)

Pour virer une app du dock tu peux utiliser Dockless ou un peu de code à placer à la fin du dossier info.plist de chaque app/script :
[KEY]NSUIElement[/KEY]
[STRING]1[/STRING]

(si jamais, pour ouvrir un .plist, il y a le post sur les utilitaires Mac OS X)
Image IPB
Where life had no value, death, sometimes, had its price.

#7 Steve

Steve

    Petit nouveau

  • Membres
  • Pip
  • 16 messages

Posté 09 juillet 2010 - 21:37

Voir le messageapay, le 23 juin 2010 - 19:05, dit :

Pour virer une app du dock tu peux utiliser Dockless ou un peu de code à placer à la fin du dossier info.plist de chaque app/script :
[KEY]NSUIElement[/KEY]
[STRING]1[/STRING]

(si jamais, pour ouvrir un .plist, il y a le post sur les utilitaires Mac OS X)


Merci pour l'astuce :D
Publicité. Merci de ne pas cliquer volontairement. Seuls les clics par erreur seront acceptés. Clic ni repris, ni échangé. Offre non cumulable réservée aux particuliers résidant sur korben.info.

#8 Maximonstre

Maximonstre

    Petit nouveau

  • Membres
  • Pip
  • 3 messages

Posté 20 juillet 2010 - 21:53

.

#9 marco.24

marco.24

    Petit nouveau

  • Membres
  • Pip
  • 7 messages

Posté 04 août 2010 - 19:00

@Maximonstre : et si en plus, on voudrait que le programme reconnecte le mac au wifi (en plus du vpn) ? comment on fait ??

Merci

#10 Maximonstre

Maximonstre

    Petit nouveau

  • Membres
  • Pip
  • 3 messages

Posté 13 août 2010 - 09:47

.

#11 daff

daff

    Petit nouveau

  • Membres
  • Pip
  • 2 messages

Posté 18 octobre 2010 - 16:35

Étant donné qu'on ne peut pas savoir par applescript si Transmission est en pause ou non, si on veut relancer automatiquement les transferts quand le vpn remarche il faut quitter Transmission.
voilà le résultat de mes recherches, j'ai compilé ce que j'ai trouvé sur ce post et sur d'autres sites.

Lancer Applescript Editor : Applications->Utilities->AppleScript Editor et copier/coller ce script :
on idle
	tell application "System Events"
		tell current location of network preferences
			
			set vpnConnection to the service "monVPN"
			-- Check if Transmission is running
			tell application "System Events"
				set transmissionIsRunning to (count of (every process whose name is "Transmission")) > 0
			end tell
			
			-- Check if VPN is down
			if current configuration of vpnConnection is not connected then
				if (transmissionIsRunning = true) then
					tell application "Transmission" to quit
				end if
				connect vpnConnection
			-- Check if VPN is up
			else if current configuration of vpnConnection is connected then
				if (transmissionIsRunning = false) then
					tell application "Transmission" to activate
				end if
			end if
			
		end tell
		return 10
	end tell
end idle
Remplacer "monVPN" par votre nom de VPN.
Dans File->Save as choisir "Application" comme format et "Stay Open" comme option.

Il suffit de lancer ce script pour que le VPN démarre automatiquement et Transmission démarrera 10 secondes après que le VPN se sera connecté.
Si le VPN se déconnecte, Transmission se ferme et le script essaie de reconnecter le VPN toutes les 10 secondes, quand c'est à nouveau connecté, Transmission redémarre.

Pour que le script n'apparaisse pas dans le Dock, il faut ajouter ceci à la fin du fichier info.plist dans le package de l'app
[KEY]NSUIElement[/KEY]
[STRING]1[/STRING]

Du coup il faut un moyen de quitter le script facilement, donc un nouveau script qui celui-ci ne s'execute qu'une fois:
tell application "System Events"
	if ((count of (every process whose name is "monScript")) > 0) then
		tell application "YourScriptName" to quit
	end if
end tell
Remplacer "monScript" par le nom du script précedemment créé.
Dans File->Save as choisir "Application" sans options.

Cela va seulement quitter le premier script, donc si on veut aussi quitter Transmission et déconnecter le VPN :
tell application "System Events"
	if ((count of (every process whose name is "monScript")) > 0) then
		tell application "monScript" to quit
	end if
	if ((count of (every process whose name is "Transmission")) > 0) then
		tell application "Transmission" to quit
	end if
	tell current location of network preferences
		set vpnConnection to the service "monVPN"
		if current configuration of vpnConnection is connected then
			disconnect vpnConnection
		end if
	end tell
end tell
Remplacer "monScript" par le nom du premier script et "monVPN" par le nom du VPN.
Dans File->Save as choisir "Application" sans options.

On peut aussi mettre les scripts dans /Users/monDossierUtilisateur/Library/Scripts, pour qu'ils soient accessible dans la barre de statut (à côté de l'horloge) dans le menu applescript

J'aurais préféré faire une simple pause des transferts, mais j'ai pas trouvé comment faire pour que ce soit pratique, en plus même en pause, Transmission continue de discuter avec les trackers, donc quitter complètement est le seul moyen de n'avoir plus rien qui passe tant que le VPN n'est pas connecté

#12 totogo

totogo

    Petit nouveau

  • Membres
  • Pip
  • 1 messages

Posté 23 octobre 2010 - 17:53

Bonjour,

Merci pour ce tutoriel précis, mais je suis face à une difficulté et je n'arrive pas à trouver de solutions.

Pourriez-vous me confirmer que ce script ne fonctionne uniquement avec les connexions VPN créées depuis la partie "Réseaux" de "Préférences Systèmes" ? Et donc ne fonctionne qu'avec les VPN en PPTP ou L2TP ?

Je suis sur MAC (Snow Leopard) et j'ai une connexion VPN en OpenVPN chez VPNTunnel. Est-il possible d'avoir un script similaire qui couperait les connexions Transmission si la connexions VPN venait à se déconnecter ? Est-il possible de modifier le fichier de configuration openvpn.conf, et utiliser les options "up" et "down" pour avoir le même résultat ?

Merci pour votre réponse !

#13 daff

daff

    Petit nouveau

  • Membres
  • Pip
  • 2 messages

Posté 04 novembre 2010 - 15:18

Voir le messagetotogo, le 23 octobre 2010 - 17:53, dit :

Bonjour,

Merci pour ce tutoriel précis, mais je suis face à une difficulté et je n'arrive pas à trouver de solutions.

Pourriez-vous me confirmer que ce script ne fonctionne uniquement avec les connexions VPN créées depuis la partie "Réseaux" de "Préférences Systèmes" ? Et donc ne fonctionne qu'avec les VPN en PPTP ou L2TP ?

Je suis sur MAC (Snow Leopard) et j'ai une connexion VPN en OpenVPN chez VPNTunnel. Est-il possible d'avoir un script similaire qui couperait les connexions Transmission si la connexions VPN venait à se déconnecter ? Est-il possible de modifier le fichier de configuration openvpn.conf, et utiliser les options "up" et "down" pour avoir le même résultat ?

Merci pour votre réponse !

Effectivement ce script ne marche qu'avec les connections créées depuis les "Préférences Système".
D'après ce que j'ai pu lire, il est possible de faire quelque chose d'équivalent avec un VPN en Open VPN, en utilisant un logiciel de connection comme Viscosity ou Tunnelblick.
Malheureusement, n'ayant pas de connexion OpenVPN, je n'ai pas testé. Viscosity est apparemment compatible avec applescript donc cela devrait être possible de faire quelque chose, même si il n'y a pas de fonction prévu dans le logiciel.

#14 alexs

alexs

    Petit nouveau

  • Membres
  • Pip
  • 20 messages

Posté 01 décembre 2011 - 19:01

Merci beaucoup Daff pour ce script totalement en forme !
Mais c'est excellent ! Merci beaucoup ! :D

Franchement chapeau !




0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)