Initial commit: Key Ajans portfolio site

This commit is contained in:
kayasamat
2026-08-07 17:46:14 +03:00
commit 91bb52bce4
18 changed files with 1656 additions and 0 deletions
+62
View File
@@ -0,0 +1,62 @@
#!/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()