A lightweight Go-based debugging tool for inspecting HTTP headers, client IP addresses, and request metadata. This tool is particularly useful for debugging proxy configurations, analyzing request headers, and understanding how your application behaves behind load balancers.
- 🔒 Token-based authentication for secure access
- 📋 Displays all HTTP request headers
- 🌐 Smart client IP detection (supports X-Forwarded-For and X-Real-IP)
- ⏰ Request timestamp logging
- 🔄 Real-time header inspection
- 🛡️ Basic security measures
- Clone the repository:
git clone https://github.com/sphinxid/goDebug
cd goDebug
- Build the application:
go build
- Run the server:
./goDebug
The server will start on port 9090 by default.
Send requests to the server with your authentication token:
curl "http://localhost:9090/?token=YOUR_TOKEN"
The following constants can be modified in the code:
PORT
: Server port (default: ":9090")CUSTOM_TOKEN
: Authentication token (default: "Aklj12k3jkasdjflkasdjflkasjf13j")
Request at 2024-11-15 14:30:45.123456 -0700 MST
Accept: */*
User-Agent: curl/7.68.0
X-Forwarded-For: 192.168.1.100
Connection: keep-alive
Client IP: 192.168.1.100
- Token Protection: Always use a strong, unique token in production
- HTTPS: Consider adding TLS support for production use
- Rate Limiting: Implement rate limiting for production environments
- Token Rotation: Regularly rotate the authentication token
- Debugging reverse proxy configurations
- Validating load balancer headers
- Testing CDN behavior
- Inspecting client request metadata
- Troubleshooting HTTP header modifications
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Go 1.11 or higher
- No external dependencies