503-server (short 503srv) listens on a webserver port and sends a HTTP/HTML error message code 503 ((Temporarily) Unavailable) to connecting clients. It is written in C++, using C++11 threads
C++ C
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


README for 503-server

Updates and latest bugfixes at http://git.spheniscida.de/?p=503-server.git;a=summary

If you have to do some service on your webserver or have to keep it down because of security issues or attacks,
it's better to deliver a correct HTTP code and page instead of TCP RST the connection.

503-server is a little C++11 program using embedded libsocket++ [1] written only for this purpose. To increase the performance, it
uses the libpthread-based C++11 threads to serve the connections.

Some stuff you should know to use this server:

* Use `make [all]` to build the program. The binary will be build/503srv. You'll need a C++11-compliant compiler (or at least C++0x).
-> You may use the -j flag to speed up the build process on SMP systems
* The server's threads wait by default 300 milliseconds before terminating to ensure that the content has been delivered. You may tune
this value.
* 503-server goes to background (daemon) immediately after starting up.
* 503-server logs to the file $PWD/503srv.log using a format like this:

Mon Jun 25 09:42:13 2012 Client: localhost:47696
Mon Jun 25 09:42:13 2012 Client: localhost:47697
Mon Jun 25 09:42:13 2012 Client: localhost:47698
Mon Jun 25 09:42:13 2012 Client: localhost:47699

To start the server, type the following:

$ ./503srv <PORT>


# ./503srv 80

There are some command line options:

-f [file]	use [file] as web page
-l [file]	use [file] as log file

[1] http://git.spheniscida.de/?p=libsocket.git;a=summary


Copyright (C) 2012, 2013 lbo <lbo@spheniscida.de>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.