Công cụ miễn phí
Hai công cụ nhỏ, giấy phép MIT, mỗi cái tách ra từ một sản phẩm trả phí. Tải về, đọc, dùng.
webhooksig: xác thực chữ ký webhook cho Go
Chỉ dùng thư viện chuẩn. Xác thực chữ ký kiểu GitHub, kiểu Stripe (có cửa sổ chống replay) và Standard Webhooks trong thời gian không đổi (constant-time).
key, _ := webhooksig.ParseStandardSecret(os.Getenv("WEBHOOK_SECRET")) // "whsec_<base64>"
err := webhooksig.VerifyStandard(key, body,
r.Header.Get("webhook-id"), r.Header.Get("webhook-timestamp"), r.Header.Get("webhook-signature"),
time.Now(), 5*time.Minute)
Đã test với go test -race: body bị sửa, sai secret, header sai định dạng, timestamp quá hạn và từ tương lai, nhiều chữ ký trong một header, và test vector chuẩn của Standard Webhooks lấy từ thư viện Go tham chiếu của dự án.
vps-restore-test: backup restic của bạn có restore được không?
Một script bash restore snapshot restic mới nhất vào thư mục tạm rồi kiểm tra nó: restore chạy được, thư mục không rỗng, bản dump SQLite qua được bước kiểm tra toàn vẹn, bản dump Postgres đọc được, lệnh riêng của bạn (không bắt buộc) chạy qua, và restic check trên một mẫu cũng qua. Có lỗi nào là nó thoát với exit code khác không, để cron báo cho bạn.
Đã test trong container Debian 12 với một bản backup tốt, một repository sai và một snapshot thiếu bản dump.
Cần thêm gì nữa?
VPS Deploy & Backup Kit bản trả phí có thêm script backup với dump database nhất quán và retention, deploy blue/green kèm rollback và cảnh báo khi lỗi. Go Webhook Receiver Starter thêm queue, chống trùng, retry và công cụ vận hành quanh webhooksig.