Add SHRoNK ip online checker

This commit is contained in:
Nexus 2024-04-22 01:54:12 +01:00
parent 1f350d8399
commit 38acfebea0
Signed by: nex
GPG key ID: 0FA334385D0B689F
3 changed files with 14 additions and 1 deletions

View file

@ -2,6 +2,7 @@ FROM python:3-slim
WORKDIR /app
COPY ipserv.py /app
COPY cert/ /app/cert
EXPOSE 80/tcp
RUN pip install fastapi requests gunicorn uvicorn[standard] aiohttp
CMD ["gunicorn", "-b", "0.0.0.0:80", "--forwarded-allow-ips", "*", "--worker-class", "uvicorn.workers.UvicornWorker", "ipserv:app"]

View file

@ -2,7 +2,7 @@
<html lang="en">
<head>
<title>SHRoNK IP Specification test</title>
<script src="script.js" defer></script>
<script src="./script.js" defer></script>
<style>
html {
font-family: sans-serif;

View file

@ -6,6 +6,8 @@ import aiohttp
import random
from fastapi import FastAPI, Header, Request, Query, HTTPException
from fastapi.responses import JSONResponse, PlainTextResponse
from fastapi.staticfiles import StaticFiles
from fastapi.middleware.cors import CORSMiddleware
from contextlib import asynccontextmanager
logging.basicConfig(level=logging.INFO)
@ -43,6 +45,13 @@ app = FastAPI(lifespan=lifespan)
app.state.cache = {}
app.state.meta = Manager(app)
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_methods=["GET", "HEAD", "OPTIONS"],
allow_headers=["*"],
)
@app.middleware("http")
async def http_middleware(request: Request, call_next):
@ -176,3 +185,6 @@ async def get_health():
detail["status"] = "critical"
return JSONResponse(detail)
app.mount("/check", StaticFiles(directory="./cert", html=True), name="shronk-cert")