Aggiorna automaticamente la mia connessione WiFi tramite uno script?

2

Uso Mac 10.9.5. Quando sono su uno Starbucks, il mio computer si connetterà automaticamente alla loro rete WiFi. Tuttavia, dopo un'ora, ti danno il via e nonostante tu sia ancora connesso alla loro rete, sotto l'icona "WiFi" nelle tue preferenze Network System, ora hai un "IP assegnato da te" e non sei in grado di collegarti a Internet. L'unico modo per riconnettersi è fare clic sul pulsante "Turn Wi-Fi Off" e quindi fare clic su "Turn Wi-Fi On" per riattivare le cose.

La mia domanda è, come faccio a scrivere uno script per farlo automaticamente per me? Quello che mi piace è che qualche script viene eseguito in background se sono connesso a una rete denominata "Google Starbucks" e quindi se lo script ha l'aspetto di un "Self Assigned IP", disattiva il wi-fi e lo riattiva di nuovo senza che io debba fare nulla.

    
posta Dave 16.03.2015 - 22:37
fonte

3 risposte

2

Nell'uso di AppleScript: do shell script "networksetup -setairportpower en0 off; sleep 2; networksetup -setairportpower en0 on" anche se potresti dover cambiare en0 con l'adattatore appropriato che puoi ottenere da Network Utility.

Se lo vuoi in uno script BASH, non usare la parte do shell script e il resto può essere su una riga o rimuovere il ; aggiungendo un newline al suo posto. Se lo desideri, puoi sostituire lo display dialog ... nello script di Buscar <.

    
risposta data 16.03.2015 - 23:34
fonte
1

Questa è la parte 1 dello script.

Monitorerà se sei connesso a Internet e ti avvisi quando non lo sei.

repeat
    try
        do shell script "ping -c 5 google.com"
    on error
        display dialog "You are not connected to the internet"
    end try
end repeat

Ora puoi attivare / disattivare il WiFi (onestamente è facile farlo) o se devi scrivere la seconda parte dello script.

    
risposta data 16.03.2015 - 23:13
fonte
1

Che ne dici di un'app Applescript. Esecuzione ogni 10 secondi. Questo controlla l'IP e controlla il SSID

    on idle
            set checkSSID to (do shell script "/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I |grep ' SSID:'|awk -F:\  '{print  $2}' ")

            set checkIp to do shell script "ifconfig en0|grep 'inet '|cut -d ' ' -f 2"

            if checkSSID starts with "Google Starbucks" and checkIp starts with 169 then

                do shell script "networksetup -setairportpower en0 off; sleep 2; networksetup -setairportpower en0 on"
            end if
            return 10 -- seconds
end idle

Salva Applescript come applicazione resta aperta .

L'app verrà quindi attivata ogni 10 secondi. O qualunque cosa tu abbia impostato return 10 su

afaik "Self Assigned IP" normalmente inizia con 169. Ma cambialo in quello che stai ricevendo.

    
risposta data 16.03.2015 - 23:58
fonte

Leggi altre domande sui tag