返回资讯中心
外部精选
软件工程
#开发者实时流

Bashttpd: A web server written in bash

bashttpd is a simple, configurable web server written in bash

Hacker News 最新denysonique2026/11/1 · 今天4 分钟阅读

以下正文同步自 Hacker News 最新,版权归原站所有,已转换为易读排版。

bashttpd is a simple, configurable web server written in bash

bash, any recent version should work

socat or netcat to handle the underlying sockets.

A healthy dose of insanity

Examples

socat TCP4-LISTEN:8080 EXEC:/usr/local/bin/bashttpd

Or

netcat -lp 8080 -e ./bashttpd

Note that in the socat example above, the web server will immediately exit once the first connection closes. If you wish to serve to more than one client - like most servers do, then use the variant:

socat TCP4-LISTEN:8080,fork EXEC:/usr/local/bin/bashttpd

This way, a new process is spawned for each incoming connection.

Running bashttpd for the first time will generate a default configuration file, bashttpd.conf

Review bashttpd.conf and configure it as you want.

Run bashttpd using netcat or socat, as listed above.

Features

Serves text and HTML files

Shows directory listings

Allows for configuration based on the client-specified URI

Limitations

Does not support authentication

Doesn't strictly adhere to the HTTP spec.

Security

Only rudimentary input handling. We would not running this on a public machine.

HTTP protocol support

403: Returned when a directory is not listable, or a file is not readable 400: Returned when the first word of the first line is not GET 200: Returned with valid content Content-type: Bashttpd uses /usr/bin/file to determine the MIME type to sent to the browser 1.0: The server doesn't support Host: headers or other HTTP/1.1 features - it barely supports HTTP/1.0!

As always, your patches/pull requests are welcome!

"If anyone installs that anywhere, they might meet a gruesome end with a rusty fork" --- BasHTTPd creator, maintainer

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →