This repository has been archived on 2024-06-12. You can view files and clone it, but cannot push or open issues or pull requests.
ipserv/ipserv.py

26 lines
654 B
Python
Raw Normal View History

2024-04-17 16:27:58 +01:00
import requests
2024-04-18 10:18:38 +01:00
import json
2024-04-17 16:27:58 +01:00
from flask import Flask, request, make_response
app = Flask(__name__)
@app.get("/")
def ip():
2024-04-18 10:18:38 +01:00
if "X-Forwarded-For" in request.headers:
2024-04-17 16:44:55 +01:00
ip = request.headers["X-Forwarded-For"]
2024-04-17 16:27:58 +01:00
else:
ip = request.remote_addr
2024-04-18 10:18:38 +01:00
try:
response = requests.get("https://ip.shronk.net/lookup?ip=" + ip)
except Exception as e:
return {"error": str(e)}, 500
try:
data = response.json()
except json.JSONDecodeError as e:
return {"error": str(e)}
data.pop("legalese", None)
data.pop("source", None)
data.pop("brexitRequired", None)
2024-04-17 16:27:58 +01:00
return data, response.status_code