From a55db863b0af435fac18a86ba2b22593412a2e70 Mon Sep 17 00:00:00 2001 From: nexy7574 Date: Wed, 17 Apr 2024 16:27:58 +0100 Subject: [PATCH] Initial commit --- Dockerfile | 8 ++++++++ ipserv.py | 18 ++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 Dockerfile create mode 100644 ipserv.py diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b9036e2 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,8 @@ +FROM python:3-slim + +WORKDIR /app +COPY ipserv.py /app +EXPOSE 8000 +RUN pip install flask requests gunicorn +CMD ["gunicorn", "-w", "4", "-b", "0.0.0.0", "ipserv:app"] + \ No newline at end of file diff --git a/ipserv.py b/ipserv.py new file mode 100644 index 0000000..b5cb27c --- /dev/null +++ b/ipserv.py @@ -0,0 +1,18 @@ +import requests +from flask import Flask, request, make_response + +app = Flask(__name__) + + +@app.get("/") +def ip(): + if "X-Real-IP" in request.headers: + ip = request.headers["X-Real-IP"] + else: + ip = request.remote_addr + response = requests.get("https://ip.shronk.net/lookup?ip=" + ip) + data = response.json() + data.pop("legalese") + data.pop("source") + data.pop("brexitRequired") + return data, response.status_code