diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6afc507d3eedb4d168110631dcd5e1ec1e9a33e4..f457f671dd26c42ad056c3fe209fe8ee36abdb06 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -45,9 +45,9 @@ if(LINUX)
     set(SUPPORT_PYTHON_PLUGINS ON)
 endif()
 
-if(LINUX)
+if(LINUX OR DARWIN)
     set(CELLFRAME_MODULES "core chains mining network srv cs-dag-poa cs-block-poa cs-dag-pos cs-block-pos cs-block-ton cs-none srv-app srv-app-db srv-datum srv-stake srv-xchange modules-dynamic srv-vpn")
-elseif(WIN32 OR BSD OR DARWIN OR ANDROID)
+elseif(WIN32 OR BSD OR ANDROID)
     set(CELLFRAME_MODULES "core chains mining network srv cs-dag-poa cs-block-poa cs-dag-pos cs-block-pos cs-block-ton cs-none srv-app srv-app-db srv-datum srv-stake srv-xchange")
 endif()
 
diff --git a/cellframe-sdk b/cellframe-sdk
index e08d71063338ad400716dfab7c3f3ddc66113d0f..827470b96e055085e5d5456a9549ce5098c7bad5 160000
--- a/cellframe-sdk
+++ b/cellframe-sdk
@@ -1 +1 @@
-Subproject commit e08d71063338ad400716dfab7c3f3ddc66113d0f
+Subproject commit 827470b96e055085e5d5456a9549ce5098c7bad5
diff --git a/sources/main.c b/sources/main.c
index 838793aaf474aed8f208a6f45a7dff466dfbc76e..d1cdef054ac8a015b947cf520d57e47b1db279f3 100755
--- a/sources/main.c
+++ b/sources/main.c
@@ -93,7 +93,7 @@
 #include "dap_chain_net_srv_datum.h"
 #include "dap_chain_net_srv_geoip.h"
 
-#ifdef DAP_OS_LINUX
+#if defined(DAP_OS_DARWIN) || ( defined(DAP_OS_LINUX) && ! defined (DAP_OS_ANDROID))
 #include "dap_chain_net_srv_vpn.h"
 #include "dap_chain_net_vpn_client.h"
 #endif
@@ -391,7 +391,7 @@ int main( int argc, const char **argv )
     }
 
 
-#if defined(DAP_OS_LINUX) && ! defined (DAP_OS_ANDROID)
+#if defined(DAP_OS_DARWIN) || ( defined(DAP_OS_LINUX) && ! defined (DAP_OS_ANDROID))
     // vpn server
     if(dap_config_get_item_bool_default(g_config, "srv_vpn", "enabled", false)) {
         if(dap_chain_net_srv_vpn_init(g_config) != 0) {