diff --git a/contrib/build_all.bat b/contrib/build_all.bat
index 00fc6ed66dd46082778225c2d845e0a358928b60..8e1d306f193b8b3eb668b1edb8783534d7a44ba1 100644
--- a/contrib/build_all.bat
+++ b/contrib/build_all.bat
@@ -65,7 +65,7 @@ nettle=build\nettle\SMP\libnettle.vcxproj, ^
 hogweed=build\nettle\SMP\libhogweed.vcxproj, ^
 gnutls=build\gnutls\SMP\libgnutls.vcxproj, ^
 msgpack=build\msgpack-c\vs2017\msgpackc-static.vcxproj, ^
-opendht=build\opendht\MSVC\opendht_vs2017.vcxproj, ^
+opendht=build\opendht\MSVC\opendht.vcxproj, ^
 pjproject=pjproject, ^
 pthreads=build\pthreads\MSVC\pthreads.vcxproj, ^
 xml=build\libupnp\build\vs2017\ixml.vcxproj, ^
@@ -92,7 +92,7 @@ nettle=build\nettle\SMP\libnettle.vcxproj, ^
 hogweed=build\nettle\SMP\libhogweed.vcxproj, ^
 gnutls=build\gnutls\SMP\libgnutls.vcxproj, ^
 msgpack=build\msgpack-c\vs2017\msgpackc-static.vcxproj, ^
-opendht=build\opendht\MSVC\opendht_vs2017.vcxproj, ^
+opendht=build\opendht\MSVC\opendht.vcxproj, ^
 pjproject=pjproject, ^
 pthreads=build\pthreads\MSVC\pthreads.vcxproj, ^
 xml=build\libupnp\build\vs2017\ixml.vcxproj, ^
diff --git a/contrib/src/opendht/SHA512SUMS b/contrib/src/opendht/SHA512SUMS
index 73c65b04c267135388ae9d39730b6e1d833af312..517d84530286302787dc1da68a0740c64ef8759e 100644
--- a/contrib/src/opendht/SHA512SUMS
+++ b/contrib/src/opendht/SHA512SUMS
@@ -1 +1 @@
-2e78132097e839cace59fa9d926621854107af2486cee55d76f24176b3f3c86be99d1e388bbb604cde8f2490f4e9cc3e7dc9ccfc868f951e3dac1e6ba8a25a72  opendht-ef82652a1e9417cd20df3bf55f569aee26b6e6a8.tar.gz
+d62bb2a0804887ca2b4cd9c4a60eea7fddb80910eea4015025fcec43bcfa23a992d3fe0a38a93baee1b8fcc75914d777d49f42a8a58d89341ac0c8e97005f67b  opendht-1.9.2.tar.gz
\ No newline at end of file
diff --git a/contrib/src/opendht/fetch_and_patch.bat b/contrib/src/opendht/fetch_and_patch.bat
index 163ff2947b161453ae7d70c3d1722eb8bb69ccea..38818346a150db3937aed4c4767f13c2c84ebc5b 100644
--- a/contrib/src/opendht/fetch_and_patch.bat
+++ b/contrib/src/opendht/fetch_and_patch.bat
@@ -1,6 +1,6 @@
 set BUILD=%SRC%..\build
 
-set OPENDHT_VERSION=ef82652a1e9417cd20df3bf55f569aee26b6e6a8
+set OPENDHT_VERSION=1.9.2
 set OPENDHT_URL=https://github.com/savoirfairelinux/opendht/archive/%OPENDHT_VERSION%.tar.gz
 
 mkdir %BUILD%
@@ -17,6 +17,4 @@ rename %BUILD%\opendht-%OPENDHT_VERSION% opendht
 
 cd %BUILD%\opendht
 
-%APPLY_CMD% %SRC%\opendht\opendht-vs2017.patch
-
 cd %SRC%
diff --git a/contrib/src/opendht/opendht-vs2017.patch b/contrib/src/opendht/opendht-vs2017.patch
deleted file mode 100644
index 47926f7f1dea0dbfa4ff67ffa66ec25ebcf57565..0000000000000000000000000000000000000000
--- a/contrib/src/opendht/opendht-vs2017.patch
+++ /dev/null
@@ -1,271 +0,0 @@
---- /dev/null
-+++ b/MSVC/opendht_vs2017.vcxproj
-@@ -0,0 +1,264 @@
-+<?xml version="1.0" encoding="utf-8"?>
-+<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-+  <ItemGroup Label="ProjectConfigurations">
-+    <ProjectConfiguration Include="Debug|Win32">
-+      <Configuration>Debug</Configuration>
-+      <Platform>Win32</Platform>
-+    </ProjectConfiguration>
-+    <ProjectConfiguration Include="Release|Win32">
-+      <Configuration>Release</Configuration>
-+      <Platform>Win32</Platform>
-+    </ProjectConfiguration>
-+    <ProjectConfiguration Include="Debug|x64">
-+      <Configuration>Debug</Configuration>
-+      <Platform>x64</Platform>
-+    </ProjectConfiguration>
-+    <ProjectConfiguration Include="Release|x64">
-+      <Configuration>Release</Configuration>
-+      <Platform>x64</Platform>
-+    </ProjectConfiguration>
-+  </ItemGroup>
-+  <ItemGroup>
-+    <ClCompile Include="..\src\dht_proxy_client.cpp" />
-+    <ClCompile Include="..\src\op_cache.cpp" />
-+    <ClCompile Include="..\src\rng.cpp">
-+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
-+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
-+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
-+      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-+    </ClCompile>
-+    <ClCompile Include="wingetopt.c" />
-+    <ClCompile Include="..\src\base64.cpp" />
-+    <ClCompile Include="..\src\callbacks.cpp" />
-+    <ClCompile Include="..\src\crypto.cpp" />
-+    <ClCompile Include="..\src\default_types.cpp" />
-+    <ClCompile Include="..\src\dht.cpp" />
-+    <ClCompile Include="..\src\dhtrunner.cpp" />
-+    <ClCompile Include="..\src\dht_proxy_server.cpp" />
-+    <ClCompile Include="..\src\indexation\pht.cpp" />
-+    <ClCompile Include="..\src\infohash.cpp" />
-+    <ClCompile Include="..\src\log.cpp" />
-+    <ClCompile Include="..\src\network_engine.cpp" />
-+    <ClCompile Include="..\src\node.cpp" />
-+    <ClCompile Include="..\src\node_cache.cpp" />
-+    <ClCompile Include="..\src\routing_table.cpp" />
-+    <ClCompile Include="..\src\securedht.cpp" />
-+    <ClCompile Include="..\src\utils.cpp" />
-+    <ClCompile Include="..\src\value.cpp" />
-+  </ItemGroup>
-+  <ItemGroup>
-+    <ClInclude Include="..\include\opendht\dht_proxy_client.h" />
-+    <ClInclude Include="..\src\op_cache.h" />
-+    <ClInclude Include="..\src\value_cache.h" />
-+    <ClInclude Include="unistd.h" />
-+    <ClInclude Include="wingetopt.h" />
-+    <ClInclude Include="..\include\opendht.h" />
-+    <ClInclude Include="..\include\opendht\callbacks.h" />
-+    <ClInclude Include="..\include\opendht\crypto.h" />
-+    <ClInclude Include="..\include\opendht\def.h" />
-+    <ClInclude Include="..\include\opendht\default_types.h" />
-+    <ClInclude Include="..\include\opendht\dht.h" />
-+    <ClInclude Include="..\include\opendht\dhtrunner.h" />
-+    <ClInclude Include="..\include\opendht\dht_proxy_server.h" />
-+    <ClInclude Include="..\include\opendht\indexation\pht.h" />
-+    <ClInclude Include="..\include\opendht\infohash.h" />
-+    <ClInclude Include="..\include\opendht\log.h" />
-+    <ClInclude Include="..\include\opendht\log_enable.h" />
-+    <ClInclude Include="..\include\opendht\network_engine.h" />
-+    <ClInclude Include="..\include\opendht\node.h" />
-+    <ClInclude Include="..\include\opendht\node_cache.h" />
-+    <ClInclude Include="..\include\opendht\rate_limiter.h" />
-+    <ClInclude Include="..\include\opendht\rng.h" />
-+    <ClInclude Include="..\include\opendht\routing_table.h" />
-+    <ClInclude Include="..\include\opendht\scheduler.h" />
-+    <ClInclude Include="..\include\opendht\securedht.h" />
-+    <ClInclude Include="..\include\opendht\sockaddr.h" />
-+    <ClInclude Include="..\include\opendht\utils.h" />
-+    <ClInclude Include="..\include\opendht\value.h" />
-+    <ClInclude Include="..\src\base64.h" />
-+    <ClInclude Include="..\src\listener.h" />
-+    <ClInclude Include="..\src\net.h" />
-+    <ClInclude Include="..\src\parsed_message.h" />
-+    <ClInclude Include="..\src\request.h" />
-+    <ClInclude Include="..\src\search.h" />
-+    <ClInclude Include="..\src\storage.h" />
-+  </ItemGroup>
-+  <PropertyGroup Label="Globals">
-+    <ProjectGuid>{711397CE-E5D5-467D-9457-8716C047E50C}</ProjectGuid>
-+    <RootNamespace>opendht</RootNamespace>
-+    <WindowsTargetPlatformVersion>10.0.17134.0</WindowsTargetPlatformVersion>
-+  </PropertyGroup>
-+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
-+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
-+    <ConfigurationType>StaticLibrary</ConfigurationType>
-+    <UseDebugLibraries>true</UseDebugLibraries>
-+    <PlatformToolset>v141</PlatformToolset>
-+    <CharacterSet>MultiByte</CharacterSet>
-+  </PropertyGroup>
-+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
-+    <ConfigurationType>StaticLibrary</ConfigurationType>
-+    <UseDebugLibraries>false</UseDebugLibraries>
-+    <PlatformToolset>v141</PlatformToolset>
-+    <WholeProgramOptimization>false</WholeProgramOptimization>
-+    <CharacterSet>MultiByte</CharacterSet>
-+  </PropertyGroup>
-+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
-+    <ConfigurationType>StaticLibrary</ConfigurationType>
-+    <UseDebugLibraries>true</UseDebugLibraries>
-+    <PlatformToolset>v141</PlatformToolset>
-+    <CharacterSet>MultiByte</CharacterSet>
-+  </PropertyGroup>
-+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
-+    <ConfigurationType>StaticLibrary</ConfigurationType>
-+    <UseDebugLibraries>false</UseDebugLibraries>
-+    <PlatformToolset>v141</PlatformToolset>
-+    <WholeProgramOptimization>false</WholeProgramOptimization>
-+    <CharacterSet>MultiByte</CharacterSet>
-+  </PropertyGroup>
-+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
-+  <ImportGroup Label="ExtensionSettings">
-+  </ImportGroup>
-+  <ImportGroup Label="Shared">
-+  </ImportGroup>
-+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-+  </ImportGroup>
-+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-+  </ImportGroup>
-+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-+  </ImportGroup>
-+  <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
-+  </ImportGroup>
-+  <PropertyGroup Label="UserMacros" />
-+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-+    <OutDir>$(ProjectDir)..\..\..\msvc</OutDir>
-+    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-+    <TargetName>libopendhtd</TargetName>
-+  </PropertyGroup>
-+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-+    <OutDir>$(ProjectDir)..\..\..\msvc</OutDir>
-+    <IntDir>$(Platform)\$(Configuration)\</IntDir>
-+    <TargetName>libopendht</TargetName>
-+  </PropertyGroup>
-+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-+    <OutDir>$(ProjectDir)..\..\..\msvc</OutDir>
-+    <TargetName>libopendhtd</TargetName>
-+  </PropertyGroup>
-+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-+    <OutDir>$(ProjectDir)..\..\..\msvc</OutDir>
-+    <TargetName>libopendht</TargetName>
-+  </PropertyGroup>
-+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
-+    <ClCompile>
-+      <WarningLevel>Level3</WarningLevel>
-+      <Optimization>Disabled</Optimization>
-+      <SDLCheck>true</SDLCheck>
-+      <AdditionalIncludeDirectories>..\..\include;..\include;..\include\opendht;..\..\argon2\include;..\..\msgpack-c\include;..\..\..\msvc\include;..\..\jsoncpp\include;..\..\restbed\source</AdditionalIncludeDirectories>
-+      <PreprocessorDefinitions>OPENDHT_JSONCPP;_CRT_SECURE_NO_WARNINGS;WIN32_NATIVE;WIN32_LEAN_AND_MEAN;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-+      <DisableSpecificWarnings>4804;4800;4101;4267;4244;4503;</DisableSpecificWarnings>
-+      <AdditionalOptions>-D_SCL_SECURE_NO_WARNINGS %(AdditionalOptions)</AdditionalOptions>
-+      <SuppressStartupBanner>false</SuppressStartupBanner>
-+    </ClCompile>
-+    <PostBuildEvent>
-+      <Command>mkdir $(OutDir)\include
-+mkdir $(OutDir)\include\opendht
-+mkdir $(OutDir)\include\opendht\indexation
-+copy ..\include\opendht\indexation\*.h $(OutDir)\include\opendht\indexation
-+copy ..\include\opendht\*.h $(OutDir)\include\opendht
-+copy ..\include\opendht.h $(OutDir)\include\</Command>
-+    </PostBuildEvent>
-+    <Lib>
-+      <OutputFile>$(OutDir)\lib\x86\$(TargetName)$(TargetExt)</OutputFile>
-+    </Lib>
-+  </ItemDefinitionGroup>
-+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-+    <ClCompile>
-+      <WarningLevel>Level3</WarningLevel>
-+      <Optimization>Disabled</Optimization>
-+      <SDLCheck>true</SDLCheck>
-+      <AdditionalIncludeDirectories>..\..\include;..\include;..\include\opendht;..\..\argon2\include;..\..\msgpack-c\include;..\..\..\msvc\include;..\..\jsoncpp\include;..\..\restbed\source</AdditionalIncludeDirectories>
-+      <PreprocessorDefinitions>OPENDHT_JSONCPP;OPENDHT_PROXY_CLIENT;OPENDHT_PROXY_SERVER;OPENDHT_PUSH_NOTIFICATIONS;_CRT_SECURE_NO_WARNINGS;WIN32_NATIVE;WIN32_LEAN_AND_MEAN;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-+      <DisableSpecificWarnings>4804;4800;4101;4267;4244;4503;</DisableSpecificWarnings>
-+      <AdditionalOptions>-D_SCL_SECURE_NO_WARNINGS %(AdditionalOptions)</AdditionalOptions>
-+    </ClCompile>
-+    <PostBuildEvent>
-+      <Command>mkdir $(OutDir)\include
-+mkdir $(OutDir)\include\opendht
-+mkdir $(OutDir)\include\opendht\indexation
-+copy ..\include\opendht\indexation\*.h $(OutDir)\include\opendht\indexation
-+copy ..\include\opendht\*.h $(OutDir)\include\opendht
-+copy ..\include\opendht.h $(OutDir)\include\</Command>
-+    </PostBuildEvent>
-+    <Lib>
-+      <OutputFile>$(OutDir)\lib\x64\$(TargetName)$(TargetExt)</OutputFile>
-+    </Lib>
-+  </ItemDefinitionGroup>
-+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
-+    <ClCompile>
-+      <WarningLevel>Level3</WarningLevel>
-+      <Optimization>MaxSpeed</Optimization>
-+      <FunctionLevelLinking>true</FunctionLevelLinking>
-+      <IntrinsicFunctions>true</IntrinsicFunctions>
-+      <SDLCheck>true</SDLCheck>
-+      <AdditionalIncludeDirectories>..\..\include;..\include;..\include\opendht;..\..\argon2\include;..\..\msgpack-c\include;..\..\..\msvc\include;..\..\jsoncpp\include;..\..\restbed\source</AdditionalIncludeDirectories>
-+      <PreprocessorDefinitions>OPENDHT_JSONCPP;_CRT_SECURE_NO_WARNINGS;WIN32_NATIVE;WIN32_LEAN_AND_MEAN;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-+      <DisableSpecificWarnings>4804;4800;4101;4267;4244;4503;</DisableSpecificWarnings>
-+      <AdditionalOptions>-D_SCL_SECURE_NO_WARNINGS %(AdditionalOptions)</AdditionalOptions>
-+      <ProgramDataBaseFileName>$(OutDir)\lib\x86\$(TargetName).pdb</ProgramDataBaseFileName>
-+    </ClCompile>
-+    <Link>
-+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-+      <OptimizeReferences>true</OptimizeReferences>
-+    </Link>
-+    <PostBuildEvent>
-+      <Command>mkdir $(OutDir)\include
-+mkdir $(OutDir)\include\opendht
-+mkdir $(OutDir)\include\opendht\indexation
-+copy ..\include\opendht\indexation\*.h $(OutDir)\include\opendht\indexation
-+copy ..\include\opendht\*.h $(OutDir)\include\opendht
-+copy ..\include\opendht.h $(OutDir)\include\</Command>
-+    </PostBuildEvent>
-+    <Lib>
-+      <OutputFile>$(OutDir)\lib\x86\$(TargetName)$(TargetExt)</OutputFile>
-+      <LinkTimeCodeGeneration>false</LinkTimeCodeGeneration>
-+    </Lib>
-+  </ItemDefinitionGroup>
-+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-+    <ClCompile>
-+      <WarningLevel>Level3</WarningLevel>
-+      <Optimization>Full</Optimization>
-+      <FunctionLevelLinking>true</FunctionLevelLinking>
-+      <IntrinsicFunctions>true</IntrinsicFunctions>
-+      <SDLCheck>true</SDLCheck>
-+      <AdditionalIncludeDirectories>..\..\include;..\include;..\include\opendht;..\..\argon2\include;..\..\msgpack-c\include;..\..\..\msvc\include;..\..\jsoncpp\include;..\..\restbed\source</AdditionalIncludeDirectories>
-+      <PreprocessorDefinitions>OPENDHT_JSONCPP;OPENDHT_PROXY_CLIENT;OPENDHT_PROXY_SERVER;OPENDHT_PUSH_NOTIFICATIONS;_CRT_SECURE_NO_WARNINGS;WIN32_NATIVE;WIN32_LEAN_AND_MEAN;_MBCS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
-+      <DisableSpecificWarnings>4804;4800;4101;4267;4244;4503;4273;</DisableSpecificWarnings>
-+      <AdditionalOptions>-D_SCL_SECURE_NO_WARNINGS %(AdditionalOptions)</AdditionalOptions>
-+      <ProgramDataBaseFileName>$(OutDir)\lib\x64\$(TargetName).pdb</ProgramDataBaseFileName>
-+    </ClCompile>
-+    <Link>
-+      <EnableCOMDATFolding>true</EnableCOMDATFolding>
-+      <OptimizeReferences>true</OptimizeReferences>
-+    </Link>
-+    <PostBuildEvent>
-+      <Command>mkdir $(OutDir)\include
-+mkdir $(OutDir)\include\opendht
-+mkdir $(OutDir)\include\opendht\indexation
-+copy ..\include\opendht\indexation\*.h $(OutDir)\include\opendht\indexation
-+copy ..\include\opendht\*.h $(OutDir)\include\opendht
-+copy ..\include\opendht.h $(OutDir)\include\</Command>
-+    </PostBuildEvent>
-+    <Lib>
-+      <OutputFile>$(OutDir)\lib\x64\$(TargetName)$(TargetExt)</OutputFile>
-+      <LinkTimeCodeGeneration>false</LinkTimeCodeGeneration>
-+      <AdditionalLibraryDirectories>
-+      </AdditionalLibraryDirectories>
-+    </Lib>
-+  </ItemDefinitionGroup>
-+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
-+  <ImportGroup Label="ExtensionTargets">
-+  </ImportGroup>
-+</Project>
-\ No newline at end of file
--- 
-2.10.2.windows.1
-
diff --git a/contrib/src/opendht/rules.mak b/contrib/src/opendht/rules.mak
index aa865619d6b3ad4ac1b854dcb1ff936645e6f666..63a62816f5b5218c10304713e3a429f6aa2a76e8 100644
--- a/contrib/src/opendht/rules.mak
+++ b/contrib/src/opendht/rules.mak
@@ -1,5 +1,5 @@
 # OPENDHT
-OPENDHT_VERSION := ef82652a1e9417cd20df3bf55f569aee26b6e6a8
+OPENDHT_VERSION := 1.9.2
 OPENDHT_URL := https://github.com/savoirfairelinux/opendht/archive/$(OPENDHT_VERSION).tar.gz
 
 PKGS += opendht