diff --git a/README.md b/README.md index eb76d5b..9372165 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ > Quickly fetch & format IPv4/IPv6 prefix lists for one‑or‑many Autonomous Systems (ASNs). Awesome customizable tool for retrieving registered IPs attached to ASN systems, enabling easy management, listing, filtering, and automation to your needs. +This can resolve ASNs in batch, and also supports custom timeout between requests, avoiding spam. --- @@ -77,7 +78,7 @@ asngecko -a "AS15169 AS32934" -46 \ ### Arch Linux / Manjaro ```bash -sudo pacman -S asngecko +yay -S asngecko ``` ### Manual @@ -109,8 +110,6 @@ sudo cp contrib/asngecko-completion.bash /etc/bash_completion.d/ --- ---- - ## πŸ“œ License Licensed under the MIT License – see [LICENSE](LICENSE) for details. diff --git a/asngecko b/asngecko index 79090cf..0cab122 100644 --- a/asngecko +++ b/asngecko @@ -2,7 +2,7 @@ # ----------------------------------------------------------------------------- # asngecko – Swiss-army script for fetching IPv4 / IPv6 prefixes for ASNs # ----------------------------------------------------------------------------- -# Author: +# Author: Racks Rask # License: MIT # ----------------------------------------------------------------------------- # FEATURES @@ -39,7 +39,6 @@ THROTTLE=0 ASN_INPUT=() ASN_FILE="" -# ──────────────────────────────────────────────────────────────────────────────── print_msg() { $QUIET || echo "$*" >&2; } usage() { @@ -49,7 +48,6 @@ $SCRIPT_NAME $VERSION – fetch IP ranges for Autonomous Systems Usage: $SCRIPT_NAME -a AS15169 [options] $SCRIPT_NAME -a "AS15169 AS16509" [options] - $SCRIPT_NAME -a AS15169 -q [more options] | your-special-command $SCRIPT_NAME -l list.txt [options] Options: @@ -141,6 +139,15 @@ ASN_INPUT=("${NORMALISED[@]}") print_msg "ASNs: ${ASN_INPUT[*]}" print_msg "IP family: $IP_VERSION" +# If you only gave --output4 (or only --output6), restrict to that family +if [[ "$OUTPUT_DEST" == "file" ]]; then + if [[ -n "$OUTPUT_FILE_V4" && -z "$OUTPUT_FILE_V6" ]]; then + IP_VERSION="4" + elif [[ -n "$OUTPUT_FILE_V6" && -z "$OUTPUT_FILE_V4" ]]; then + IP_VERSION="6" + fi +fi + # ──────────────────────────────────────────────────────────────────────────────── # Fetch helpers fetch_prefixes() { @@ -190,9 +197,8 @@ format_json() { # Decide where to write & actually write write_output() { local content="$1" fam="$2" - - # Resolve file path when saving local file="" + case "$fam" in v4) file="$OUTPUT_FILE_V4" ;; v6) file="$OUTPUT_FILE_V6" ;;