Project Karpacz is now Ferron. Note that we are still working on Ferron's website. Read the blog post

Ferron logo

A fast, memory-safe web server powered by Rust

Ferron is a web server optimized for speed, security, and efficiency. Written in Rust, it offers memory safety and performance, making it ideal for modern websites.

Why Ferron?

Free as in freedom

You don't need to worry about issues related to proprietary software, such as backdoors or licensing issues. Ferron is licensed under a permissive MIT license, and you can contribute to its developement via a Git repository.

Fast

Ferron leverages Rust's asynchronous programming capabilities to ensure fast request serving. According to our own benchmarks, it performs similarly to a popular Caddy web server.

Memory-safe

Ferron is written in Rust, a programming language designed for memory safety. This ensures that Ferron has lower risk of memory safety bugs compared to popular web servers written in C or C++.

Extensible

You can extend Ferron by loading various server modules, which add various functionality, such as caching, proxying or dynamic content.

Ferron is a fast web server

The static web server performance is measured by running a "wrk -c 100 -d 60 -t 6 https://localhost/index.nginx-debian.html" command on a server with a AMD Ryzen 5 8600G CPU. The web servers serve a default page that comes with NGINX web server. All web server also enable logging the requests into a log file.

Frequently Asked Questions

A web server is hardware device or software application that delivers web pages to clients over the internet.

Ferron is a fast, memory-safe web server written in Rust. It supports both static files, and dynamic content (including PHP). Ferron is licensed under a permissive MIT license.

The idea of developing a web server in a systems programming language arose when Dorian Niemiec, the creator of SVR.JS, found its Node.js implementation too slow based on performance benchmarks. He first experimented with various programming languages for web servers, and found Rust to be efficient enough. Then he experimented with building a custom low-level HTTP handler, but encountered conflicts with Rust's borrow checker, leading to lifetime issues, so he used Hyper instead. The end result became "Project Karpacz" (named after a city in Poland near the mountains), and later "Ferron".

The name "Ferron" is derived from "ferrous," referencing Rust's iron theme. Rust programming language is actually named after the rust fungus.

Ferron is a standalone, general-purpose web server. Unlike web application frameworks such as Actix Web or Axum, which are designed for building web applications in Rust, Ferron operates independently as a server. Other standalone web servers, like Static Web Server or binserve, are primarily focused on serving static files, whereas Ferron is built for broader use cases.

You can read the documentation to learn how to use Ferron.