Compare commits
2 Commits
6949baf12e
...
3e9142cd54
Author | SHA1 | Date | |
---|---|---|---|
3e9142cd54 | |||
8a1ba06c88 |
pddnsc/sources
@ -2,20 +2,18 @@ import httpx
|
||||
|
||||
from pddnsc.base import BaseSourceProvider
|
||||
|
||||
|
||||
# https://www.ipify.org/
|
||||
class IPIFYSource(BaseSourceProvider):
|
||||
async def fetch_v4(self) -> str:
|
||||
async with httpx.AsyncClient(transport=self.ipv4t) as client:
|
||||
response = await client.get("https://api4.ipify.org/?format=json")
|
||||
if response.status_code == httpx.codes.OK:
|
||||
data = response.json()
|
||||
result = None if not isinstance(data, dict) else data.get("ip")
|
||||
response = await client.get("https://api4.ipify.org")
|
||||
if response.is_success:
|
||||
result = response.text.strip() or None
|
||||
return result
|
||||
|
||||
async def fetch_v6(self) -> str:
|
||||
async with httpx.AsyncClient(transport=self.ipv6t) as client:
|
||||
response = await client.get("https://api6.ipify.org/?format=json")
|
||||
if response.status_code == httpx.codes.OK:
|
||||
data = response.json()
|
||||
result = None if not isinstance(data, dict) else data.get("ip")
|
||||
response = await client.get("https://api6.ipify.org")
|
||||
if response.is_success:
|
||||
result = response.text.strip() or None
|
||||
return result
|
||||
|
20
pddnsc/sources/wtfismyip.py
Normal file
20
pddnsc/sources/wtfismyip.py
Normal file
@ -0,0 +1,20 @@
|
||||
import httpx
|
||||
|
||||
from pddnsc.base import BaseSourceProvider
|
||||
|
||||
# https://wtfismyip.com/
|
||||
# https://gitlab.com/wtfismyip/wtfismyip
|
||||
class WTFIsMyIP(BaseSourceProvider):
|
||||
async def fetch_v4(self) -> str:
|
||||
async with httpx.AsyncClient(transport=self.ipv4t) as client:
|
||||
response = await client.get("https://text.ipv4.myip.wtf")
|
||||
if response.is_success:
|
||||
result = response.text.strip() or None
|
||||
return result
|
||||
|
||||
async def fetch_v6(self) -> str:
|
||||
async with httpx.AsyncClient(transport=self.ipv6t) as client:
|
||||
response = await client.get("https://text.ipv6.myip.wtf")
|
||||
if response.is_success:
|
||||
result = response.text.strip() or None
|
||||
return result
|
Loading…
x
Reference in New Issue
Block a user