#!/usr/bin/env python3 from http.server import BaseHTTPRequestHandler, HTTPServer import subprocess import os import sys # Секретный ключ (соответствует тому, что в вебхуке) SECRET = "NY9B9VLifDC9ehZ" class WebhookHandler(BaseHTTPRequestHandler): def do_POST(self): # Проверяем секрет в URL if f"secret={SECRET}" in self.path: self.send_response(200) self.end_headers() self.wfile.write(b"Deployment triggered successfully\n") # Запускаем скрипт обновления в фоне print(">>> Received webhook, starting deployment...") subprocess.Popen(["/bin/bash", "/var/www/radionica3d/server_update.sh"]) else: self.send_response(403) self.end_headers() self.wfile.write(b"Forbidden: Invalid secret\n") if __name__ == "__main__": print("Deploy listener starting on port 9000...") httpd = HTTPServer(('127.0.0.1', 9000), WebhookHandler) httpd.serve_forever()