You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Reframe as open compliance platform, not just a tool
- Add "Add Your Framework" section with 3-step guide
- Two CTAs: View Results + Add Your Framework
- Better section spacing and card descriptions
- Currently Tested section with leaderboard + glossary cards
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
A standalone testing tool that validates HTTP/1.1 servers against RFC 9110/9112 requirements, smuggling vectors, and malformed input handling.
19
+
An open testing platform that probes HTTP/1.1 servers against RFC 9110/9112 requirements, smuggling vectors, and malformed input handling. Add your framework, get compliance results automatically.
{{< hextra/hero-button text="Add Your Framework" link="https://github.com/MDA2AV/Http11Probe#adding-a-server" style="secondary" >}}
25
26
</div>
26
27
27
-
## Features
28
+
<divclass="hx-mt-16"></div>
29
+
30
+
## What It Does
31
+
32
+
Http11Probe sends **41 crafted HTTP requests** to each server and checks whether the response matches the exact expected behavior from the RFCs. Every server is tested identically, producing a side-by-side compliance comparison.
Http11Probe is designed so anyone can add their HTTP server and get compliance results without touching the test infrastructure. Three steps:
45
+
46
+
{{< steps >}}
47
+
48
+
### Write a minimal server
49
+
50
+
Create a directory under `src/Servers/YourServer/` with a simple HTTP server that returns `200 OK` on `GET /`. Any language, any framework.
51
+
52
+
### Add a Dockerfile
53
+
54
+
Add a `Dockerfile` that builds and runs your server. Use `network_mode: host` so it binds directly to the host network.
55
+
56
+
### Add to docker-compose.yml
57
+
58
+
Add a service entry with two labels — that's the only configuration needed:
59
+
60
+
```yaml
61
+
yourserver:
62
+
build:
63
+
context: .
64
+
dockerfile: src/Servers/YourServer/Dockerfile
65
+
network_mode: host
66
+
labels:
67
+
probe.port: "9020"
68
+
probe.name: "Your Server"
69
+
```
70
+
71
+
{{< /steps >}}
72
+
73
+
The CI pipeline auto-discovers servers from `docker-compose.yml` labels. No workflow edits, no test changes, no config files. Open a PR and the probe runs automatically.
74
+
75
+
<div class="hx-mt-16"></div>
76
+
77
+
## Currently Tested
78
+
79
+
Glyph11, ASP.NET Kestrel, Flask, Express, Spring Boot, Quarkus, Nancy, Jetty, Nginx, Apache, Caddy, and Pingora — across C#, Python, JavaScript, Java, and Rust.
{{< card link="smuggling" title="Smuggling Detection" subtitle="CL/TE ambiguity, duplicate Content-Length, leading zeros, pipeline probes, and obfuscation vectors." icon="shield-exclamation" >}}
32
-
{{< card link="malformed-input" title="Robustness Testing" subtitle="Binary garbage, oversized URLs/headers, control characters, integer overflow, and incomplete requests." icon="lightning-bolt" >}}
82
+
{{< card link="probe-results" title="Leaderboard" subtitle="See which frameworks pass the most tests, ranked from best to worst compliance." icon="chart-bar" >}}
83
+
{{< card link="glossary" title="Glossary" subtitle="What RFCs are, how smuggling works, and what every test ID means." icon="book-open" >}}
0 commit comments