Compare commits

...

5 commits
v1.2.0 ... main

Author SHA1 Message Date
Racks Rask
654efe870d
added description 2025-06-12 08:26:40 +00:00
furrofurry
47f424803b Update asngecko 2025-06-12 10:19:56 +02:00
Racks Rask
ed9aed937e
yay 2025-06-12 08:01:56 +00:00
Racks Rask
5e1baef8d0
Update asngecko 2025-06-11 21:23:41 +00:00
Racks Rask
0ba6966e4c
Update README.md 2025-06-11 21:21:24 +00:00
2 changed files with 13 additions and 8 deletions

View file

@ -6,6 +6,7 @@
> Quickly fetch & format IPv4/IPv6 prefix lists for oneormany 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.

View file

@ -2,7 +2,7 @@
# -----------------------------------------------------------------------------
# asngecko Swiss-army script for fetching IPv4 / IPv6 prefixes for ASNs
# -----------------------------------------------------------------------------
# Author: <your-name>
# 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" ;;