Приложение, чтобы предупредить, если интернет-соединение потеряно

Есть ли приложение для Mac, которое предупредит меня, если мое интернет-соединение потеряно?

Иногда я работаю из дома и теряю связь, даже не подозревая об этом.

Ответы (6)

Следующий сценарий предупредит вас , когда ваша беспроводная сеть больше не будет подключена. Хотя вы можете изменить сценарий, чтобы он требовал проверки для обнаружения определенного SSID, следующий сценарий просто ищет любое беспроводное сетевое соединение . Сценарий можно запустить с помощью Launch Daemon (предпочтительнее войти в систему) или просто запустив сценарий вручную, когда вы решите.

Механизм оповещения:

Если у вас нет подключения к беспроводной сети, скрипт установит максимальную громкость , после чего вы услышите звуковой сигнал и следующую фразу: « Ваша беспроводная сеть отключена ».

ПРИМЕЧАНИЕ. Этот скрипт содержит внутренний цикл. Петля предназначена для сна с интервалом в 2 минуты, чтобы постоянно не подавать звуковой сигнал и не озвучивать произнесенную фразу. Этот интервал можно изменить по своему вкусу, изменив переменную « SLEEP_TIMER », найденную в сценарии.

ТАКЖЕ: Если вы заинтересованы в настройке Launch Daemon, но у вас нет большого опыта работы с Daemons, я рекомендую использовать Lingon (когда-то он был бесплатным, но Lingon 3 стоит 2,99 доллара США).

Протестировано на:

  • 10.5.х
  • 10.6.х
  • 10.7.4

Не забудьте использовать тестовую среду перед запуском в основной среде. Не стесняйтесь изменять скрипт любым удобным для вас способом, наслаждайтесь .

#!/bin/bash

# MONITOR_SSID set as true will keep a loop going (Loop timer 1 minute delay)

MONITOR_SSID="true"

SLEEP_TIMER="60"

while ( ${MONITOR_SSID} == true ); do

    SSID=$(networksetup -getairportnetwork en1 | sed "s:.*\: ::g" | tr -s "[\n]" "[ ]" | sed 's/.*off.*/OFF/g')

    if [[ ${SSID} == "OFF" ]]; then
        osascript -e 'set volume 10'
        afplay -v 2 /System/Library/Sounds/Sosumi.aiff
        say "Wireless network has been disconected"
    elif [[ ${SSID} != "OFF" ]]; then
        :
    else
        /usr/bin/logger -i Error has occured while 'your_script_name' was attempting to run
    fi

    sleep ${SLEEP_TIMER}

done

Вы можете использовать ping -A IP, он автоматически подаст вам звуковой сигнал, когда есть тайм-аут, обратным является то, ping -a IPчто он продолжает подавать звуковой сигнал до истечения времени ожидания.

Просто и эффективно. Хороший.
Обратите внимание, что если вы отключили звонок в своем терминальном приложении (терминал, iterm, ...), это не решение.

Growl справляется с этим, а также с оповещениями о всевозможных других событиях, в том числе от многих приложений, которые его поддерживают, довольно хорошо.

Возможно, вы сможете использовать ControlPlane для этого.

Если вы посмотрите на список функций , он предполагает, что вы можете использовать «состояние сетевой ссылки, подключено или отключено» в качестве «источника доказательств». Как только это указывает на то, что он был отключен (или снова подключен), вы можете выполнить практически безграничный набор «действий». Некоторые из них, которые сразу приходят на ум, включают отображение уведомления Growl или произнесение текста .

Я использую для этого pingdom , и у них есть бесплатный план для одного триггера мониторинга, а также бесплатное приложение для iOS. Он предназначен для большего количества системных администраторов, но может быть полезен вам, если вы не против потратить некоторое время на настройку службы, которую затем можно будет использовать бесплатно.

Откройте терминал OSX и введите следующее:

ping -A <ip_address>

пример (с одним из IP-адресов Google):

ping -A 172.217.22.110

он издаст звуковой сигнал, когда пинг не пройден.

Обратите внимание, что ping иногда может не пройти, даже если сеть доступна, но это должно происходить менее чем в 1% случаев.

В интересах OP и других вы можете объяснить, как выполнить ping. В настоящее время ваш ответ предполагает, что OP и другие будут знать, где вводить ping -A.