Repolode
svix

svix/svix-webhooks

Rust製のオープンソースWebhook送信サービス。配信、再試行、署名を担い、APIを1回呼び出すだけでWebhookを送信できます。

代替できる製品:Svix Cloud

スター
3,475
フォーク
299
未解決の Issue
64
最終コミット
22 時間前

これは何?

Svixは、顧客にWebhookを送信したいチーム向けのWebhookサービスです。開発者がイベントを公開するAPIを1回呼び出すと、サービスが購読中の各エンドポイントへの配信を処理します。再試行、ペイロードへの署名、配信状況の追跡にも対応しています。

サーバーはRust製で、単独のバイナリまたはDockerコンテナとして実行できます。イベントの保存にはPostgreSQLが必要で、タスクキューやキャッシュにはRedisなどのキューバックエンドを任意で利用できます。設定はTOMLファイルまたは環境変数で行います。署名方式として、対称鍵(エンドポイントごとのシークレットを使うHMAC形式)と非対称鍵のed25519をサポートし、デフォルトでは対称鍵を使用します。再試行を使い切った失敗タスクはデッドレターキューに送られ、管理者用エンドポイントから再処理できます。

Go、Python、TypeScript/JavaScript、Java、Kotlin、Ruby、C#、Rust、PHP向けのクライアントライブラリに加え、Terraformプロバイダーとnpmで配布されるCLIを提供しています。リポジトリにはRedisキュー向けのDLQ実装も含まれ、OpenTelemetryによるトレース、メトリクス、ログのエクスポートにも対応しています。

主な機能

  • 01送信元からAPIを1回呼び出すだけでWebhookを送信できます。
  • 02各エンドポイントへの配信を再試行し、配信状況を追跡します。
  • 03デフォルトでは対称鍵でペイロードに署名し、オプションで非対称鍵のed25519署名も利用できます。
  • 04ストレージにPostgreSQL、タスクキューにRedisを利用できます。
  • 05デッドレターキューを備え、管理者用エンドポイントから失敗タスクを再処理できます。
  • 06OpenTelemetry経由でトレース、メトリクス、ログをエクスポートできます。

ユースケース

  • SaaS製品に顧客連携用の送信Webhook通知を追加する。
  • 再試行と署名が必要な自作Webhookディスパッチャーを置き換える。
  • PostgreSQLとRedisを使ったWebhook配信パイプラインをセルフホストする。
  • 提供されているクライアントライブラリを使い、バックエンドからイベント通知を送信する。

クイックスタート

  1. 1

    インストールせずに Svix CLI を試す

    npx svix-cli --help
  2. 2

    リポジトリ内の server ディレクトリに移動する

    cd server
  3. 3

    Docker Compose でサーバーを起動する(Redis と PostgreSQL も起動します)

    docker compose up

使う前に知っておきたいこと

  • サーバーには PostgreSQL データベースが必要です。Redis は任意ですが、タスクキューには推奨されます。
  • Redis は永続化と、キーを退避しない eviction policy を設定する必要があるため、セルフホスティングの手間が増えます。

トピック

よくある質問

svix-webhooks とは?
Rust製のオープンソースWebhook送信サービス。配信、再試行、署名を担い、APIを1回呼び出すだけでWebhookを送信できます。 Svixは、顧客にWebhookを送信したいチーム向けのWebhookサービスです。開発者がイベントを公開するAPIを1回呼び出すと、サービスが購読中の各エンドポイントへの配信を処理します。再試行、ペイロードへの署名、配信状況の追跡にも対応しています。
svix-webhooks は無料で使えますか?ライセンスは?
svix-webhooks は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
svix-webhooks は今もメンテナンスされていますか?
活発にメンテナンス中。svix-webhooks の最終コミットは 2026年11月6日 です。
svix-webhooks は何に使えますか?
SaaS製品に顧客連携用の送信Webhook通知を追加する。 再試行と署名が必要な自作Webhookディスパッチャーを置き換える。 PostgreSQLとRedisを使ったWebhook配信パイプラインをセルフホストする。 提供されているクライアントライブラリを使い、バックエンドからイベント通知を送信する。
svix-webhooks のインストール方法は?
インストールせずに Svix CLI を試す: npx svix-cli --help リポジトリ内の server ディレクトリに移動する: cd server Docker Compose でサーバーを起動する(Redis と PostgreSQL も起動します): docker compose up
svix-webhooks はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/svix/svix-webhooks

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト