1
0

show_client_ccd.sh 692 B

123456789101112131415161718192021222324252627282930313233343536
  1. #!/bin/bash
  2. set -o errexit
  3. set -o nounset
  4. set -o pipefail
  5. SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
  6. #SCRIPT_DIR="$(dirname "$(realpath "${BASH_SOURCE[0]}")")"
  7. source "$SCRIPT_DIR/functions.sh"
  8. show_usage() {
  9. echo "Usage: $0 <ccd_dir>"
  10. echo "Example: $0 /etc/openvpn/server/server/ccd"
  11. exit 1
  12. }
  13. main() {
  14. # Check permissions
  15. check_permissions
  16. # Process arguments
  17. [[ $# -lt 1 ]] && show_usage
  18. local ccd_dir=$1
  19. # Validate CCD directory path
  20. check_ccd_path "$ccd_dir"
  21. # Get client IPs
  22. egrep "^ifconfig-push\s+" "${ccd_dir}"/* \
  23. | sed 's|.*/||; s/:ifconfig-push / /; s/\([^ ]* [^ ]*\).*/\1/'
  24. exit 0
  25. }
  26. main "$@"