Skip to content

Commit cec07d4

Browse files
MDA2AVclaude
andcommitted
Redesign landing page — platform framing + contributor onboarding
- 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>
1 parent 884de41 commit cec07d4

1 file changed

Lines changed: 60 additions & 9 deletions

File tree

docs/content/_index.md

Lines changed: 60 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,30 +4,81 @@ layout: hextra-home
44
---
55

66
{{< hextra/hero-badge link="https://github.com/MDA2AV/Http11Probe" >}}
7-
<span>GitHub</span>
7+
<span>Open Source</span>
88
{{< icon name="arrow-circle-right" attributes="height=14" >}}
99
{{< /hextra/hero-badge >}}
1010

1111
<div class="hx-mt-6 hx-mb-6">
1212
{{< hextra/hero-headline >}}
13-
HTTP/1.1 Server Compliance Probe
13+
HTTP/1.1 Compliance&nbsp;Platform
1414
{{< /hextra/hero-headline >}}
1515
</div>
1616

1717
<div class="hx-mb-12">
1818
{{< hextra/hero-subtitle >}}
19-
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.
2020
{{< /hextra/hero-subtitle >}}
2121
</div>
2222

23-
<div class="hx-mb-6">
24-
{{< hextra/hero-button text="View Probe Results" link="probe-results" >}}
23+
<div class="hx-mb-6" style="display:flex;gap:12px;justify-content:center;flex-wrap:wrap;">
24+
{{< hextra/hero-button text="View Results" link="probe-results" >}}
25+
{{< hextra/hero-button text="Add Your Framework" link="https://github.com/MDA2AV/Http11Probe#adding-a-server" style="secondary" >}}
2526
</div>
2627

27-
## Features
28+
<div class="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.
33+
34+
{{< cards >}}
35+
{{< card link="compliance" title="Compliance" subtitle="RFC 9110/9112 protocol requirements — line endings, request-line format, header syntax, Host validation, Content-Length parsing." icon="check-circle" >}}
36+
{{< card link="smuggling" title="Smuggling" subtitle="CL/TE ambiguity, duplicate Content-Length, obfuscated Transfer-Encoding, pipeline injection vectors." icon="shield-exclamation" >}}
37+
{{< card link="malformed-input" title="Robustness" subtitle="Binary garbage, 100 KB fields, 10,000 headers, control characters, integer overflow, incomplete requests." icon="lightning-bolt" >}}
38+
{{< /cards >}}
39+
40+
<div class="hx-mt-16"></div>
41+
42+
## Add Your Framework
43+
44+
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.
2880

2981
{{< cards >}}
30-
{{< card link="compliance" title="Compliance Testing" subtitle="RFC 9110/9112 protocol requirements — bare LF, obs-fold, missing Host, invalid versions, and more." icon="check-circle" >}}
31-
{{< 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" >}}
3384
{{< /cards >}}

0 commit comments

Comments
 (0)