← Tüm çalışmalar Proje

LARES: Müşteriye Özel Erişim Portalı

25 Haziran 2026

Flask WireGuard

LARES için, müşterilerine özel erişim verilen bir web sayfası geliştirdim.

Ne yapıyor

Sayfa, LARES müşterilerinin/cihazlarının kendi kendine WireGuard ağına kayıt olabilmesini sağlıyor. Kayıt isteği arka planda CERES broker servisine iletiliyor; giriş ve kayıt uçları kötüye kullanıma karşı hız sınırlamasıyla (rate limiting) korunuyor.

Saha entegrasyonu

Bir Raspberry Pi 4 panelde, WELCO backend'inin yerel bir kopyası çalıştırılarak LoRaWAN + DALI panel entegrasyonu saha koşullarında test ediliyor; panel, WireGuard üzerinden merkezi altyapıya güvenli şekilde bağlanıyor.

Basit bir örnek

Kayıt uçlarında hız sınırlamasının mantığını özetleyen, gerçek koddan bağımsız minik bir Flask örneği:

from flask import Flask, request, jsonify
from collections import defaultdict
import time

app = Flask(__name__)
attempts = defaultdict(list)

def rate_limited(ip, limit=5, window=60):
    now = time.time()
    attempts[ip] = [t for t in attempts[ip] if now - t < window]
    attempts[ip].append(now)
    return len(attempts[ip]) > limit

@app.route("/register", methods=["POST"])
def register():
    ip = request.remote_addr
    if rate_limited(ip):
        return jsonify(error="too many requests"), 429
    return jsonify(status="ok")