From 1e4f6e21acdcb548c2d5c2f4bc5fefb4fe4811b5 Mon Sep 17 00:00:00 2001 From: radinpirouz Date: Thu, 29 Jan 2026 17:40:31 +0330 Subject: [PATCH] Init Commit --- Dockerfile | 9 +++++++++ main.py | 24 ++++++++++++++++++++++++ requirements.txt | 14 ++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 Dockerfile create mode 100644 main.py create mode 100644 requirements.txt diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e0f9eae --- /dev/null +++ b/Dockerfile @@ -0,0 +1,9 @@ +FROM python:3.12-slim + +WORKDIR /app + +COPY . . + +RUN pip install -r requirements.txt + +CMD ["python3","main.py"] \ No newline at end of file diff --git a/main.py b/main.py new file mode 100644 index 0000000..b6e1772 --- /dev/null +++ b/main.py @@ -0,0 +1,24 @@ +from fastapi import FastAPI, Request +from pydantic import BaseModel +import uvicorn + +app = FastAPI() + +class IPResponse(BaseModel): + your_public_ip: str + port: str + msg: str + +@app.get("/", response_model=IPResponse) +def my_ip(request: Request): + client_ip = request.headers.get("X-Real-IP") or request.headers.get("X-Forwarded-For") or request.client.host + client_port = request.headers.get("X-Forwarded-Port") or str(request.client.port) + + return { + "your_public_ip": client_ip, + "port": client_port, + "msg": "abbas be mole" + } + +if __name__ == "__main__": + uvicorn.run(app, host="0.0.0.0", port=1000) diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..775576e --- /dev/null +++ b/requirements.txt @@ -0,0 +1,14 @@ +annotated-doc==0.0.4 +annotated-types==0.7.0 +anyio==4.12.1 +click==8.3.1 +exceptiongroup==1.3.1 +fastapi==0.128.0 +h11==0.16.0 +idna==3.11 +pydantic==2.12.5 +pydantic_core==2.41.5 +starlette==0.50.0 +typing-inspection==0.4.2 +typing_extensions==4.15.0 +uvicorn==0.40.0