diff --git a/client/tp_assist_win/tp_assist.vs2017.sln b/client/tp_assist_win/tp_assist.vs2017.sln
new file mode 100644
index 0000000..95896d8
--- /dev/null
+++ b/client/tp_assist_win/tp_assist.vs2017.sln
@@ -0,0 +1,22 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.28307.168
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tp_assist", "tp_assist.vs2017.vcxproj", "{63B7A8F2-9722-487C-A92A-3DB5D8CA1473}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x86 = Debug|x86
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {63B7A8F2-9722-487C-A92A-3DB5D8CA1473}.Debug|x86.ActiveCfg = Debug|Win32
+ {63B7A8F2-9722-487C-A92A-3DB5D8CA1473}.Debug|x86.Build.0 = Debug|Win32
+ {63B7A8F2-9722-487C-A92A-3DB5D8CA1473}.Release|x86.ActiveCfg = Release|Win32
+ {63B7A8F2-9722-487C-A92A-3DB5D8CA1473}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/client/tp_assist_win/tp_assist.vs2017.vcxproj b/client/tp_assist_win/tp_assist.vs2017.vcxproj
new file mode 100644
index 0000000..11918c8
--- /dev/null
+++ b/client/tp_assist_win/tp_assist.vs2017.vcxproj
@@ -0,0 +1,185 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {63B7A8F2-9722-487C-A92A-3DB5D8CA1473}
+ Win32Proj
+ tp_assist
+ tp_assist
+ 8.1
+
+
+
+ Application
+ true
+ v141
+ Unicode
+
+
+ Application
+ false
+ v141
+ true
+ Unicode
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ ..\..\out\client\$(PlatformTarget)\$(Configuration)\
+ ..\..\out\_tmp_\$(ProjectName)\$(PlatformTarget)\$(Configuration)\
+ C:\Program Files %28x86%29\Visual Leak Detector\include;$(IncludePath)
+ C:\Program Files %28x86%29\Visual Leak Detector\lib\Win32;$(LibraryPath)
+
+
+ false
+ ..\..\out\client\$(PlatformTarget)\$(Configuration)\
+ ..\..\out\_tmp_\$(ProjectName)\$(PlatformTarget)\$(Configuration)\
+
+
+
+ Use
+ Level3
+ Disabled
+ WIN32;MG_ENABLE_SSL;_DEBUG;_WINDOWS;_WINSOCK_DEPRECATED_NO_WARNINGS;MG_ENABLE_THREADS;MG_DISABLE_HTTP_DIGEST_AUTH;MG_DISABLE_MQTT;MG_DISABLE_SSI;MG_DISABLE_FILESYSTEM;%(PreprocessorDefinitions)
+ true
+ ..\..\common\teleport;..\..\common\libex\include;..\..\external\jsoncpp\include;..\..\external\openssl\inc32
+
+
+ Windows
+ true
+ ..\..\external\openssl\out32\ssleay32.lib;..\..\external\openssl\out32\libeay32.lib;%(AdditionalDependencies)
+
+
+
+
+ Level3
+ Use
+ MaxSpeed
+ true
+ true
+ WIN32;MG_ENABLE_SSL;NDEBUG;_WINDOWS;_WINSOCK_DEPRECATED_NO_WARNINGS;MG_ENABLE_THREADS;MG_DISABLE_HTTP_DIGEST_AUTH;MG_DISABLE_MQTT;MG_DISABLE_SSI;MG_DISABLE_FILESYSTEM;%(PreprocessorDefinitions)
+ true
+ ..\..\common\teleport;..\..\common\libex\include;..\..\external\jsoncpp\include;..\..\external\openssl\inc32
+ MultiThreaded
+
+
+ Windows
+ true
+ true
+ true
+ ..\..\external\openssl\out32\ssleay32.lib;..\..\external\openssl\out32\libeay32.lib;%(AdditionalDependencies)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ NotUsing
+ NotUsing
+
+
+ NotUsing
+ NotUsing
+
+
+ NotUsing
+ NotUsing
+
+
+ NotUsing
+ NotUsing
+
+
+ NotUsing
+ NotUsing
+
+
+ NotUsing
+ NotUsing
+
+
+ NotUsing
+ NotUsing
+
+
+ NotUsing
+ NotUsing
+
+
+ NotUsing
+ NotUsing
+
+
+ NotUsing
+ NotUsing
+
+
+
+
+ Create
+ Create
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/client/tp_assist_win/tp_assist.vs2017.vcxproj.filters b/client/tp_assist_win/tp_assist.vs2017.vcxproj.filters
new file mode 100644
index 0000000..c020865
--- /dev/null
+++ b/client/tp_assist_win/tp_assist.vs2017.vcxproj.filters
@@ -0,0 +1,180 @@
+
+
+
+
+ main app
+
+
+ main app
+
+
+ main app
+
+
+ main app
+
+
+ main app
+
+
+ main app
+
+
+ main app
+
+
+ main app
+
+
+ jsoncpp
+
+
+ jsoncpp
+
+
+ jsoncpp
+
+
+ mongoose
+
+
+ libex\src
+
+
+ libex\src
+
+
+ libex\src
+
+
+ libex\src
+
+
+ libex\src
+
+
+ libex\src
+
+
+
+
+ resource
+
+
+ main app
+
+
+ main app
+
+
+ main app
+
+
+ main app
+
+
+ main app
+
+
+ main app
+
+
+ main app
+
+
+ main app
+
+
+ mongoose
+
+
+ main app
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ main app
+
+
+ main app
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ teleport
+
+
+
+
+ resource
+
+
+ resource
+
+
+ resource
+
+
+
+
+ {52b425b1-8aa9-4e08-acbd-c88387350530}
+
+
+ {adabe93d-3938-4b11-9352-5b67a1efd7e3}
+
+
+ {35a345a0-6147-4c87-97c9-3b0b2a57e348}
+
+
+ {0942cec3-67df-4d19-bbc1-e962145e496f}
+
+
+ {a88e05d3-51f4-463f-84cc-c3bc86f07aac}
+
+
+ {e3e7a811-5905-4ad5-86a7-9721af5d015a}
+
+
+ {d7d49fa4-5192-42c5-bc70-5584d9d646c6}
+
+
+ {1291a5cf-cb08-4ad6-8a86-8a0486297c63}
+
+
+
+
+ resource
+
+
+
+
+ jsoncpp
+
+
+
\ No newline at end of file
diff --git a/server/tp_core/core/tp_core.vs2017.sln b/server/tp_core/core/tp_core.vs2017.sln
new file mode 100644
index 0000000..d059e1d
--- /dev/null
+++ b/server/tp_core/core/tp_core.vs2017.sln
@@ -0,0 +1,22 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.28307.168
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tp_core", "tp_core.vs2017.vcxproj", "{6548CB1D-A7BA-4A68-9B3F-A5129F77868B}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x86 = Debug|x86
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {6548CB1D-A7BA-4A68-9B3F-A5129F77868B}.Debug|x86.ActiveCfg = Debug|Win32
+ {6548CB1D-A7BA-4A68-9B3F-A5129F77868B}.Debug|x86.Build.0 = Debug|Win32
+ {6548CB1D-A7BA-4A68-9B3F-A5129F77868B}.Release|x86.ActiveCfg = Release|Win32
+ {6548CB1D-A7BA-4A68-9B3F-A5129F77868B}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/server/tp_core/core/tp_core.vs2017.vcxproj b/server/tp_core/core/tp_core.vs2017.vcxproj
new file mode 100644
index 0000000..4d800a1
--- /dev/null
+++ b/server/tp_core/core/tp_core.vs2017.vcxproj
@@ -0,0 +1,233 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ {6548CB1D-A7BA-4A68-9B3F-A5129F77868B}
+ Win32Proj
+ tp_core
+ tp_core
+
+
+
+ Application
+ true
+ v141
+ Unicode
+
+
+ Application
+ false
+ v141_xp
+ true
+ Unicode
+
+
+ Application
+ true
+ v140
+ Unicode
+
+
+ Application
+ false
+ v140
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ ..\..\..\out\server\$(PlatformTarget)\$(Configuration)\
+ ..\..\..\out\_tmp_\$(ProjectName)\$(PlatformTarget)\$(Configuration)\
+ C:\Program Files %28x86%29\Visual Leak Detector\include;$(IncludePath)
+ C:\Program Files %28x86%29\Visual Leak Detector\lib\Win32;$(LibraryPath)
+
+
+ true
+ ..\..\out\$(ProjectName)\$(PlatformTarget)\$(Configuration)\
+ ..\..\out\_tmp_\$(ProjectName)\$(PlatformTarget)\$(Configuration)\
+
+
+ false
+ ..\..\..\out\server\$(PlatformTarget)\$(Configuration)\
+ ..\..\..\out\_tmp_\$(ProjectName)\$(PlatformTarget)\$(Configuration)\
+
+
+ false
+ ..\..\out\$(ProjectName)\$(PlatformTarget)\$(Configuration)\
+ ..\..\out\_tmp_\$(ProjectName)\$(PlatformTarget)\$(Configuration)\
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_CONSOLE;_WINSOCK_DEPRECATED_NO_WARNINGS;MG_ENABLE_THREADS;MG_DISABLE_HTTP_DIGEST_AUTH;MG_DISABLE_MQTT;MG_DISABLE_SSI;MG_DISABLE_FILESYSTEM;%(PreprocessorDefinitions)
+ true
+ ../../../common/teleport;../../../common/libex/include;../../../external/jsoncpp/include;../../../external/mbedtls/include;../../../external/mongoose
+ MultiThreadedDebug
+
+
+ Console
+
+
+ libcmt.lib
+ Debug
+
+
+
+
+
+
+ Level3
+ Disabled
+ _DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ ../../external/windows/libuv/include;../../external/windows/openssl/include;../../external/windows/zlib/include;../../external/windows/mbedtls/include;../../external/windows/libssh/include;../../external/common/jsoncpp/include;../../external/common/sqlite;d:/apps/vld/include
+
+
+ Windows
+ true
+ ../../external/windows/openssl/lib;../../external/windows/zlib/lib;../../external/windows/libssh/lib
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;MG_ENABLE_THREADS;MG_DISABLE_HTTP_DIGEST_AUTH;MG_DISABLE_MQTT;MG_DISABLE_SSI;MG_DISABLE_FILESYSTEM;%(PreprocessorDefinitions)
+ true
+ ../../../common/teleport;../../../common/libex/include;../../../external/jsoncpp/include;../../../external/mbedtls/include;../../../external/mongoose
+ MultiThreaded
+
+
+ Console
+ true
+ true
+
+
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ ../../external/windows/libuv/include;../../external/windows/openssl/include;../../external/windows/zlib/include;../../external/windows/mbedtls/include;../../external/windows/libssh/include;../../external/common/jsoncpp/include;../../external/common/sqlite
+
+
+ Windows
+ true
+ true
+ true
+ ../../external/windows/openssl/lib;../../external/windows/zlib/lib;../../external/windows/libssh/lib
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/server/tp_core/core/tp_core.vs2017.vcxproj.filters b/server/tp_core/core/tp_core.vs2017.vcxproj.filters
new file mode 100644
index 0000000..3d67ae0
--- /dev/null
+++ b/server/tp_core/core/tp_core.vs2017.vcxproj.filters
@@ -0,0 +1,206 @@
+
+
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+ {0155895f-d6be-4e0f-970d-9b6b5c759502}
+
+
+ {9c2d60b3-2932-485b-bccd-b66886b0286b}
+
+
+ {541f6e28-2218-4de7-9f3a-d45c56647c82}
+
+
+ {95f40be8-2d36-40ee-92ea-184bb5c44411}
+
+
+ {a3d6f884-46a8-4450-9b4c-184c6189fea2}
+
+
+ {2450e4a6-cc0b-40fe-ac51-0b4367adef26}
+
+
+ {ffc7dbb8-e1f6-4655-bc79-1038b5cdfb15}
+
+
+ {d38dfe81-e91d-4248-a0bc-1f2e014d15ee}
+
+
+ {0f03131b-cf95-4be3-bc23-8bdf582d9198}
+
+
+ {dd7c7b9e-b873-42ba-939f-ae6e7b7bde12}
+
+
+ {b94c32df-7b3a-4712-a951-ec92d2e875cc}
+
+
+
+
+ main app
+
+
+ main app
+
+
+ main app
+
+
+ main app
+
+
+ main app
+
+
+ main app
+
+
+ main app
+
+
+ libex\src
+
+
+ libex\src
+
+
+ libex\src
+
+
+ libex\src
+
+
+ libex\src
+
+
+ libex\src
+
+
+ libex\src
+
+
+ mongoose
+
+
+ jsoncpp\src
+
+
+ jsoncpp\src
+
+
+ jsoncpp\src
+
+
+ mbedtls\library
+
+
+ mbedtls\library
+
+
+ mbedtls\library
+
+
+ main app
+
+
+ main app
+
+
+ mbedtls\library
+
+
+
+
+ main app
+
+
+ main app
+
+
+ main app
+
+
+ main app
+
+
+ main app
+
+
+ main app
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ Resource Files
+
+
+ jsoncpp\header
+
+
+ mongoose
+
+
+ common
+
+
+ common
+
+
+ main app
+
+
+ main app
+
+
+ common
+
+
+ main app
+
+
+
+
+ Resource Files
+
+
+
+
+ Resource Files
+
+
+
\ No newline at end of file
diff --git a/server/tp_core/protocol/ssh/tpssh.vs2017.sln b/server/tp_core/protocol/ssh/tpssh.vs2017.sln
new file mode 100644
index 0000000..1862f42
--- /dev/null
+++ b/server/tp_core/protocol/ssh/tpssh.vs2017.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.28307.168
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tpssh", "tpssh.vs2017.vcxproj", "{FDA16D20-09B7-45AF-ADF1-DAF3EF2C0531}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x86 = Debug|x86
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {FDA16D20-09B7-45AF-ADF1-DAF3EF2C0531}.Debug|x86.ActiveCfg = Debug|Win32
+ {FDA16D20-09B7-45AF-ADF1-DAF3EF2C0531}.Debug|x86.Build.0 = Debug|Win32
+ {FDA16D20-09B7-45AF-ADF1-DAF3EF2C0531}.Release|x86.ActiveCfg = Release|Win32
+ {FDA16D20-09B7-45AF-ADF1-DAF3EF2C0531}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {E65FEA5A-5F09-467A-9C46-8C8299B7A53B}
+ EndGlobalSection
+EndGlobal
diff --git a/server/tp_core/protocol/ssh/tpssh.vs2017.vcxproj b/server/tp_core/protocol/ssh/tpssh.vs2017.vcxproj
new file mode 100644
index 0000000..250ef8c
--- /dev/null
+++ b/server/tp_core/protocol/ssh/tpssh.vs2017.vcxproj
@@ -0,0 +1,154 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {FDA16D20-09B7-45AF-ADF1-DAF3EF2C0531}
+ Win32Proj
+ tpssh
+ 8.1
+ tpssh
+
+
+
+ DynamicLibrary
+ true
+ v141
+ Unicode
+
+
+ DynamicLibrary
+ false
+ v141
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ ..\..\..\..\out\server\$(PlatformTarget)\$(Configuration)\
+ ..\..\..\..\out\_tmp_\$(ProjectName)\$(PlatformTarget)\$(Configuration)\
+
+
+ false
+ ..\..\..\..\out\server\$(PlatformTarget)\$(Configuration)\
+ ..\..\..\..\out\_tmp_\$(ProjectName)\$(PlatformTarget)\$(Configuration)\
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_WINDOWS;_USRDLL;TPP_EXPORTS;LIBSSH_STATIC;%(PreprocessorDefinitions)
+ ../../../../common/teleport;../../../../common/libex/include;../../../../external/jsoncpp/include;../../../../external/libssh/include;%(AdditionalIncludeDirectories)
+ MultiThreadedDebug
+
+
+ Windows
+ Debug
+ ..\..\..\..\external\libssh-win-static\lib;..\..\..\..\external\openssl\out32;%(AdditionalLibraryDirectories)
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_WINDOWS;_USRDLL;TPP_EXPORTS;LIBSSH_STATIC;%(PreprocessorDefinitions)
+ ../../../../common/teleport;../../../../common/libex/include;../../../../external/jsoncpp/include;../../../../external/libssh/include;%(AdditionalIncludeDirectories)
+ MultiThreaded
+
+
+ Windows
+ true
+ true
+ true
+ ..\..\..\..\external\libssh-win-static\lib;..\..\..\..\external\openssl\out32;%(AdditionalLibraryDirectories)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/server/tp_core/protocol/ssh/tpssh.vs2017.vcxproj.filters b/server/tp_core/protocol/ssh/tpssh.vs2017.vcxproj.filters
new file mode 100644
index 0000000..18936c4
--- /dev/null
+++ b/server/tp_core/protocol/ssh/tpssh.vs2017.vcxproj.filters
@@ -0,0 +1,182 @@
+
+
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+ {73f964a0-2430-47c6-b083-956809018ec2}
+
+
+ {68aa1482-4f0d-43b5-9bbd-d7857e9b540b}
+
+
+ {e6941d07-304a-4ba8-af5a-c5a09dae61b4}
+
+
+ {4a7ed97e-93c1-4513-b813-3399eaeb8a2f}
+
+
+ {b95409eb-4905-440f-8537-ee892e96b49a}
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {f1fea9ae-123c-4aa8-a152-e88d1d0a29fd}
+
+
+ {022b0a3d-47c2-40d8-96d9-dceea02e7eef}
+
+
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ win32
+
+
+ win32
+
+
+ main app
+
+
+ main app
+
+
+ common
+
+
+ common
+
+
+ common
+
+
+ common
+
+
+ main app
+
+
+ common
+
+
+ main app
+
+
+ libssh
+
+
+ libssh
+
+
+ libssh
+
+
+ libssh
+
+
+ jsoncpp
+
+
+ common
+
+
+
+
+ main app
+
+
+ libex\src
+
+
+ libex\src
+
+
+ libex\src
+
+
+ libex\src
+
+
+ libex\src
+
+
+ libex\src
+
+
+ libex\src
+
+
+ win32
+
+
+ win32
+
+
+ main app
+
+
+ main app
+
+
+ common
+
+
+ common
+
+
+ main app
+
+
+ common
+
+
+ main app
+
+
+ jsoncpp
+
+
+ jsoncpp
+
+
+ jsoncpp
+
+
+
\ No newline at end of file
diff --git a/server/tp_core/protocol/telnet/tptelnet.vs2017.sln b/server/tp_core/protocol/telnet/tptelnet.vs2017.sln
new file mode 100644
index 0000000..5b3e706
--- /dev/null
+++ b/server/tp_core/protocol/telnet/tptelnet.vs2017.sln
@@ -0,0 +1,22 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.28307.168
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tptelnet", "tptelnet.vs2017.vcxproj", "{FDA16D20-09B7-45AF-ADF1-DAF3EF2C0531}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x86 = Debug|x86
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {FDA16D20-09B7-45AF-ADF1-DAF3EF2C0531}.Debug|x86.ActiveCfg = Debug|Win32
+ {FDA16D20-09B7-45AF-ADF1-DAF3EF2C0531}.Debug|x86.Build.0 = Debug|Win32
+ {FDA16D20-09B7-45AF-ADF1-DAF3EF2C0531}.Release|x86.ActiveCfg = Release|Win32
+ {FDA16D20-09B7-45AF-ADF1-DAF3EF2C0531}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/server/tp_core/protocol/telnet/tptelnet.vs2017.vcxproj b/server/tp_core/protocol/telnet/tptelnet.vs2017.vcxproj
new file mode 100644
index 0000000..47833b1
--- /dev/null
+++ b/server/tp_core/protocol/telnet/tptelnet.vs2017.vcxproj
@@ -0,0 +1,197 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+
+ {FDA16D20-09B7-45AF-ADF1-DAF3EF2C0531}
+ Win32Proj
+ tptelnet
+ 8.1
+ tptelnet
+
+
+
+ DynamicLibrary
+ true
+ Unicode
+ v141
+
+
+ DynamicLibrary
+ false
+ v141
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ ..\..\..\..\out\server\$(PlatformTarget)\$(Configuration)\
+ ..\..\..\..\out\_tmp_\$(ProjectName)\$(PlatformTarget)\$(Configuration)\
+
+
+ false
+ ..\..\..\..\out\server\$(PlatformTarget)\$(Configuration)\
+ ..\..\..\..\out\_tmp_\$(ProjectName)\$(PlatformTarget)\$(Configuration)\
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_CRT_SECURE_NO_WARNINGS;_DEBUG;_WINDOWS;_USRDLL;TPP_EXPORTS;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions)
+ ../../../../common/teleport;../../../../common/libex/include;../../../../external/jsoncpp/include;../../../../external/mbedtls/include;../../../../external/libuv/include;../../../../external/libuv/src;%(AdditionalIncludeDirectories)
+ MultiThreadedDebug
+
+
+ Windows
+ ..\..\..\..\external\openssl\out32;%(AdditionalLibraryDirectories)
+ Debug
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;_CRT_SECURE_NO_WARNINGS;NDEBUG;_WINDOWS;_USRDLL;TPP_EXPORTS;_WIN32_WINNT=0x0600;%(PreprocessorDefinitions)
+ ../../../../common/teleport;../../../../common/libex/include;../../../../external/jsoncpp/include;../../../../external/mbedtls/include;../../../../external/libuv/include;../../../../external/libuv/src;%(AdditionalIncludeDirectories)
+ MultiThreaded
+
+
+ Windows
+ true
+ true
+ true
+ ..\..\..\..\external\openssl\out32;%(AdditionalLibraryDirectories)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/server/tp_core/protocol/telnet/tptelnet.vs2017.vcxproj.filters b/server/tp_core/protocol/telnet/tptelnet.vs2017.vcxproj.filters
new file mode 100644
index 0000000..cf00123
--- /dev/null
+++ b/server/tp_core/protocol/telnet/tptelnet.vs2017.vcxproj.filters
@@ -0,0 +1,320 @@
+
+
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+ {73f964a0-2430-47c6-b083-956809018ec2}
+
+
+ {68aa1482-4f0d-43b5-9bbd-d7857e9b540b}
+
+
+ {e6941d07-304a-4ba8-af5a-c5a09dae61b4}
+
+
+ {4a7ed97e-93c1-4513-b813-3399eaeb8a2f}
+
+
+ {b95409eb-4905-440f-8537-ee892e96b49a}
+
+
+ {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
+ cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
+
+
+ {c33b46b3-8d5d-4dff-851b-4a9394b198d0}
+
+
+ {e3918a55-cbc1-4d69-bed8-c0146f2f4ce2}
+
+
+ {c248e06b-21a4-4f6d-b0ca-0f1b2a5783bd}
+
+
+ {89181d75-3db3-45a5-a35d-9083fb349de3}
+
+
+ {fae1b562-5e3f-4b9b-9a5d-41bb15ae2223}
+
+
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ win32
+
+
+ win32
+
+
+ main app
+
+
+ main app
+
+
+ common
+
+
+ common
+
+
+ common
+
+
+ common
+
+
+ main app
+
+
+ common
+
+
+ main app
+
+
+ main app
+
+
+ common
+
+
+ libuv\header
+
+
+ libuv\header
+
+
+ libuv\header
+
+
+ libuv\header
+
+
+ libuv\header
+
+
+ libuv\header
+
+
+ libuv\src
+
+
+ libuv\src
+
+
+ libuv\src
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ common
+
+
+ jsoncpp
+
+
+
+
+ main app
+
+
+ libex\src
+
+
+ libex\src
+
+
+ libex\src
+
+
+ libex\src
+
+
+ libex\src
+
+
+ libex\src
+
+
+ libex\src
+
+
+ win32
+
+
+ win32
+
+
+ main app
+
+
+ main app
+
+
+ common
+
+
+ common
+
+
+ main app
+
+
+ common
+
+
+ main app
+
+
+ main app
+
+
+ common
+
+
+ libuv\src
+
+
+ libuv\src
+
+
+ libuv\src
+
+
+ libuv\src
+
+
+ libuv\src
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ libuv\src\win
+
+
+ jsoncpp
+
+
+ jsoncpp
+
+
+ jsoncpp
+
+
+ libuv
+
+
+
\ No newline at end of file
diff --git a/server/tp_web/src/tp_web.vs2017.sln b/server/tp_web/src/tp_web.vs2017.sln
new file mode 100644
index 0000000..06e6971
--- /dev/null
+++ b/server/tp_web/src/tp_web.vs2017.sln
@@ -0,0 +1,22 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 15
+VisualStudioVersion = 15.0.28307.168
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tp_web", "tp_web.vs2017.vcxproj", "{6548CB1D-A7BA-4A68-9B3F-A5129F77868B}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|x86 = Debug|x86
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {6548CB1D-A7BA-4A68-9B3F-A5129F77868B}.Debug|x86.ActiveCfg = Debug|Win32
+ {6548CB1D-A7BA-4A68-9B3F-A5129F77868B}.Debug|x86.Build.0 = Debug|Win32
+ {6548CB1D-A7BA-4A68-9B3F-A5129F77868B}.Release|x86.ActiveCfg = Release|Win32
+ {6548CB1D-A7BA-4A68-9B3F-A5129F77868B}.Release|x86.Build.0 = Release|Win32
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/server/tp_web/src/tp_web.vs2017.vcxproj b/server/tp_web/src/tp_web.vs2017.vcxproj
new file mode 100644
index 0000000..6fed0da
--- /dev/null
+++ b/server/tp_web/src/tp_web.vs2017.vcxproj
@@ -0,0 +1,212 @@
+
+
+
+
+ Debug
+ Win32
+
+
+ Release
+ Win32
+
+
+ Debug
+ x64
+
+
+ Release
+ x64
+
+
+
+ {6548CB1D-A7BA-4A68-9B3F-A5129F77868B}
+ Win32Proj
+ tp_web
+ 8.1
+ tp_web
+
+
+
+ Application
+ true
+ v141
+ Unicode
+
+
+ Application
+ false
+ v141
+ true
+ Unicode
+
+
+ Application
+ true
+ v140
+ Unicode
+
+
+ Application
+ false
+ v140
+ true
+ Unicode
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+ ..\..\..\out\server\$(PlatformTarget)\$(Configuration)\
+ ..\..\..\out\_tmp_\$(ProjectName)\$(PlatformTarget)\$(Configuration)\
+ D:\apps\vld\include;$(IncludePath)
+ D:\apps\vld\lib\Win32;$(LibraryPath)
+
+
+ true
+ ..\..\out\$(ProjectName)\$(PlatformTarget)\$(Configuration)\
+ ..\..\out\_tmp_\$(ProjectName)\$(PlatformTarget)\$(Configuration)\
+
+
+ false
+ ..\..\..\out\server\$(PlatformTarget)\$(Configuration)\
+ ..\..\..\out\_tmp_\$(ProjectName)\$(PlatformTarget)\$(Configuration)\
+
+
+ false
+ ..\..\out\$(ProjectName)\$(PlatformTarget)\$(Configuration)\
+ ..\..\out\_tmp_\$(ProjectName)\$(PlatformTarget)\$(Configuration)\
+
+
+
+
+
+ Level3
+ Disabled
+ WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)
+ true
+ ../../../common/libex/include;../../../common/pyshell/include;../../../external/python/include
+ MultiThreadedDebug
+
+
+ Console
+
+
+ libcmt.lib
+
+
+
+
+
+
+ Level3
+ Disabled
+ _DEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ ../../../common/libex/include;../../../common/pyshell/include;../../../external/python/include
+
+
+ Windows
+ true
+ ../../external/windows/openssl/lib;../../external/windows/zlib/lib;../../external/windows/libssh/lib
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;_WINSOCK_DEPRECATED_NO_WARNINGS;%(PreprocessorDefinitions)
+ true
+ ../../../common/libex/include;../../../common/pyshell/include;../../../external/python/include
+ MultiThreaded
+
+
+ Console
+ true
+ true
+
+
+
+
+
+
+ Level3
+
+
+ MaxSpeed
+ true
+ true
+ NDEBUG;_WINDOWS;%(PreprocessorDefinitions)
+ true
+ ../../../common/libex/include;../../../common/pyshell/include;../../../external/python/include
+
+
+ Windows
+ true
+ true
+ true
+ ../../external/windows/openssl/lib;../../external/windows/zlib/lib;../../external/windows/libssh/lib
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/server/tp_web/src/tp_web.vs2017.vcxproj.filters b/server/tp_web/src/tp_web.vs2017.vcxproj.filters
new file mode 100644
index 0000000..9f0803b
--- /dev/null
+++ b/server/tp_web/src/tp_web.vs2017.vcxproj.filters
@@ -0,0 +1,131 @@
+
+
+
+
+ {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
+ rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
+
+
+ {0155895f-d6be-4e0f-970d-9b6b5c759502}
+
+
+ {0da131e6-c187-4632-a82b-c9b84238b97a}
+
+
+ {ffe9fc8a-0268-4a71-8681-ab835e44fd83}
+
+
+ {f9606240-3c34-4d3d-8623-7913fe36b8b4}
+
+
+ {465c4847-7106-4020-ae5f-bcc649ae7ca9}
+
+
+ {4a9f6402-c1c7-4c13-a390-794b6ac77697}
+
+
+ {5696c8d5-f56a-429d-b058-cbe79a1a17ca}
+
+
+
+
+ main app
+
+
+ main app
+
+
+ libex\src
+
+
+ libex\src
+
+
+ libex\src
+
+
+ libex\src
+
+
+ libex\src
+
+
+ libex\src
+
+
+ libex\src
+
+
+ pyshell\src
+
+
+ pyshell\src
+
+
+ pyshell\src
+
+
+
+
+ main app
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ main app
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ libex\header
+
+
+ pyshell\src
+
+
+ pyshell\src
+
+
+ pyshell\header
+
+
+ Resource Files
+
+
+
+
+ Resource Files
+
+
+
+
+ Resource Files
+
+
+
\ No newline at end of file