diff -ruN pichi.orig/Makefile pichi/Makefile
--- pichi.orig/Makefile	1970-01-01 00:00:00.000000000 +0000
+++ pichi/Makefile	1970-01-01 00:00:00.000000000 +0000
@@ -1,12 +1,12 @@
 # $FreeBSD: head/net/pichi/Makefile 519824 2019-12-11 17:53:48Z jbeich $
 
 PORTNAME=	pichi
-DISTVERSION=	1.2.0
+DISTVERSION=	1.3.0
 PORTREVISION=	1
 CATEGORIES=	net
 
 MAINTAINER=	pichi@elude.in
-COMMENT=	Application Layer Proxy controlled via RESTful APIs
+COMMENT=	Flexible rule-based proxy
 
 LICENSE=	BSD3CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE
@@ -22,20 +22,19 @@
 PLIST_SUB=	DISTVERSION=${DISTVERSION}
 
 CMAKE_BUILD_TYPE=	MinSizeRel
-CMAKE_ARGS=		-DVERSION=${DISTVERSION}
-CMAKE_ON=		BUILD_SERVER BUILD_TEST
-CMAKE_OFF=		INSTALL_HEADERS
-INSTALL_TARGET=		install/strip
-TEST_TARGET=		test
+CMAKE_ARGS=	-DVERSION=${DISTVERSION}
+CMAKE_ON=	BUILD_SERVER BUILD_TEST
+INSTALL_TARGET=	install/strip
+TEST_TARGET=	test
 
-OPTIONS_DEFINE=		STATIC TLS
+OPTIONS_DEFINE=		DEVEL STATIC TLS
 OPTIONS_DEFAULT=	TLS
 OPTIONS_SUB=		yes
 
 TLS_DESC=	Enable TLS support ( requiring OpenSSL )
 TLS_CMAKE_BOOL=	ENABLE_TLS
 
-STATIC_DESC=		Build/Install static library
+STATIC_DESC=		Static linking
 STATIC_CMAKE_BOOL=	STATIC_LINK
 STATIC_BUILD_DEPENDS=	boost-libs>=1.67.0:devel/boost-libs \
 			libmaxminddb>=1.3.0:net/libmaxminddb \
@@ -51,6 +50,9 @@
 			libmbedx509.so:security/mbedtls \
 			libsodium.so:security/libsodium
 
+DEVEL_DESC=		Install development files
+DEVEL_CMAKE_BOOL=	INSTALL_DEVEL
+
 .include <bsd.port.options.mk>
 
 .if ! ${PORT_OPTIONS:MSTATIC}
@@ -65,11 +67,18 @@
 .endif
 .endif
 
+.if ${PORT_OPTIONS:MDEVEL}
 post-install:
 	${MKDIR} ${STAGEDIR}${ETCDIR}
 	${INSTALL_DATA} ${WRKSRC}/test/geo.mmdb ${STAGEDIR}${ETCDIR}/geo.mmdb
 	${INSTALL_DATA} ${WRKSRC}/server/pichi.json.default ${STAGEDIR}${ETCDIR}/pichi.json.sample
 	${MKDIR} ${STAGEDIR}${PREFIX}/include
 	${INSTALL_DATA} ${WRKSRC}/include/pichi.h ${STAGEDIR}${PREFIX}/include/pichi.h
+.else
+post-install:
+	${MKDIR} ${STAGEDIR}${ETCDIR}
+	${INSTALL_DATA} ${WRKSRC}/test/geo.mmdb ${STAGEDIR}${ETCDIR}/geo.mmdb
+	${INSTALL_DATA} ${WRKSRC}/server/pichi.json.default ${STAGEDIR}${ETCDIR}/pichi.json.sample
+.endif
 
 .include <bsd.port.mk>
diff -ruN pichi.orig/distinfo pichi/distinfo
--- pichi.orig/distinfo	1970-01-01 00:00:00.000000000 +0000
+++ pichi/distinfo	1970-01-01 00:00:00.000000000 +0000
@@ -1,3 +1,3 @@
 TIMESTAMP = 1554899633
-SHA256 (pichi-router-pichi-1.2.0_GH0.tar.gz) = 8965077371f2dbf49a63659d686470c191c2c21c47a32f44b3b8bb2d72968043
-SIZE (pichi-router-pichi-1.2.0_GH0.tar.gz) = 1841049
+SHA256 (pichi-router-pichi-1.3.0_GH0.tar.gz) = f5686a1e7c98d9c9eca88d88af53b85648ceeff9aa33bf2b1d95a09462d74d1c
+SIZE (pichi-router-pichi-1.3.0_GH0.tar.gz) = 2066723
diff -ruN pichi.orig/files/patch-CMakeLists.txt pichi/files/patch-CMakeLists.txt
--- pichi.orig/files/patch-CMakeLists.txt	1970-01-01 00:00:00.000000000 +0000
+++ pichi/files/patch-CMakeLists.txt	1970-01-01 00:00:00.000000000 +0000
@@ -1,17 +0,0 @@
---- CMakeLists.txt.orig	2019-04-14 16:29:43 UTC
-+++ CMakeLists.txt
-@@ -19,6 +19,14 @@ find_package(MaxmindDB 1.3.0 REQUIRED)
- find_package(Rapidjson 1.1.0 REQUIRED)
- find_package(Threads REQUIRED)
- 
-+if (Boost_VERSION_STRING VERSION_LESS "1.70.0")
-+  set(RESOLVER_CONSTRUCTED_FROM_EXECUTOR OFF)
-+else (Boost_VERSION_STRING VERSION_LESS "1.70.0")
-+  set(RESOLVER_CONSTRUCTED_FROM_EXECUTOR ON)
-+endif (Boost_VERSION_STRING VERSION_LESS "1.70.0")
-+
-+configure_file(${CMAKE_SOURCE_DIR}/include/config.h.in ${CMAKE_BINARY_DIR}/include/config.h)
-+
- include_directories(
-   ${CMAKE_SOURCE_DIR}/include
-   ${CMAKE_BINARY_DIR}/include
diff -ruN pichi.orig/files/patch-cmake_ProcessOptions.cmake pichi/files/patch-cmake_ProcessOptions.cmake
--- pichi.orig/files/patch-cmake_ProcessOptions.cmake	1970-01-01 00:00:00.000000000 +0000
+++ pichi/files/patch-cmake_ProcessOptions.cmake	1970-01-01 00:00:00.000000000 +0000
@@ -1,8 +0,0 @@
---- cmake/ProcessOptions.cmake.orig	2019-04-14 16:29:43 UTC
-+++ cmake/ProcessOptions.cmake
-@@ -83,5 +83,3 @@ if (BUILD_SERVER)
-   check_function_exists("setsid" HAS_SETSID)
-   check_function_exists("close" HAS_CLOSE)
- endif (BUILD_SERVER)
--
--configure_file(${CMAKE_SOURCE_DIR}/include/config.h.in ${CMAKE_BINARY_DIR}/include/config.h)
diff -ruN pichi.orig/files/patch-include_config.h.in pichi/files/patch-include_config.h.in
--- pichi.orig/files/patch-include_config.h.in	1970-01-01 00:00:00.000000000 +0000
+++ pichi/files/patch-include_config.h.in	1970-01-01 00:00:00.000000000 +0000
@@ -1,11 +0,0 @@
---- include/config.h.in.orig	2019-04-14 16:29:43 UTC
-+++ include/config.h.in
-@@ -13,6 +13,8 @@
- #cmakedefine HAS_SETSID
- #cmakedefine HAS_CLOSE
- 
-+#cmakedefine RESOLVER_CONSTRUCTED_FROM_EXECUTOR
-+
- #cmakedefine CMAKE_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@"
- 
- #ifdef CMAKE_INSTALL_PREFIX
diff -ruN pichi.orig/files/patch-src_net_asio.cpp pichi/files/patch-src_net_asio.cpp
--- pichi.orig/files/patch-src_net_asio.cpp	1970-01-01 00:00:00.000000000 +0000
+++ pichi/files/patch-src_net_asio.cpp	1970-01-01 00:00:00.000000000 +0000
@@ -1,17 +0,0 @@
---- src/net/asio.cpp.orig	2019-04-14 16:29:43 UTC
-+++ src/net/asio.cpp
-@@ -79,8 +79,12 @@ void connect(Endpoint const& endpoint, Socket& s, Yiel
-   else
- #endif // BUILD_TEST
-     asio::async_connect(s,
--                        tcp::resolver{s.get_executor().context()}.async_resolve(
--                            endpoint.host_, endpoint.port_, yield),
-+                        tcp::resolver{s.get_executor()
-+#ifndef RESOLVER_CONSTRUCTED_FROM_EXECUTOR
-+                                          .context()
-+#endif // RESOLVER_CONSTRUCTED_FROM_EXECUTOR
-+                        }
-+                            .async_resolve(endpoint.host_, endpoint.port_, yield),
-                         yield);
- }
- 
diff -ruN pichi.orig/pkg-plist pichi/pkg-plist
--- pichi.orig/pkg-plist	1970-01-01 00:00:00.000000000 +0000
+++ pichi/pkg-plist	1970-01-01 00:00:00.000000000 +0000
@@ -1,7 +1,43 @@
 bin/pichi
-include/pichi.h
-@sample etc/pichi/pichi.json.sample
-etc/pichi/geo.mmdb
+%%ETCDIR%%/geo.mmdb
+@sample %%ETCDIR%%/pichi.json.sample
 %%NO_STATIC%%lib/libpichi.so.%%DISTVERSION%%
 %%NO_STATIC%%lib/libpichi.so
-%%STATIC%%lib/libpichi.a
+%%STATIC%%%%DEVEL%%lib/libpichi.a
+%%DEVEL%%include/boost/asio/spawn2.hpp
+%%DEVEL%%include/pichi/api/balancer.hpp
+%%DEVEL%%include/pichi/api/egress_manager.hpp
+%%DEVEL%%include/pichi/api/ingress_holder.hpp
+%%DEVEL%%include/pichi/api/ingress_manager.hpp
+%%DEVEL%%include/pichi/api/iterator.hpp
+%%DEVEL%%include/pichi/api/rest.hpp
+%%DEVEL%%include/pichi/api/router.hpp
+%%DEVEL%%include/pichi/api/server.hpp
+%%DEVEL%%include/pichi/api/session.hpp
+%%DEVEL%%include/pichi/api/vos.hpp
+%%DEVEL%%include/pichi/asserts.hpp
+%%DEVEL%%include/pichi/buffer.hpp
+%%DEVEL%%include/pichi/common.hpp
+%%DEVEL%%include/pichi/config.hpp
+%%DEVEL%%include/pichi/crypto/aead.hpp
+%%DEVEL%%include/pichi/crypto/base64.hpp
+%%DEVEL%%include/pichi/crypto/hash.hpp
+%%DEVEL%%include/pichi/crypto/key.hpp
+%%DEVEL%%include/pichi/crypto/method.hpp
+%%DEVEL%%include/pichi/crypto/stream.hpp
+%%DEVEL%%include/pichi/exception.hpp
+%%DEVEL%%include/pichi/net/adapter.hpp
+%%DEVEL%%include/pichi/net/asio.hpp
+%%DEVEL%%include/pichi/net/common.hpp
+%%DEVEL%%include/pichi/net/direct.hpp
+%%DEVEL%%include/pichi/net/helpers.hpp
+%%DEVEL%%include/pichi/net/http.hpp
+%%DEVEL%%include/pichi/net/reject.hpp
+%%DEVEL%%include/pichi/net/socks5.hpp
+%%DEVEL%%include/pichi/net/spawn.hpp
+%%DEVEL%%include/pichi/net/ssaead.hpp
+%%DEVEL%%include/pichi/net/ssstream.hpp
+%%DEVEL%%include/pichi/net/tunnel.hpp
+%%DEVEL%%include/pichi/test/socket.hpp
+%%DEVEL%%include/pichi/uri.hpp
+%%DEVEL%%include/pichi.h