#!/usr/bin/env python3 """Admin hesaplarını PROJE DIŞINA kaydeder: ~/.config/key-ajansi/admins.json Kullanım: python3 setup_admins.py # rastgele güçlü şifreler üretir ADMIN1_PW=... ADMIN2_PW=... python3 setup_admins.py # kendi şifrenizi verin Dosyada yalnızca şifrelenmiş (hash) kopyalar saklanır; düz şifre asla yazılmaz. """ import json import os import secrets import sys from werkzeug.security import generate_password_hash import security ADMIN1_USER = "eymenmert" ADMIN1_NAME = "Eymen Mert YİĞİT" ADMIN2_USER = "mehmedkudret" ADMIN2_NAME = "Mehmed Kudret ERDOĞMUŞ" def main(): pw1 = os.environ.get("ADMIN1_PW") or secrets.token_urlsafe(12) pw2 = os.environ.get("ADMIN2_PW") or secrets.token_urlsafe(12) if security.CONFIG_PATH == security.DEFAULT_CONFIG_PATH and os.path.exists(security.CONFIG_PATH): sys.exit("Yapılandırma zaten var. Sıfırlamak için dosyayı silin:\n " + security.CONFIG_PATH) payload = { "secret": secrets.token_urlsafe(48), "admins": [ { "username": ADMIN1_USER, "display_name": ADMIN1_NAME, "password_hash": generate_password_hash(pw1, method="pbkdf2:sha256"), }, { "username": ADMIN2_USER, "display_name": ADMIN2_NAME, "password_hash": generate_password_hash(pw2, method="pbkdf2:sha256"), }, ], } os.makedirs(os.path.dirname(security.CONFIG_PATH), exist_ok=True) with open(security.CONFIG_PATH, "w", encoding="utf-8") as fh: json.dump(payload, fh, indent=2, ensure_ascii=False) os.chmod(security.CONFIG_PATH, 0o600) print("Admin yapılandırması kaydedildi:", security.CONFIG_PATH) print() print(f" Admin 1 | kullanıcı adı: {ADMIN1_USER} | şifre: {pw1}") print(f" Admin 2 | kullanıcı adı: {ADMIN2_USER} | şifre: {pw2}") print() print("Bu şifreleri güvenli bir yere not edin; bir daha gösterilmez.") if __name__ == "__main__": main()