2023-10-31 12:33:36 +01:00
<#
2023-08-22 08:15:53 +02:00
. SYNOPSIS
2024-02-13 20:14:48 +01:00
Lists the public IP address
2023-08-22 08:15:53 +02:00
. DESCRIPTION
2023-11-27 12:51:01 +01:00
This PowerShell script queries the public IP address information and prints it .
2023-08-22 08:15:53 +02:00
. EXAMPLE
PS > . / list-public -ip . ps1
2024-02-13 20:14:48 +01:00
✅ Public IP address 185.72 . 229 . 161 , 2003 : f2 : 6128 : fd01 : e543 : 601 : 30c2 : a028 near Munich , Germany
2023-08-22 08:15:53 +02:00
. LINK
https : / / github . com / fleschutz / PowerShell
. NOTES
Author : Markus Fleschutz | License : CC0
#>
try {
if ( $IsLinux ) {
2023-11-27 12:51:01 +01:00
[ string ] $publicIPv4 = ( curl -4 - -silent ifconfig . co )
[ string ] $publicIPv6 = ( curl -6 - -silent ifconfig . co )
[ string ] $city = ( curl - -silent ifconfig . co / city )
[ string ] $country = ( curl - -silent ifconfig . co / country )
2023-08-22 08:15:53 +02:00
} else {
2023-11-27 12:51:01 +01:00
[ string ] $publicIPv4 = ( curl . exe -4 - -silent ifconfig . co )
[ string ] $publicIPv6 = ( curl . exe -6 - -silent ifconfig . co )
[ string ] $city = ( curl . exe - -silent ifconfig . co / city )
[ string ] $country = ( curl . exe - -silent ifconfig . co / country )
2023-08-22 08:15:53 +02:00
}
2023-09-13 08:41:22 +02:00
if ( " $publicIPv4 " -eq " " ) { $publicIPv4 = " no IPv4 " }
if ( " $publicIPv6 " -eq " " ) { $publicIPv6 = " no IPv6 " }
2023-11-27 12:51:01 +01:00
if ( " $city " -eq " " ) { $city = " unknown city " }
if ( " $country " -eq " " ) { $country = " unknown country " }
2024-02-13 20:14:48 +01:00
Write-Host " ✅ Public IP address $publicIPv4 , $publicIPv6 near $city , $country " ; if ( $country -eq " Russia " ) { Write-Host -foregroundColor red " DON'T TRUST PUTIN !!! FLEE NOW OR DIE AS SOLDIER IN UKRAINE !!! " }
2023-08-22 08:15:53 +02:00
exit 0 # success
} catch {
" ⚠️ Error in line $( $_ . InvocationInfo . ScriptLineNumber ) : $( $Error [ 0 ] ) "
exit 1
}