gant Postad 21 augusti, 2014 Share Postad 21 augusti, 2014 Jag kör en vpn-tjänst som använder sig av Tunnelblick.Jag undrar om någon kan hjälpa mig med ett script som stänger av t.ex. Firefox, Safari, när Tunnelblick kopplar ner vpn-tjänsten.Alltså ett script som körs hela tiden i bakgrunden och kontrollerar att Tunnelblick har vpn-tjänsten uppkopplad. Om vpn-tjänsten är nedkopplad ska Firefox och Safari stängas ned. Jag hittade detta nedanstående scriptet på nätet.Någon som kan hjälpa mig att modifiera så att scripten bara kontrollerar att vpn-uppkoppling är igång samt stänger ner Firefox och Safari när vpn-uppkopplingen bryts?Jag behöver inte uppkopplingsfunktionen i scripten. Jag kopplar upp manuellt.Tack på förhand. tell application "Tunnelblick" connect "config" get state of first configuration where name = "config" repeat until result = "CONNECTED" delay 1 get state of first configuration where name = "config" end repeat if result = "connected" then run application "uTorrent"end tellrepeat tell application "Tunnelblick" get state of configuration 1 whose name = "config" if result = "connected" then repeat until result = "exiting" delay 1 get state of configuration 1 whose name = "config" end repeat if result = "exiting" then quit application "uTorrent" tell application "Tunnelblick" connect "config" get state of first configuration where name = "config" repeat until result = "CONNECTED" delay 1 get state of first configuration where name = "config" end repeat run application "uTorrent" end tell end tellend repeat"config" is replaced with my vpn of choice as it appears in the tunnelblick drop down menu. I was so excited that it worked, I had to share it. Länk till kommentar Dela på andra webbplatser More sharing options...
Mattiasgbg Postad 21 augusti, 2014 Share Postad 21 augusti, 2014 Jag gissar att det räcker med den här delen i mitten. tell application "Tunnelblick" get state of configuration 1 whose name = "config" if result = "connected" then repeat until result = "exiting" delay 1 get state of configuration 1 whose name = "config" end repeat if result = "exiting" then quit application "uTorrent" Lägg till en end på slutet. Länk till kommentar Dela på andra webbplatser More sharing options...
gant Postad 21 augusti, 2014 Författare Share Postad 21 augusti, 2014 tell application "Tunnelblick"get state of configuration 1 whose name = "config"if result = "connected" then repeat until result = "exiting"delay 1get state of configuration 1 whose name = "config"end repeatif result = "exiting" thentell (quit application "Safari")end tellend ifend tellEfter att ha sparat scriptet som .app så kompilerade jag scripten. Men när jag sedan tryckte på kör så klagade den på att sista result-variabeln inte är definierad, "number -2753 from result"Någon som kan hjälpa?Tack på förhand. Länk till kommentar Dela på andra webbplatser More sharing options...
Ollie Williams Postad 21 augusti, 2014 Share Postad 21 augusti, 2014 Har ett sådant script för ett annat program, men det borde ju gå att skriva om för ett annan program med lätthet. Sitter inte vid datorn nu men ska försöka komma ihåg att lägga upp det imorgon förmiddag. Länk till kommentar Dela på andra webbplatser More sharing options...
gant Postad 21 augusti, 2014 Författare Share Postad 21 augusti, 2014 Nu har jag fått det att fungera. Men när "config" är nedkopplad stängs även själva scripten ned. Någon som vet hur man kan få scripten att köra trots att vpn-kopplingen är nere? Tack på förhand. tell application "Tunnelblick" get state of configuration 1 whose name = "config" if result = "connected" then repeat until result = "exiting" delay 1 get state of configuration 1 whose name = "config" end repeat if result = "exiting" then tell application "Safari" quit tell application "Opera" quit end tell end tell end if return 1end tell Länk till kommentar Dela på andra webbplatser More sharing options...
Mattiasgbg Postad 21 augusti, 2014 Share Postad 21 augusti, 2014 Du har ändrat sista raden från if result = "exiting" then quit application "uTorrent" till if result = "exiting" then tell (quit application "Safari") vilket, med mina i ämnet obildade ögon, ser ut som om inte felaktig, så i alla fall onödigt rörig kod. Byt bara ut uTorrent mot Safari och lägg till end i slutet, det kommer automatiskt ändras till end tell. Länk till kommentar Dela på andra webbplatser More sharing options...
gant Postad 21 augusti, 2014 Författare Share Postad 21 augusti, 2014 Tack för ditt svar. Scripten fungerar nu, se #5. Däremot så stängs scripten ner när vpn-kopplingen kopplas ner. Jag vill att scripten körs i bakgrunden även om vpn är nere. Lägger jag till "on idle" i början och "end idle" i slutet körs inte scripten alls. Någon som har svar? Tack på förhand. Du har ändrat sista raden från if result = "exiting" then quit application "uTorrent" till if result = "exiting" then tell (quit application "Safari") vilket, med mina i ämnet obildade ögon, ser ut som om inte felaktig, så i alla fall onödigt rörig kod. Byt bara ut uTorrent mot Safari och lägg till end i slutet, det kommer automatiskt ändras till end tell. Länk till kommentar Dela på andra webbplatser More sharing options...
Mattiasgbg Postad 21 augusti, 2014 Share Postad 21 augusti, 2014 Kan du inte bara lägga en en while true runt allt? Typ while true på rad två, alltså efter tell app "Tunnelblick" och sedan en avslutande end på näst sista raden? Vill påpeka jag är osäker på syntaxen, men något liknande borde få det att starta om om det skulle arbeta genom allt annat. Länk till kommentar Dela på andra webbplatser More sharing options...
gant Postad 21 augusti, 2014 Författare Share Postad 21 augusti, 2014 Det verkar som att det räcker med att man kryssar i "Lämna öppet efter körhanteraren" när man sparar scripten så stängs inte scripten av. Kan du inte bara lägga en en while true runt allt? Typ while true på rad två, alltså efter tell app "Tunnelblick" och sedan en avslutande end på näst sista raden? Vill påpeka jag är osäker på syntaxen, men något liknande borde få det att starta om om det skulle arbeta genom allt annat. Länk till kommentar Dela på andra webbplatser More sharing options...
Ollie Williams Postad 22 augusti, 2014 Share Postad 22 augusti, 2014 Det verkar som att det räcker med att man kryssar i "Lämna öppet efter körhanteraren" när man sparar scripten så stängs inte scripten av. Kollade mitt nu och upptäckte att det inte funkar längre. Har inte hunnit felsöka men jag antar att uppdateringar någonstans har ändrat förutsättningarna så att något behöver skrivas om. Men du löste ditt script ser jag. Jag använde mig att Geektool för att aktivera/avaktivera mitt script. Länk till kommentar Dela på andra webbplatser More sharing options...
xeric Postad 22 augusti, 2014 Share Postad 22 augusti, 2014 Nu har jag fått det att fungera. Men när "config" är nedkopplad stängs även själva scripten ned. Någon som vet hur man kan få scripten att köra trots att vpn-kopplingen är nere? Tack på förhand. tell application "Tunnelblick" get state of configuration 1 whose name = "config" if result = "connected" then repeat until result = "exiting" delay 1 get state of configuration 1 whose name = "config" end repeat if result = "exiting" then tell application "Safari" quit tell application "Opera" quit end tell end tell end if return 1 end tell Använd gärna kodblock när ni postar kod. Blir så mkt mer lättläst och man få även med indrag osv på rätt sätt. Länk till kommentar Dela på andra webbplatser More sharing options...
Rekommendera Poster
Arkiverat
Det här ämnet är nu arkiverat och är stängt för ytterligare svar.