https://github.com/zhongruoyu/chttpd
A lightweight and safe HTTP server.
https://github.com/zhongruoyu/chttpd
c http http-server
Last synced: 6 months ago
JSON representation
A lightweight and safe HTTP server.
- Host: GitHub
- URL: https://github.com/zhongruoyu/chttpd
- Owner: ZhongRuoyu
- License: mit
- Created: 2022-03-25T15:30:45.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-11-10T15:52:01.000Z (over 3 years ago)
- Last Synced: 2025-01-06T08:18:11.706Z (about 1 year ago)
- Topics: c, http, http-server
- Language: C
- Homepage:
- Size: 214 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# chttpd
chttpd is a lightweight and safe HTTP server which can serve static contents
retrievable with HTTP `GET` requests. Incoming requests can be handled
concurrently.
## How to Build
To build chttpd, run the following. A binary named `chttpd` will be built.
```bash
git clone https://github.com/ZhongRuoyu/chttpd.git
cd chttpd
git checkout v0.2.2
make -j "$(nproc)"
```
Your C compiler and C standard library need to have support for C11 and
POSIX.1-2008.
## How to Use
chttpd is configured through command line options. For example, the following
command starts an HTTP server that serves contents under the `site` directory,
over `http://:8080`.
```bash
chttpd -p 8080 -r site
```
chttpd can also be run as a daemon (hence its name), when `-d` is passed. For
example, the following command runs chttpd as a daemon which does the same
thing as above, but also saves the log output to `chttpd.log`.
```bash
chttpd -d -p 8080 -r site -l chttpd.log
```
For more information, run `chttpd --help`.
chttpd is also available as a Docker image:
```bash
docker run -d -p 8080:80 -v "$(pwd)/site:/site" zhongruoyu/chttpd -r /site
```
## License
chttpd is licensed under [the MIT License](LICENSE).