A powerful, secure, and user-friendly webhook inspection and management tool. QimteK Webhook allows developers to generate unique webhook URLs, capture incoming requests in real-time, and inspect payloads with a modern, responsive interface.
- Webhook Management: Generate unique webhook URLs with customizable names.
- Real-time Inspection: View incoming requests instantly.
- Detailed Request Analysis: Inspect Headers, Body (JSON/Text), Query Parameters, IP addresses, and timestamps.
- Advanced Inspection & Filtering: (Professional) Filter requests by method (GET, POST, etc.) or search by URL/Body content.
- Request Replay: (Professional) One-click replay of any captured request to debug endpoints or retry failed webhooks.
- Data Export: Export webhook request data to JSON or CSV formats for offline analysis.
- Smart Parsing: Automatically handles various content types and detects JSON payloads.
- Visual Analytics: Interactive charts for traffic monitoring (Requests per minute/hour).
- Optimized Performance: "Summary" data fetching for fast chart rendering even with large datasets.
- Secure Authentication: JWT-based session management.
- Multi-Factor Authentication (MFA): Optional 2FA support using TOTP (Google Authenticator, Authy).
- Password Management: Secure password change functionality.
- Role-Based Access Control (RBAC):
- User: Free tier with basic limits (3 Webhooks, 24h retention).
- Professional: Enhanced limits (10 Webhooks, Unlimited retention, Advanced features) with Subscription Expiration tracking.
- Administrator: Full system access and user management.
- Endpoint Protection: Validates token existence and status before accepting data.
- User Management: View, create, edit, and delete user accounts.
- Role Management: Upgrade/Downgrade user roles directly.
- Plan Configuration: Dynamically configure plan limits (Max Webhooks, Expiration, etc.) via the Admin Dashboard.
- System Stats: Overview of total users and active webhooks.
- Responsive Design: Fully optimized for mobile and desktop (including Pricing Cards and Dashboards).
- Dark Mode: Built-in dark theme for comfortable viewing.
- Interactive Components: Real-time charts, copy-to-clipboard, and intuitive navigation.
- React 18 (TypeScript)
- Vite - Lightning-fast build tool
- Tailwind CSS - Utility-first styling
- Recharts - Data visualization
- Framer Motion - Smooth animations
- React Router - SPA Navigation
- Lucide React - Modern iconography
- Node.js & Express - Robust API server (for self-hosting/dev)
- Cloudflare Pages Functions - Serverless backend (Production)
- Supabase (PostgreSQL) - Scalable database and real-time capabilities
- Bcrypt & JWT - Secure authentication
- Node.js (v20 or higher recommended)
- npm or yarn
- A Supabase project (for database)
-
Clone the repository
git clone <repository-url> cd QimteK-Webhook
-
Install dependencies
npm install
-
Environment Configuration Create a
.envfile in the root directory with the following variables:# Backend Port (Optional, defaults to 3001) PORT=5000 # Supabase Configuration (Required) SUPABASE_URL=your_supabase_project_url SUPABASE_ANON_KEY=your_supabase_anon_key SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key # JWT Secret (Required for Auth) JWT_SECRET=your_secure_random_string # PayPal Configuration (For Payments) PAYPAL_CLIENT_ID=your_paypal_client_id PAYPAL_CLIENT_SECRET=your_paypal_secret
-
Start the development server
npm run dev
This command runs both the frontend (Vite) and backend (Node/Express) concurrently.
- Frontend: http://localhost:5173
- Backend API: http://localhost:5000 (or your configured PORT)
This project is optimized for deployment on Cloudflare Pages using the full-stack framework (Frontend + Functions).
-
Prerequisites:
- Cloudflare Account
- Wrangler CLI installed (
npm install -g wrangler)
-
Configuration: Ensure
wrangler.tomlis present withcompatibility_flags = ["nodejs_compat"]. -
Deploy:
npm run deploy
This script builds the frontend and deploys it along with the
/functionsdirectory to Cloudflare Pages.
- Log in to your dashboard.
- Click "New Webhook".
- Give it a name (e.g., "Stripe Payment").
- Use the generated URL in your third-party service.
- Click on a webhook card to view its details.
- The Traffic tab shows real-time request volume.
- The Requests tab allows you to list, filter, and search through captured requests.
- Click "Export" to download your data as JSON or CSV.
- Click a request to see full details. Use the Replay button to re-send the request (Professional only).
- Go to the Pricing section.
- Click "Upgrade Now" on the Professional plan.
- Follow the payment instructions (PayPal) to unlock permanent retention and higher limits.
- Log in with an Administrator account.
- Navigate to Admin Panel.
- Manage users, update roles, or adjust Plan Configurations directly from the UI.
POST /api/webhook/:token- Ingest data (Protected by token validation)GET /api/plans- Retrieve available plans
GET /api/webhooks- List user's webhooksGET /api/webhook/:token- Get webhook detailsPOST /api/webhooks- Create a new webhookDELETE /api/webhooks/:token- Delete a webhookPOST /api/webhooks/requests/:id/replay- Replay a request (Professional)POST /api/auth/change-password- Change user passwordPOST /api/auth/mfa/setup- Setup 2FAPOST /api/auth/mfa/enable- Enable 2FA
GET /api/users- List all usersPOST /api/users- Create a new user manuallyPATCH /api/users/:id- Update user details (Role, etc.)DELETE /api/users/:id- Delete a user and their dataPOST /api/plans/update- Update plan configurations