Não é uma resposta, mas sim uma solução.
Contexto: Eu tenho um Macbook antigo que eu uso como um Plex sem cabeça. Eu gostaria de mantê-lo conectado a VPN praticamente sempre. Também gostaria de receber notificações quando se conectar e desconectar.
Acabei criando um aplicativo de manipulação de eventos. Então eu usei o Apple Remote Events para chamá-lo e passar argumentos. Depois que os argumentos são passados e o manipulador de eventos é executado, eu digo ao aplicativo para sair. Isso evita que ocorra apenas em segundo plano. Por fim, eu escondi minha notificação do dock editando o plist. A razão pela qual eu criei um aplicativo manipulador em vez de apenas usar o Finder para exibir a notificação é porque eu queria ter um ícone personalizado para minha notificação.
Código para o Auxiliar de Notificação (Manipulador de Eventos):
on run
idle
end run
on idle argv
try
eHandler(item 1 of argv, item 2 of argv, item 3 of argv)
end try
end idle
on eHandler(message, title, soundName)
set theMessage to message as string
set theTitle to title as string
set theSoundName to the soundName as string
display notification theMessage with title theTitle sound name theSoundName
end eHandler
shell script ip-down:
#!/bin/sh
# kill applications
killall someApp1
killall someApp2
killall someApp3
killall someApp4
# Open Notification Helper
osascript <<EOF
set remoteMachine to "eppc://{userName}:{password}@{address}"
tell application "Finder" of machine remoteMachine
open ("/Applications/Notification Helper.app" as POSIX file)
end tell
EOF
# Sends Notification Helper arguments
osascript <<EOF
tell application "Notification Helper" of machine "eppc://{userName}:{password}@{address}"
TestHandler("The VPN has been disconnected.", "Media Server", "Pop")
quit
end tell
EOF
# Calls applescript which reconnects my VPN.
# The & Stops script from waiting to end
vpn-connect &
Para quem não sabe, um script ip-down entra em seu diretório / etc / ppp / e é executado quando a VPN é desconectada. Você também pode criar um script de inicialização, que é executado quando você se conecta à sua VPN. Meu ip-up apenas liga todos os meus serviços e, em seguida, envia-me uma notificação informando que a VPN é de backup.
Comentários, sugestões são apreciadas. Ainda estou interessado em entender porque isso funcionaria, pois eu tenho outro script que me avisa quando x acontece de outro programa via ssh. Também ainda estou muito interessado em pf.conf. A sintaxe para isso é muito confusa para mim.