mirror of
https://github.com/webinstall/webi-installers.git
synced 2026-02-14 17:49:53 +00:00
add myip
This commit is contained in:
60
myip/README.md
Normal file
60
myip/README.md
Normal 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
7
myip/install.ps1
Normal 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
12
myip/install.sh
Normal 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
15
myip/myip.ps1
Normal 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
17
myip/myip.sh
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user