| 1 | #!/usr/bin/env bash |
| 2 | |
| 3 | brt_ip() { |
| 4 | local mode="${1:-check}" |
| 5 | shift || true |
| 6 | |
| 7 | case "$mode" in |
| 8 | check|all) |
| 9 | brt_info "Local addresses:" |
| 10 | brt_local_ips | while read -r ip; do echo " $ip"; done |
| 11 | echo |
| 12 | brt_info "Public IP:" |
| 13 | local pub |
| 14 | pub=$(brt_get_public_ip) |
| 15 | if [[ -n "$pub" ]]; then |
| 16 | echo " $pub" |
| 17 | else |
| 18 | brt_warn "Could not determine public IP" |
| 19 | fi |
| 20 | ;; |
| 21 | local) |
| 22 | brt_local_ips |
| 23 | ;; |
| 24 | public) |
| 25 | brt_get_public_ip |
| 26 | ;; |
| 27 | interfaces|if) |
| 28 | ifconfig 2>/dev/null || ip addr 2>/dev/null |
| 29 | ;; |
| 30 | *) |
| 31 | brt_error "Unknown ip mode: ${mode}. Use: check, local, public, interfaces" |
| 32 | exit 1 |
| 33 | ;; |
| 34 | esac |
| 35 | } |
| 36 | |