mirror of
https://github.com/lxsang/ant-http
synced 2024-11-18 01:08:21 +01:00
2.5 KiB
2.5 KiB
ant-http
A lightweight and portable HTTP/HTTPs web server written in C:
- New 1.0.0 version (BETA feature): Nonblocking event driven base server with configurable number of thread pool workers, good for scalability
- Initial goal is for embedded Linux, but can be used as general purpose web server.
- Support SSL via open SSL, database via Sqlite 3, web socket integrated
- It is also extensible via its extension mechanism that allows to extends the server capability.
- Grade A SSL security score by SSL Labs
Plugins:
- CGI interface for external scripting language (e.g. PHP): https://github.com/lxsang/antd-cgi-plugin
- Lua extension https://github.com/lxsang/antd-lua-plugin: using Lua as serverside script
- PHP extension https://github.com/lxsang/antd-ph7-plugin: using PHP as serverside script
- Web terminal https://github.com/lxsang/antd-wterm-plugin: plugin for using Unix terminal from the web via websocket
- Web VNC https://github.com/lxsang/antd-wvnc-plugin: Remote computer access using VNC protocol on the web (via websocket)
Build from source
build dep
- git
- make
- build-essential
server dependencies
- libssl-dev (expecting openssl v1.1.1d, only support TLSv1.2 and TLSv1.3)
- libsqlite3-dev
build
When all dependencies are installed, the build can be done with a few single command lines:
mkdir antd
cd antd
# Replace x.x.x by the version number
# build without plugin
wget -O- https://get.bitdojo.dev/antd | bash -s "x.x.x"
# or from the distribution tarball
tar xvzf antd-x.x.x.tar.gz
cd antd-x.x.x
./configure --prefix=/usr --enable-debug=yes
make
sudo make install
The script will ask for a place to put the binaries (should be an absolute path, otherwise the build will fail) and the default HTTP port for the server config.
Generate distribution
libtoolize
aclocal
autoconf
automake --add-missing
make distcheck
To do
- variable size dictionary
- refactoring libantd API, remove unused functions
- remove static strings, replace it by configurations