from flask import Flask, request
from wakeonlan import send_magic_packet

app = Flask(__name__)

SECRET_KEY = "abc12"
TARGET_MAC = "30:56:0F:0D:F4:2F"

# Широковещательный адрес подсети
BROADCAST_IP = "192.168.1.255"

@app.route("/", methods=["GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"])
@app.route("/wol", methods=["GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"])
@app.route("/wol/", methods=["GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS"])
def wol():
    key = request.args.get("key") or request.form.get("key")
    if key != SECRET_KEY:
        return "Invalid key", 403

    # Отправляем магический пакет в broadcast
    send_magic_packet(TARGET_MAC, ip_address=BROADCAST_IP, port=9)
    return "Magic packet sent (broadcast)!"

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=5000)
