Skip to content

didin0/webserv

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A fucking Webserv

Did this project help you? Give it a 🌟!

🌐 General information

Subject version: 21.2. Bonus included.
HTTP/1.1-compliant web server written in C++98.
Built following RFC 7230-7235 specifications and nginx behavior.
Made by Ulysse, Mehdi & Topaze

🚀 Set-up

Clone the project

# Clone with test submodule
git clone --recurse-submodules https://github.com/ulsgks/webserv.git

Build and run

  1. Compile the project with make.
  2. Adapt interpreter paths in webserv.conf Example: cgi_handler .php /usr/bin/php
  3. Start the server with ./webserv webserv.conf You can also enable debug logs with -v
  4. Access the demo hosted by the server in your browser: http://localhost:8080/
  5. Explore features through the satirical demo website

🧪 Tester

A comprehensive testing framework is included as a Git submodule in the tests/ directory. The complete testing suite is also available separately at: github.com/ulsgks/webserv-tester

To run the tests:

./tests/run_test.sh

Testing Results:

  • Functional tests: 200+ scenarios covered
  • Stress tests: Handles 1000+ concurrent connections
  • CGI tests: All interpreters working correctly
  • Edge cases: Malformed requests, large payloads, timeouts

Evaluated by 42 students (125%) and mentioned as an outstanding project 🎉.

About

A web server like nginx. 42 school project. Bonuses included.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 83.5%
  • HTML 11.3%
  • PHP 2.2%
  • Makefile 1.5%
  • Other 1.5%