22 lines
		
	
	
		
			656 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			656 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable file
		
	
	
	
	
#!/usr/bin/env zsh
 | 
						|
# Echos your local or WAN IP
 | 
						|
 | 
						|
if [[ $1 == -w ]]; then
 | 
						|
  wan=1
 | 
						|
  shift
 | 
						|
fi
 | 
						|
 | 
						|
if [[ -n $wan ]]; then
 | 
						|
  dig +short myip.opendns.com @resolver1.opendns.com
 | 
						|
else
 | 
						|
  IF=$(netstat -rn | awk '/^0.0.0.0/ {thif=substr($0,74,10); print thif;} /^default.*UG/ {thif=substr($0,65,10); print thif;}')
 | 
						|
  if command -v ifconfig >/dev/null; then
 | 
						|
    ifconfig ${NET_IF} | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1'
 | 
						|
  elif command -v ip >/dev/null; then
 | 
						|
    ip addr | grep 'state UP' -A2 | tail -n1 | awk '{print $2}' | cut -f1  -d'/'
 | 
						|
  else
 | 
						|
    >&2 echo "No easy way to grab your IP"
 | 
						|
    exit 1
 | 
						|
  fi
 | 
						|
fi
 |