InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now. Learn more →
Top 23 Rust HTTP Projects
-
Gotham is a flexible web framework built for stable Rust that promotes “stability, safety, security, and speed.” It provides async support with the help of Tokio and hyper out of the box.
-
InfluxDB
InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
Project mention: Ask HN: What cool skill or project interests you, but feels out of reach? | news.ycombinator.com | 2025-06-10
Hi, maintainer of Hurl [1] here.
We're trying to write "simple" Rust as far as we can, without going into too much optimisation: very little lifetime usage, no async stuff (just classic multi-thread directly from the last sample of the Rust book), liberal usage of clone, no macros, reusing crates for C libcurl and libxml binding, limiting dependencies. We could certainly gain a lot of performances but with this first simple approach, the binary is already "fast"... The only advice I would give for someone going into Rust is to not try to optimise everything from the start to get a first "feeling" of the language.
[1]: https://github.com/Orange-OpenSource/hurl
-
rathole
A lightweight and high-performance reverse proxy for NAT traversal, written in Rust. An alternative to frp and ngrok.
# core/docker-compose.local.yml services: rathole: # 1. default official x86 image image: rapiz1/rathole:v0.5.0 # 2. custom built ARM image (for Raspberry pi) # image: nemanjamitic/my-rathole-arm64:v1.0 # 3. build for arm - AVOID, use prebuilt ARM image above # build: https://github.com/rapiz1/rathole.git#main # platform: linux/arm64 container_name: rathole command: --client /config/rathole.client.toml restart: unless-stopped volumes: - ./rathole.client.toml:/config/rathole.client.toml:ro networks: - proxy traefik: image: 'traefik:v2.9.8' container_name: traefik restart: unless-stopped # for this to work both services must be defined in the same docker-compose.yml file depends_on: - rathole # other config... networks: - proxy # leave this commented out, just for explanation # Rathole will pass Traffic through proxy network directly on 80 and 443 # defined in rathole.client.toml # ports: # - '80:80' # - '443:443' # other config...
-
Lastly, there is the full integration test approach. This technique starts an actual Axum server listening on a TCP socket, and then uses Reqwest to send multipart requests:
-
-
-
https://github.com/poem-web/poem is one Rust framework with swagger definitions out of the box.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
Project mention: Granian: Rust HTTP server for Python applications | news.ycombinator.com | 2025-03-20
-
-
-
> Iggy is the persistent message streaming platform written in Rust, supporting QUIC, TCP and HTTP transport protocols, capable of processing millions of messages per second.
https://github.com/iggy-rs/iggy
Looks neat.
-
-
-
-
-
-
cherrybomb
Stop half-done APIs! Cherrybomb is a CLI tool that helps you avoid undefined user behaviour by auditing your API specifications, validating them and running API security tests.
-
Rouille is a microweb framework that employs a linear request and response design via a listening socket that parses HTTP requests.
-
binserve
A fast production-ready static web server with TLS (HTTPS), routing, hot reloading, caching, templating, and security in a single-binary you can set up with zero code.
-
-
-
-
doh-server
Fast, mature, secure DoH and ODoH server proxy written in Rust. Previously known as doh-proxy and rust-doh.
I've been using https://github.com/DNSCrypt/doh-server for serving my DNS server via DOH for at least 2 years. Only had two issues with it and both were due to lack of maintenance on my part (ie. not updating the binary for one and then not re-configuring it after I changed configurations for the upstream DNS).
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Rust HTTP discussion
Rust HTTP related posts
-
Oha: a Rust-based HTTP load generator
-
Feather: Feather: A web framework that skips Rust's async boilerplate and jus
-
Sprint 5 - Chakra UI v3 Migration
-
Testing Multipart Upload Requests in Axum: Three Approaches
-
Hurl: Run and test HTTP requests with plain text
-
Sprint 5 - Mischief Happens
-
sandhole alternatives - sish and rathole
3 projects | 26 Mar 2025 -
A note from our sponsor - InfluxDB
www.influxdata.com | 19 Jun 2025
Index
What are some of the best open-source HTTP projects in Rust? This list will help you:
# | Project | Stars |
---|---|---|
1 | hyper | 15,309 |
2 | hurl | 14,988 |
3 | rathole | 10,893 |
4 | reqwest | 10,701 |
5 | warp | 9,895 |
6 | oha | 8,427 |
7 | poem | 4,017 |
8 | granian | 3,595 |
9 | sozu | 3,372 |
10 | simple-http-server | 3,192 |
11 | iggy | 2,564 |
12 | ntex | 2,313 |
13 | woodpecker | 2,169 |
14 | ureq | 1,900 |
15 | teo | 1,431 |
16 | http | 1,242 |
17 | cherrybomb | 1,189 |
18 | Rouille, Rust web server middleware | 1,184 |
19 | binserve | 1,072 |
20 | rwf | 1,043 |
21 | zino | 972 |
22 | goose | 874 |
23 | doh-server | 863 |