This commit is contained in:
AJ ONeal
2020-07-03 08:31:49 +00:00
parent 94becf0eae
commit ac797c8c0e
7 changed files with 118 additions and 8 deletions

60
myip/README.md Normal file
View File

@@ -0,0 +1,60 @@
---
title: My IP
homepage: https://webinstall.dev/myip
tagline: |
My IP answers the question "what's my IP address?"
description: |
`myip` will contact ipify.org to tell you your IP addresses:
1. `api.ipify.org` for your IPv4 or A address
2. `api6.ipify.org` for your IPv6 or AAAA address
---
Example output:
```txt
IPv4 (A) : 136.36.196.101
IPv6 (AAAA): 2605:a601:a919:9800:f8be:f2c4:9ad7:9763
```
### What is an IP address?
An IP or Internet Protocol address is basically the phone number of your
computer or server.
Whenever you visit a domain - such as https://google.com - the `google.com` part
is _resolved_ to the IP address using, quite literally, the internet's Contacts
list, known as DNS.
### How to get your IP address?
Due to how complex networking can be, the most reliable way to get your IP
address is basically to "make a call" to another server and ask it to tell you
what shows up on the "called id", as it were.
_IPify_ is such a service.
You likely have an IPv4 or A address as well as an IPv6 or AAAA address.
To find out your IPv4 or A address:
```bash
curl -s https://api.ipify.org
```
To find out your IPv6 or AAAA address:
```bash
curl -s https://api6.ipify.org
```
To find out either address:
```bash
curl -s https://api46.ipify.org
```
You can also use the `ifconfig`, `ip`, or `ipconfig` commands to figure this
out, but they may give you incorrect information if the network setup is complex
(as is the case... most of the time - home and business networks, cloud
networks, etc).

7
myip/install.ps1 Normal file
View File

@@ -0,0 +1,7 @@
#!/usr/bin/env pwsh
& curl.exe -A "$Env:WEBI_UA" -fsSL "$Env:WEBI_HOST/packages/myip/myip.ps1" -o "$Env:USERPROFILE\.local\bin\myip.ps1.part"
Remove-Item -Path "$Env:USERPROFILE\.local\bin\myip.ps1" -Recurse -ErrorAction Ignore
& move "$Env:USERPROFILE\.local\bin\myip.ps1.part" "$Env:USERPROFILE\.local\bin\myip.ps1"
Set-Content -Path "$Env:USERPROFILE\.local\bin\myip.bat" -Value "@echo off`r`npushd %USERPROFILE%`r`npowershell -ExecutionPolicy Bypass .local\bin\myip.ps1 %1`r`npopd"
& "$Env:USERPROFILE\.local\bin\myip.bat"

12
myip/install.sh Normal file
View File

@@ -0,0 +1,12 @@
#!/bin/bash
{
set -e
set -u
rm -f "$HOME/.local/bin/myip"
webi_download "$WEBI_HOST/packages/myip/myip.sh" "$HOME/.local/bin/myip"
chmod a+x "$HOME/.local/bin/myip"
"$HOME/.local/bin/myip"
}

15
myip/myip.ps1 Normal file
View File

@@ -0,0 +1,15 @@
#!/usr/bin/env pwsh
$ipv4 = curl.exe -sf https://api.ipify.org
IF(!($ipv4 -eq $null -or $ipv4 -eq ""))
{
echo "IPv4 (A) : $ipv4"
}
$ipv6 = curl.exe -sf https://api6.ipify.org
IF(!($ipv6 -eq $null -or $ipv6 -eq ""))
{
echo "IPv6 (AAAA): $ipv6"
}

17
myip/myip.sh Normal file
View File

@@ -0,0 +1,17 @@
#!/bin/bash
{
set -e
set -u
ipv4=$(curl -s https://api.ipify.org)
ipv6=$(curl -s https://api6.ipify.org)
if [ -n "$ipv4" ]; then
echo "IPv4 (A) : $ipv4"
fi
if [ -n "$ipv6" ] && [ "ipv6" != "ipv4" ]; then
echo "IPv6 (AAAA): $ipv6"
fi
}