Esegui il programma se connesso a un wifi specifico?


20

È possibile avviare automaticamente un programma quando mi collego a un router specifico e interromperlo quando mi disconnetto da questo router?

Fondamentalmente voglio che un programma funzioni mentre sono al lavoro (orari flessibili, quindi non posso avere solo una sorta di funzione timer) ma non quando sono a casa - o da qualche altra parte.

Sono in esecuzione: Macbook air OS X versione 10.9.4


Che tipo di programma Yuo vorrebbe avviare / terminare? Posso scriverti un demone che eseguirà lo script bash e passerà "SSID" su connect e anche "SSID" della rete disconnessa.
Mateusz Szlosek,

Non importa, vedo che George ha trovato soluzioni migliori :)
Mateusz Szlosek,

Il software di terze parti @Mateusz non è sempre una soluzione migliore, ma solo un'alternativa!
grg

@MateuszSzlosek, sono anche curioso di sapere quale sarebbe stata la tua soluzione. Per il mio scopo, preferirei qualcosa di meno di un'altra applicazione, in quanto utilizzerei la tua soluzione per collegare la mia applicazione.
rsaxvc,

@rsaxvc Ho pubblicato il link Github con la mia rapida implementazione. Molto può essere cambiato, ma otterrai le basi :)
Mateusz Szlosek,

Risposte:


12

È possibile utilizzare ControlPlane in cui è possibile impostare regole per eseguire attività come l'apertura di app basate su vari criteri che includono la connessione al Wi-Fi.

ControlPlane supporta più contesti in cui un contesto è definito come posizione o attività che si sta eseguendo. Utilizzando le fonti di prova è possibile creare un insieme di regole che indicano a ControlPlane quale contesto applicare al proprio ambiente. Quando ControlPlane entra o esce da un contesto, viene eseguita una serie di azioni.

ControlPlaneX , un fork non ufficiale del progetto open source, ha mantenuto il progetto funzionante su Mojave.



@Seamus Ho aggiunto un link a un fork mantenuto che include il supporto Mojave.
grg

Grazie, ma cosa significa "fork non ufficiale"? Lo sai?
Seamus,

@Seamus Uso il termine per descrivere il modo in cui è stato continuato il progetto open source. ControlPlaneX è un "fork" di ControlPlane, il che significa che continua a utilizzare lo stesso codice sorgente dell'originale e si basa su di esso, il che è possibile perché il progetto originale era open source. Se l'autore originale del progetto sceglie un fork per incoraggiare le persone a contribuire, questo diventa un fork ufficiale, tuttavia non sembra che l'autore originale lo abbia fatto con qualsiasi fork, quindi tutte le forcelle non sono ufficiali, quindi 'fork non ufficiale' . Questo sembra essere il fork più popolare.
grg

Interessante situazione quindi ... il proprietario originale ha chiesto aiuto, e invece qualcuno ha biforcato e ha preso la propria strada. Tutto è giusto in amore e open source suppongo :)
Seamus

7

Ho creato un'app daemon di esempio per questo scopo. Lo puoi trovare su Github .

Per farlo funzionare:

  • Compilalo usando Xcode.
  • Sposta Network Listener.appin /Applicationsdir.
  • Sposta .networkConnectede .networkDisconnectedverso il tuo $HOMEdir.
  • Sposta Network-Listener.plistin ~/Library/LaunchAgents.
  • Crea .networkConnecteded .networkDisconnectedeseguibile.

Verrà eseguito automaticamente quando accedi al tuo account. Se vuoi testarlo esegui questo nel Terminale :

launchctl load -S Aqua -w ~/Library/LaunchAgents/Network-Listener.plist

Gli script ricevono il nome SSID come argomenti.

Sentiti libero di cambiarlo per le tue esigenze. In caso di problemi fammi sapere.


Tutto è stato creato per mostrare le possibilità, molte cose possono essere migliorate.


1
Grazie per l'ispirazione Mateusz, ho creato un'app simile alla tua per eseguire i miei script di connessione VPN, su Github incluso un binario per app compilato per coloro che potrebbero averne bisogno: github.com/p2/WifiWatch
Pascal

6

Puoi utilizzare Sidekick che ti consente di eseguire "azioni" quando cambi posizione. La posizione viene segnalata utilizzando il Wi-Fi specifico, il che significa che puoi fare cose quando cambia il Wi-Fi.

Sidekick è un'applicazione che aggiorna automaticamente le impostazioni del tuo laptop in base a dove ti trovi. Installa l'app, configura i luoghi che frequenti (casa, lavoro, una caffetteria, ecc.) E non confondere mai più le tue impostazioni!


3
Sidekick è attualmente $ 29,00
rispetta il codice
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.