Minimalist RequestBin clone with real-time request inspection powered by WebSockets.
- Generate temporary request endpoints
- Inspect incoming HTTP requests in real-time
- WebSocket-powered live updates
- Request detail inspection:
- Headers
- Body
- Query parameters
- HTTP method
- Persistent request history
- Automatic bin expiration after 24 hours
- Self-hostable architecture
- Lightweight and minimal setup
- Vue 3
- TypeScript
- Pinia
- PHP
- SQLite
- Soketi
- Laravel Echo
- Podman
- Nginx
- Docker or Podman
git clone https://github.com/k4ik/reqbin.git
cd reqbinpodman compose up -d --buildor
docker compose up -d --buildReqbin follows a lightweight layered architecture:
- Controllers handle HTTP requests
- Services contain business logic
- Repositories manage persistence
- DTOs standardize captured request data
- Workers handle background cleanup tasks
Incoming Request
↓
PHP Backend
↓
SQLite Persistence
↓
Soketi Broadcast
↓
Vue Frontend Sync.
├── backend/
│ ├── app/
│ │ ├── Controllers/
│ │ ├── Database/
│ │ ├── DTO/
│ │ ├── Repositories/
│ │ ├── Services/
│ │ └── Workers/
│ │
│ ├── public/
│ └── storage/
│
├── frontend/
│ ├── src/
│ │ ├── components/
│ │ ├── composables/
│ │ ├── helpers/
│ │ ├── stores/
│ │ └── types/
│
└── README.md- Create a new temporary bin
- Send requests to the generated endpoint
- Reqbin captures and stores the request
- Incoming requests are broadcast through WebSockets
- The frontend updates in real-time
- Expired bins are automatically cleaned after 24 hours
curl -X POST http://localhost:8000/bin/:bin \
-H "Content-Type: application/json" \
-d '{"message":"hello world"}'Reqbin was built to explore:
- Real-time communication using WebSockets
- Request inspection systems
- Lightweight backend architecture
- Fullstack application design
- Self-hostable developer tooling
- Real-time request updates
- Request storage
- Request detail viewer
- Automatic bin expiration
- Rate limiting
- Request filtering
- Security improvements
- Better UI/UX
Contributions, issues, and feature requests are welcome.
- Fork the repository
- Create your feature branch
- Commit your changes
- Push your branch
- Open a Pull Request
This project is licensed under the MIT License.