Периодически мне нужно узнать внешний адрес через который мой компьютер выходит в Интернет. Самое простое решение является и самым неправильным - “ifconfig” показывает адрес с интерфейса, а я очень редко напрямую включаюсь в Интернет, только через NAT.

Обычно я запускал отличную команду в терминале

$ curl ifconfig.me

Но тут решил, что можно ещё упростить процесс. Чем меньше нужно делать для выполнения часто используемой функции, тем лучше.

“Удобно и быстро” = нажав пару клавиш. Как? В лончере LaunchBar (в Alfred или QuickSilver должно быть аналогично). Или TextExpander.

LaunchBar

Создал AppleScript Show External IP Address.scpt в каталоге ~/Library/Application Support/LaunchBar/Actions

set _info to system info
set _name to computer name of _info

tell application "LaunchBar"
    # set externalip to do shell script "curl http://ifconfig.me"
    set externalip to do shell script "curl --user-agent 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0' http://automation.whatismyip.com/n09230945.asp"
    display in large type externalip with title _name
end tell

Почему-то ifconfig.me сегодня доступен через раз, поэтому я даю запрос на whatismyip.com.

Дальше открываю Launchbar, нажимаю ⌘⌥I для входа в окно настройки индесков. Проверяю, чтобы в секции Actions был включен “Show External IP Address” (если его нет, то проверить в настройках, включен ли Search Scope ~/Library/Application Support/LaunchBar/Actions).

Всё. Теперь для получения внешнего адреса я нажимаю ^Space, набираю часть фразы “Show External IP Address” и жму Enter. И на экране появляется нужная информация. Если нужно скопировать адрес, то жму ⌘C и он в клипборде.

TextExpander

Сделал сниппет с Content AppleScript:

set externalip to do shell script "curl --user-agent 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0' http://automation.whatismyip.com/n09230945.asp"
# set externalip to do shell script "curl http://ifconfig.me"

return externalip

Сниппет - скриншот и XML.

Назначил ему аббревиатуру “;extIP”. Всё. Понадобился адрес - получил его.

Что и требовалось.