12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- __ip_address_detail() {
- 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"
-
- 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
-
- timeout 1 wget -q -O- http://v6.ipv6-test.com/api/myip.php </dev/null >"$cache" 2>/dev/null &
- sleep 0.02
- else
-
- 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"
-
- [ -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
-
- 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
- }
|