论坛

Darkhttpd-Ultra-sma ...
 
通知事项
全部清除

Darkhttpd-超小型静态Http服务器  


 太极
帖子:83
主持人
主题启动器
(@太极)
会员
已加入:8个月前

Darkhttpd服务器是一个很小的静态http服务器,编译后只有36KB,但它可以完成ftp和http的功能。

darkhttpd-1.12.tar.bz2 (20,184字节)
要么:  darkhttpd.c
要么:  git克隆 //unix4lyfe.org/git/darkhttpd  (http也可以)
或:浏览 darkhttpd gitweb.

特征:

  • 设置简单:
    • 单个二进制文件,无其他文件,无需安装。
    • 独立,不需要 inetd  要么  ucspi-tcp.
    • 不会弄乱配置文件-您只需指定 www  根。
  • 用C语言编写-高效且可移植。
  • 内存占用少。
  • 事件循环,单线程-没有fork()或pthreads。
  • 生成目录列表。
  • 支持HTTP GET和HEAD请求。
  • 支持范围/部分内容。 (尝试流式传输音乐文件或恢复下载)
  • 支持If-Modified-Since。
  • 支持保持活动连接。
  • 支持IPv6。
  • 可以根据主机标头提供301重定向。
  • 用途  sendfile() 在FreeBSD,Solaris和Linux上。
  • 可以在FreeBSD上使用acceptfilter。
  • 在某个时候工作  FreeBSD ,  的Linux ,  OpenBSD的 的 ,  的Solaris .
  • ISC许可证。
  • suckless.org说darkhttpd 少吸.

安全:

  • 可以记录访问,包括Referer和User-Agent。
  • 可以chroot。
  • 可以放弃特权。
  • 不可渗透 /../ 嗅。
  • 超时空闲连接。
  • 删除过长的请求。

局限性:

  • 仅提供静态内容-没有CGI。

 

如何编译darkhttpd?
---------------------
首先在服务器上安装git,然后获取所有文件:

百胜安装git -y #centos使用
apt-get install git -y #debian使用

---------------------
以下是通用安装代码:

git克隆 //github.com/4kercc/darkhttpd.git #然后获取所有文件
cd darkhttpd#进入目录
使 #Compile

这样就完成了安装。 Is not it simple?.

将来使用起来会更容易,因为您已经对其进行了编译,将darkhttpd文件的副本保存在/ darkhttpd /目录中,并在下一次直接使用(不要忘记权限)。

最简单的使用方式:

./darkhttpd / root -端口8081 --daemon

我解释这句话。

./darkhttpd#运行darkhttpd服务
/ root #darkhttpd服务器的主目录位置
-端口8081 #access 端口,通常使用80,但随着您 wish ,其他端口需要ip +端口访问
--daemon#背景

其他功能:

--------------------

在默认端口上服务/ var / www / htdocs(80作为root用户运行,否则为8080):

$ ./darkhttpd / var / www / htdocs

服务于端口8081〜/ public_html:

$ ./darkhttpd ~ / public_html -端口8081

仅绑定到一个IP地址(在多宿主系统上有用):

$ ./darkhttpd〜/ public_html --addr 192.168.0.1

最多可以同时连接4个连接:

$ ./darkhttpd〜/ public_html --maxconn 4

日志访问文件:

$ ./darkhttpd〜/ public_html --log access.log

Chroot为了增强安全性(您需要root权限chroot):

$ ./darkhttpd / var / www / htdocs --chroot

使用default.htm代替index.html:

$ ./darkhttpd / var / www / htdocs --index default.htm

添加mimetypes-在这种情况下,请提供.dat文件为text / plain:

$猫外星人
文字/普通数据
$ ./darkhttpd / var / www / htdocs --mimetypes extramime

删除权限:

$ ./darkhttpd / var / www / htdocs --uid www --gid www

使用acceptfilter(仅限FreeBSD):

$ kldload accf_http
$ ./darkhttpd / var / www / htdocs --accf

在后台运行并创建一个pidfile:

$ ./darkhttpd / var / www / htdocs --pidfile /var/run/httpd.pid --daemon

Web转发(301)请求一些主机:

$ ./darkhttpd / var / www / htdocs --forward example.com http://www.example.com \
--forward secure.example.com //www.example.com/secure

Web转发(301)请求所有主机:

$ ./darkhttpd / var / www / htdocs --forward example.com http://www.example.com \
-全部 http://catchall.example.com

命令行选项可以组合:

$ ./darkhttpd〜/ public_html-端口8080-地址127.0.0.1

要查看命令行选项的完整列表,请运行不带任何参数的darkhttpd:

$ ./darkhttpd

---------------------

该服务器可以与aria2的webui集成在一起,以便可以分散aria2的下载压力。 Aria2使用端口6800,darkhttpd使用端口6801,并且可以构建在线webui。 当然,特定兴趣可以自己研究。 该darkhttpd函数远比想象的强大。

主题标签
分享: