Simple and Fast Network Utility Library
C++ CMake
Switch branches/tags
Nothing to show


Simple and Fast Network Utility library

© binary1248
SFNUL is provided under the
Mozilla Public License Version 2.0
(see LICENSE for details)


SFNUL requires a compiler with C++11 support. Not all features are used, however
many newer features are used that might not be supported by all compilers even
though they claim C++11 support. Your mileage may vary.

 - ASIO (standalone C++11 version) provided in extlibs as a submodule
 - Botan provided in extlibs
 - http-parser provided in extlibs as a submodule
 - SFML 2.x for the optional SFML synchronization example (
   Initialize all submodules with
   git submodule update --init --recursive
   in the root directory.
   ASIO is provided under the Boost Software License.
   Botan is provided under the Simplified BSD License.
   http-parser is provided under the MIT License.
   SFML is provided under the zlib License.

The build system in use is CMake ( It's available for all
major platforms.

To build, perform the following steps:

 - cmake .
 - make install (as root)
 - On Linux: ldconfig (as root)


To use SFNUL in your projects, you have to link to the SFNUL library (see 1.
for building). Also make sure that your compiler is able to find SFNUL's
include directory.

If you're using CMake for your project and you've properly installed SFNUL (see
1.), you can automate the process of finding SFNUL. At first copy the file
cmake/FindSFNUL.cmake to your CMake's module directory. Then add the following
to your project's CMakeLists.txt file:

  find_package( SFNUL REQUIRED )
  include_directories( ${SFNUL_INCLUDE_DIR} )
  add_executable( my_program ... )
  target_link_libraries( my_program ... ${SFNUL_LIBRARY} )

In case CMake can't find your SFNUL installation, you can still specify the
path manually by setting the SFNUL_ROOT CMake variable.

Because SFNUL makes use of the operating system's networking subsystem, be sure
to link the necessary networking libraries to your final application as well.


You can find the API documentation in the doc sub-directory. Create it with
Doxygen (


The AUTHORS file lists contributors with contact information.