It’s been a little while that the Ananoos service exists. Very useful and easy, powerful and cheap VPN service. It works on top of OpenVPN which provides high security and encrypted connections. Besides I’m using Transmission which is a free and efficient BitTorrrent client.
The goal is to make sure the VPN connection is always up when using Transmission. When starting Transmission or when the VPN link fails, the VNP connection is restarted. And if really there is no way to get back the VPN link, the Transmission app is simple closed.
# SET HERE YOUR TUNNELBLICK # CONNECTION NAME # IN MY CASE: Ananoos set VPNConnection to "Ananoos" repeat # If transmission is running if appIsRunning("Transmission") then set vpn to "" if appIsRunning("TunnelBlick") then # TunnelBlick is running # Checking whether it is connected tell application "Tunnelblick" set vpn to get state of first configuration where name = VPNConnection end tell else tell application "Tunnelblick" to activate end if # VPN is connected, all fine if vpn = "CONNECTED" then #display alert "Transmission is running and protected" else # VPN is not connected, forcing reconnect tell application "Tunnelblick" connect VPNConnection end tell # Waiting for reconnection repeat 10 times tell application "Tunnelblick" # Is VPN connected at last? set vpn to get state of first configuration where name = VPNConnection # Yes, exiting loop if vpn = "CONNECTED" then exit repeat do shell script "sleep 3" end tell end repeat # Checking whether TunnelBlick has reconnected if vpn = "CONNECTED" then display alert "ATTENTION: Transmission was running without VPN protection. We have successfully forced reconnection..." else # Not reconnected, better quit Transmission tell application "Transmission" quit end tell display alert "ATTENTION: Transmission was running unprotected. We were unable to reconnect to VPN therefore we have closed it..." end if end if end if do shell script "sleep 1" end repeat on appIsRunning(appName) tell application "System Events" to (name of processes) contains appName end appIsRunning
Open the Mac AppleScript Editor. Copy and paste the above code. Save as an application and make sure this app is automatically started on login.
Attention 1: this script works only with TunnelBlick which is a openVPN Mac GUI. Ananoos offers either their own VPN client or the TunnelBlick config files. Prefer 2nd option.
Attention 2: line4, I refer to the « Ananoos » connection. If your have named it differently, update the script.