wget -O ipregion.sh https://ipregion.vladon.sh
chmod +x ipregion.shbash <(wget -qO- https://ipregion.vladon.sh)- Multiple GeoIP APIs and web services (YouTube, Google, etc.)
- IPv4/IPv6 support with SOCKS5 proxy and custom network interface
- JSON output and color-coded tables
- Parallel checks by default (auto-detected)
- bash
- curl
- jq
- util-linux/bsdmainutils
./ipregion.sh --help # Show all options
./ipregion.sh --group primary # GeoIP services only
./ipregion.sh --group custom # Popular websites only
./ipregion.sh --ipv4 # IPv4 only
./ipregion.sh --ipv6 # IPv6 only
./ipregion.sh --proxy 127.0.0.1:1080 # Use SOCKS5 proxy
./ipregion.sh --json # JSON output
./ipregion.sh --debug # Debug mode
./ipregion.sh --parallel 6 # Run checks in parallel
./ipregion.sh --force-spinner # Force spinner even in parallel mode
./ipregion.sh --progress-log # Progress lines instead of spinnerNote
Debug mode writes a local log file and may include sensitive data. If you choose to upload it, the script uses a redacted copy, but review the file before sharing.
All options can be combined.
The script outputs country codes in ISO 3166-1 alpha-2 format (e.g., RU, US, DE).
You can look up the meaning of any country code at the official ISO website: https://www.iso.org/obp/ui/#search/code/
Just enter the code in the search box to get the full country name.
Contributions are welcome! Feel free to submit pull requests to add new services or improve the script’s functionality.
Forked from the original repository and heavily rewritten, with key improvements:
- Parallel checks by default with auto-detected worker count
- Safer legacy fallback for parallel waiting on older bash
- Clear startup status messages and dependency-check notice
Original: https://github.com/vernette/ipregion
Original author: Nikita Skryabin
Maintainer and rewrites: Vlad Yaroslavlev