http-garden
Differential testing framework for HTTP implementations
File Explorer
Download Latest Version (.zip)- Dockerfile
- server.py
- Dockerfile
- index.php
- proxy.conf
- server.conf
- start.sh
- start_proxy.sh
- Dockerfile
- Server.java
- server.xml
- web.xml
- cache.config
- Dockerfile
- ip_allow.yaml
- records.yaml
- remap.config
- start.sh
- storage.config
- Dockerfile
- server.c
- server.conf
- Dockerfile
- server.c
- Dockerfile
- server.cpp
- Dockerfile
- GardenServer.java
- Dockerfile
- Server.java
- web.xml
- config.yaml
- Dockerfile
- envoy.yaml
- app.go
- Dockerfile
- app.go
- Dockerfile
- proxy.go
- start.sh
- start_proxy.sh
- Dockerfile
- server.py
- Dockerfile
- h2o-proxy.conf
- h2o.conf
- start.sh
- start_proxy.sh
- Dockerfile
- haproxy-fcgi.conf
- haproxy.conf
- index.php
- start.sh
- start_fcgi.sh
- Dockerfile
- README.md
- main.rs
- Cargo.toml
- Dockerfile
- Dockerfile
- server.py
- .gitignore
- Application.kt
- Dockerfile
- Dockerfile
- http-garden.c
- Dockerfile
- garden_server.c
- Dockerfile
- server.c
- Dockerfile
- index.php
- proxy.conf
- server.conf
- start.sh
- start_proxy.sh
- Dockerfile
- main.c
- Dockerfile
- GardenServer.java
- Dockerfile
- Dockerfile
- fix_ub.patch
- index.php
- nginx-proxy.conf
- nginx.conf
- start.sh
- start_proxy.sh
- app.js
- Dockerfile
- Dockerfile
- httpd.conf
- index.php
- Dockerfile
- echo.php
- proxy_config.conf
- proxy_vhost.conf
- server_config.conf
- server_vhost.conf
- start.sh
- start_proxy.sh
- Dockerfile
- server.lua
- main.rs
- Cargo.toml
- Dockerfile
- Dockerfile
- pound.cfg
- start.sh
- Dockerfile
- server.rb
- config.ru
- Dockerfile
- puma_config.rb
- Dockerfile
- garden.cpp
- Dockerfile
- squid.conf
- Dockerfile
- server.py
- Dockerfile
- server.py
- Dockerfile
- GardenServer.java
- Dockerfile
- server.py
- config.vcl
- Dockerfile
- Dockerfile
- server.py
- Dockerfile
- garden.rb
- Dockerfile
- proxy.ru
- server.ru
- start.sh
- start_proxy.sh
- yahns.conf
- diff.py
- echo_server.py
- fanout.py
- generate_readme_tables.py
- grid.py
- hpack.py
- http1.py
- http2.py
- mutations.py
- probe_quirks.py
- repl.py
- targets.py
- update.py
- util.py
- .gitignore
- docker-compose.yml
- external-services.yml
- garden.sh
- LICENSE
- pyproject.toml
- quirks.yml
- README.md
- TROPHIES.md
- uv.lock
# Installation Guide
1. Get the code
git clone https://github.com/narfindustries/http-garden
Downloads the entire project code from GitHub to your computer.
cd http-garden
Moves into the project folder you just downloaded.
2. Docker
Easy RecommendedPrerequisites
- Git Needed to download the project code from GitHub.
- Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker compose up -d --build
Builds and starts all defined containers (server, database, etc.) at once, in the background.
Run docker compose ps to check the containers are Up. If the README mentions a port, open http://localhost:PORT in your browser.
3. Python
EasyPrerequisites
pip install .
Installs the package published on PyPI directly β no need to clone the source.
python <μ€νν νμΌλͺ
>.py # READMEμμ μ νν μ€ν νμΌλͺ
μ νμΈνμΈμ
Runs the Python script (or module).
If it runs without errors and prints output in the terminal, it worked.
4. Rust
MediumPrerequisites
- Git Needed to download the project code from GitHub.
- Rust (rustup) Installing via rustup also installs cargo.
β οΈ This is a large repository, so this method may point to an internal sub-package rather than the actual core product. Check the full README as well.
cd images/hyper/garden
This project's files live in a subfolder, so move into it first.
cargo build --release
Compiles the Rust project.
cargo run
Builds and then immediately runs the program.
If cargo build finishes without errors, it worked. The executable is created under target/.
// repository documentation
Was this content helpful?
(0 ratings)
