Bug#1037495: ITP: drogon -- Daemon for detecting brute force attacks
Package: wnpp
Severity: wishlist
Owner: Pierre-Elliott Bécue <peb@debian.org>
X-Debbugs-Cc: debian-devel@lists.debian.org
* Package name : drogon
Version : 1.8.4
Upstream Author : An Tao <antao2002@gmail.com>
* URL : https://github.com/drogonframework/drogon
* License : MIT
Programming Lang: C++
Description : C++14/17-based HTTP application framework
Drogon can be used to easily build various types of web application server
programs using C++. Drogon is the name of a dragon in the American TV series
"Game of Thrones" that I really like.
Drogon is a cross-platform framework, It supports Linux, macOS, FreeBSD,
OpenBSD, HaikuOS, and Windows. Its main features are as follows:
* Use a non-blocking I/O network lib based on epoll (kqueue under
macOS/FreeBSD) to provide high-concurrency, high-performance network
IO, please visit the TFB Tests Results for more details;
* Provide a completely asynchronous programming mode;
* Support Http1.0/1.1 (server side and client side);
* Based on template, a simple reflection mechanism is implemented to
completely decouple the main program framework, controllers and
views.
* Support cookies and built-in sessions;
* Support back-end rendering, the controller generates the data to the view
to generate the Html page. Views are described by CSP template files, C++ codes
are embedded into Html pages through CSP tags. And the drogon command-line tool
automatically generates the C++ code files for compilation;
* Support view page dynamic loading (dynamic compilation and loading at runtime);
* Provide a convenient and flexible routing solution from the path to the
controller handler;
* Support filter chains to facilitate the execution of unified logic (such as
login verification, Http Method constraint verification, etc.) before handling
HTTP requests;
* Support https (based on OpenSSL);
* Support WebSocket (server side and client side);
* Support JSON format request and response, very friendly to the Restful API
application development;
* Support file download and upload;
* Support gzip, brotli compression transmission;
* Support pipelining;
* Provide a lightweight command line tool, drogon_ctl, to simplify the
creation of various classes in Drogon and the generation of view code;
* Support non-blocking I/O based asynchronously reading and writing database
PostgreSQL and MySQL(MariaDB) database);
* Support asynchronously reading and writing sqlite3 database based on thread
pool;
* Support Redis with asynchronous reading and writing;
* Support ARM Architecture;
* Provide a convenient lightweight ORM implementation that supports for
regular object-to-database bidirectional mapping;
* Support plugins which can be installed by the configuration file at load
time;
* Support AOP with build-in joinpoints.
* Support C++ coroutines
This package is needed by weakforced, which I also intend to package.
For now these packages will be in collab-maint, but I'll see if they
could go somewhere. I'm maintaining them as part of my work at
Gandi.net. This is therefore a Gandi.net contribution to the Debian
Project.
Reply to: