Home » Development » Geektool » Internal/External IP
All that you will need to edit is the “device” variable for which you want info.
Macbook/Macbook Air/Macbook Pro/iMac
en0 – Ethernet
en1 – Airport
Mac Pro
en0 – Ethernet (left side if looking at the back)
en1 – Ethernet (right side if looking at the back)
en2 – Airport
Update (July 29, 2008):
Newest version automatically searches all network devices, and pulls internal IP based off of the highest ranking device (en0, en1, then en2) that actually has an internal IP address.
Sample Output:
Internal: 192.168.1.100 External: Unknown
Geektool Shell Entry:
bash /path/to/internal/external/ip.bash
Code:
#!/bin/bash # get internal IP devices=("en2" "en1" "en0") for((i=0; i<${#devices[@]}; i++)); do internals[$i]=`ifconfig ${devices[$i]} | grep "inet " | grep -v 127.0.0.1 | awk '{print $2}'` if [ "${internals[$i]}" != "" ] then internal=${internals[$i]} fi done # get external IP external=`curl --silent http://checkip.dyndns.org | awk '{print $6}' | cut -f 1 -d "<"` # display internal IP if [ "$internal" != "" ] then echo "Internal: $internal" else echo "Internal: Unknown" fi # display external IP if [ "$external" != "" ] then echo "External: $external" else echo "External: Unknown" fi