#!/bin/bash echo "=== 捕获 Gitea Webhook Header ===" echo "" echo "1. 创建临时 webhook 接收器..." cat > /tmp/capture-webhook.py << 'PYEOF' #!/usr/bin/env python3 from http.server import HTTPServer, BaseHTTPRequestHandler import json import sys class WebhookHandler(BaseHTTPRequestHandler): def do_POST(self): print("\n=== 收到 Webhook 请求 ===") print(f"Path: {self.path}") print("\nHeaders:") for key, value in self.headers.items(): print(f" {key}: {value}") content_length = int(self.headers.get('Content-Length', 0)) body = self.rfile.read(content_length) print(f"\nBody (前 500 字符):") print(body.decode('utf-8')[:500]) self.send_response(200) self.send_header('Content-type', 'application/json') self.end_headers() self.wfile.write(b'{"status":"ok"}') def log_message(self, format, *args): pass if __name__ == '__main__': port = int(sys.argv[1]) if len(sys.argv) > 1 else 9999 server = HTTPServer(('0.0.0.0', port), WebhookHandler) print(f"监听端口 {port}...") server.handle_request() PYEOF chmod +x /tmp/capture-webhook.py echo "2. 在服务器上启动 webhook 接收器..." echo " 请在另一个终端运行:" echo " ssh root@139.155.109.62 'python3 /tmp/capture-webhook.py 9999'" echo "" echo "3. 或者,让我们检查 Gitea 的 webhook 配置..." echo "" echo "检查 Gitea 容器中的 webhook 设置..." docker exec forgejo ls -la /data/gitea/data/hooks/ 2>/dev/null || echo "没有找到 hooks 目录" echo "" echo "检查最近的 webhook 日志..." docker logs forgejo --since 5m 2>&1 | grep -i webhook | tail -10