#!/bin/sh -e # # ip_address: report a host's ip address # # Copyright (C) 2008-2011 Canonical Ltd. # Copyright (C) 2011-2014 Dustin Kirkland # # Authors: Dustin Kirkland <kirkland@byobu.org> # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, version 3 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. __ip_address_detail() { [ -x /sbin/ifconfig ] && /sbin/ifconfig if [ -x /sbin/ip ]; then /sbin/ip -4 addr list /sbin/ip -6 addr list fi } __ip_address() { local interface ipaddr cache="$BYOBU_RUN_DIR/cache.$BYOBU_BACKEND/ip_address" # Allow interface overrides in $BYOBU_CONFIG_DIR/statusrc if [ -n "$MONITORED_NETWORK" ]; then interface="$MONITORED_NETWORK" else case "$IPV6" in 1|true|yes) interface=$(awk '$10 != "lo" { iface=$10 ; }; END { print iface; }' /proc/net/ipv6_route);; *) get_network_interface; interface="$_RET";; esac fi case "$IPV6" in 1|true|yes) if [ "$IP_EXTERNAL" = "1" ]; then # Background an update timeout 1 wget -q -O- http://v6.ipv6-test.com/api/myip.php </dev/null >"$cache" 2>/dev/null & sleep 0.02 else # Background an update if [ -x /sbin/ip ]; then LC_ALL=C /sbin/ip -6 addr list dev "$interface" scope global </dev/null >"$cache" 2>/dev/null & elif eval $BYOBU_TEST ifconfig >/dev/null 2>&1; then LC_ALL=c ifconfig "$interface" | grep "inet6 " | awk '{print $2}' | sed -e "s/%.*//" >"$cache" 2>/dev/null & fi fi [ -s "$cache" ] && read ipaddr < "$cache" # Print 'None' if we have no global address [ -z "$ipaddr" ] && ipaddr="None" ipaddr=${ipaddr#* inet6 } ipaddr=${ipaddr%%/*} ;; *) if [ "$IP_EXTERNAL" = "1" ]; then timeout 1 wget -q -O- http://v4.ipv6-test.com/api/myip.php </dev/null >"$cache" 2>/dev/null & sleep 0.02 [ -s "$cache" ] && read ipaddr < "$cache" elif metadata_available; then # We're in EC2, so get our public IP address timeout 0.2 wget -q -O- http://169.254.169.254/latest/meta-data/public-ipv4 </dev/null >"$cache" 2>/dev/null & sleep 0.02 [ -s "$cache" ] && read ipaddr < "$cache" else if [ -x /sbin/ip ]; then ipaddr=$(LC_ALL=C /sbin/ip -4 addr list dev "$interface" scope global 2>/dev/null) ipaddr=${ipaddr#* inet } ipaddr=${ipaddr%%/*} elif eval $BYOBU_TEST ifconfig >/dev/null 2>&1; then ipaddr=$(ifconfig "$interface" | grep "inet " | awk '{print $2}') fi fi ;; esac if [ -n "$ipaddr" ]; then if [ "$1" = "t" ]; then printf "%s" "$ipaddr" else color b w k; printf "%s" "$ipaddr"; color -- fi fi } # vi: syntax=sh ts=4 noexpandtab
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
include | Folder | 0755 |
|
|
apport | File | 1.51 KB | 0755 |
|
arch | File | 916 B | 0755 |
|
battery | File | 4.1 KB | 0755 |
|
color | File | 1.04 KB | 0755 |
|
cpu_count | File | 1.03 KB | 0755 |
|
cpu_freq | File | 1.84 KB | 0755 |
|
cpu_temp | File | 1.79 KB | 0755 |
|
custom | File | 1.88 KB | 0755 |
|
date | File | 990 B | 0755 |
|
disk | File | 1.8 KB | 0755 |
|
disk_io | File | 2.92 KB | 0755 |
|
distro | File | 1.04 KB | 0755 |
|
ec2_cost | File | 4.21 KB | 0755 |
|
entropy | File | 1.06 KB | 0755 |
|
fan_speed | File | 1.85 KB | 0755 |
|
hostname | File | 1.3 KB | 0755 |
|
ip_address | File | 3.02 KB | 0755 |
|
load_average | File | 1.1 KB | 0755 |
|
logo | File | 3.92 KB | 0755 |
|
File | 1.31 KB | 0755 |
|
|
memory | File | 2.61 KB | 0755 |
|
menu | File | 1.61 KB | 0755 |
|
network | File | 3.1 KB | 0755 |
|
processes | File | 1.13 KB | 0755 |
|
raid | File | 1.4 KB | 0755 |
|
rcs_cost | File | 3.55 KB | 0755 |
|
reboot_required | File | 2.15 KB | 0755 |
|
release | File | 1.83 KB | 0755 |
|
services | File | 2.08 KB | 0755 |
|
session | File | 1.28 KB | 0755 |
|
swap | File | 1.75 KB | 0755 |
|
time | File | 1.06 KB | 0755 |
|
time_binary | File | 4.18 KB | 0755 |
|
time_utc | File | 960 B | 0755 |
|
trash | File | 1.13 KB | 0755 |
|
updates_available | File | 5.03 KB | 0755 |
|
uptime | File | 1.64 KB | 0755 |
|
users | File | 1.51 KB | 0755 |
|
whoami | File | 959 B | 0755 |
|
wifi_quality | File | 1.85 KB | 0755 |
|