Skip to content

equalitie/cpp-upnp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CircleCI

CPPUPnP

Boost.Asio based C++ library to implement parts of the UPnP standard.

Status

This library is under development and the API will very likely change in a backward incompatible way.

The current functionality includes listing, creating and deleting of TCP and UDP port mappings on IGD (v1 and v2) devices.

Build instructions

Include in your project

If you have sources of CPPUPnP somewhere on your disk, simply set the CPPUPnP_DIR variable to point to that CPPUPnP's directory and call find_package(CPPUPnP REQUIRED) as is done in the example/CMakeLists.txt

If you don't have CPPUPnP on your disk, have cmake download it prior to calling find_package(CPPUPnP REQUIRED) like so:

include(FetchContent)
fetchcontent_populate(CPPUPnP GIT_REPOSITORY <CPPUPnP-GIT-Repository>)
set(CPPUPnP_DIR ${CMAKE_BINARY_DIR}/cppupnp-src)
find_package(CPPUPnP REQUIRED)

Build examples and tests

Please have a look into .circleci/config.yml

Useful links/documents

UPnP standards
RFC6970
UPnP IGD "A Fox in the Hen House" (pdf)
Golang code that inspired this library

Releases

No releases published

Packages

No packages published