mirror of
https://github.com/andrey271192/keenetic-dns-routes.git
synced 2026-09-20 14:42:01 +00:00
fix(auth): empty ADMIN_PASSWORD in .env now falls back to admin; strip passwords
Made-with: Cursor
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
HOST=0.0.0.0
|
HOST=0.0.0.0
|
||||||
PORT=8001
|
PORT=8001
|
||||||
|
# Если строка пустая или ключ убран — будет пароль admin
|
||||||
ADMIN_PASSWORD=change-me
|
ADMIN_PASSWORD=change-me
|
||||||
|
|
||||||
# Один логин/пароль для всех роутеров (KeenDNS HTTP Proxy → RCI)
|
# Один логин/пароль для всех роутеров (KeenDNS HTTP Proxy → RCI)
|
||||||
|
|||||||
@@ -11,7 +11,8 @@ STORE_FILE = DATA_DIR / "store.json"
|
|||||||
|
|
||||||
HOST = os.getenv("HOST", "0.0.0.0")
|
HOST = os.getenv("HOST", "0.0.0.0")
|
||||||
PORT = int(os.getenv("PORT", "8001"))
|
PORT = int(os.getenv("PORT", "8001"))
|
||||||
ADMIN_PASSWORD = os.getenv("ADMIN_PASSWORD", "admin")
|
# Пустая строка в .env (ADMIN_PASSWORD=) не даёт дефолт через getenv — явно подставляем admin
|
||||||
|
ADMIN_PASSWORD = (os.getenv("ADMIN_PASSWORD") or "admin").strip()
|
||||||
|
|
||||||
KEENETIC_LOGIN = os.getenv("KEENETIC_LOGIN", "admin")
|
KEENETIC_LOGIN = (os.getenv("KEENETIC_LOGIN") or "admin").strip()
|
||||||
KEENETIC_PASSWORD = os.getenv("KEENETIC_PASSWORD", "")
|
KEENETIC_PASSWORD = (os.getenv("KEENETIC_PASSWORD") or "").strip()
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ TPL = Path(__file__).resolve().parent.parent / "templates"
|
|||||||
|
|
||||||
|
|
||||||
def _chk(pwd: str) -> None:
|
def _chk(pwd: str) -> None:
|
||||||
if config.ADMIN_PASSWORD and pwd != config.ADMIN_PASSWORD:
|
if (pwd or "").strip() != config.ADMIN_PASSWORD:
|
||||||
raise HTTPException(401, "Неверный пароль")
|
raise HTTPException(401, "Неверный пароль")
|
||||||
|
|
||||||
|
|
||||||
@@ -44,7 +44,7 @@ async def index():
|
|||||||
|
|
||||||
@app.post("/api/auth")
|
@app.post("/api/auth")
|
||||||
async def api_auth(b: AuthBody):
|
async def api_auth(b: AuthBody):
|
||||||
if config.ADMIN_PASSWORD and b.password == config.ADMIN_PASSWORD:
|
if (b.password or "").strip() == config.ADMIN_PASSWORD:
|
||||||
return {"ok": True}
|
return {"ok": True}
|
||||||
raise HTTPException(401, "Wrong password")
|
raise HTTPException(401, "Wrong password")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user