diff --git a/README.md b/README.md index d9fdbb77..56b6a726 100644 --- a/README.md +++ b/README.md @@ -719,15 +719,15 @@ using the GUI (winXP or later): connecting from commandline (win7 or later; `wark`=password): * `net use w: http://192.168.123.1:3923/ k /user:wark` -on windows (xp or later), disable wpad for performance: -* control panel -> [network and internet] -> [internet options] -> [connections] tab -> [lan settings] -> automatically detect settings: Nope +**however,** you probably want to run [webdav-cfg.bat](./contrib/webdav-cfg.bat) first -- +* fixes inability to access files larger than 47.6 MiB (changes the limit to 4 GiB which is the highest windows can go) +* optionally allows/enables login over plaintext http +* optionally disables wpad for ~100x performance known client bugs: * win7+ doesn't actually send the password to the server when reauthenticating after a reboot unless you first try to login with an incorrect password and then switch to the correct password * or just type your password into the username field instead to get around it entirely * connecting to a folder which allows anonymous read will make writing impossible, as windows has decided it doesn't need to login -* win7+ cannot access servers which require authentication unless you use https or [enable basic auth](./contrib/webdav-basicauth.reg) for http -* win7+ cannot download files larger than 47.6 MiB by default; [registry fix](./contrib/webdav-unlimit.bat) to allow files up to 4 GiB (actual absolute max on windows) * win7+ opens a new tcp connection for every file and sometimes forgets to close them, eventually needing a reboot * maybe NIC-related (??), happens with win10-ltsc on e1000e but not virtio * windows cannot access folders which contain filenames with invalid unicode or forbidden characters (`<>:"/\|?*`), or names ending with `.` diff --git a/contrib/webdav-basicauth.reg b/contrib/webdav-basicauth.reg deleted file mode 100644 index 3d34d0b2..00000000 Binary files a/contrib/webdav-basicauth.reg and /dev/null differ diff --git a/contrib/webdav-cfg.bat b/contrib/webdav-cfg.bat new file mode 100644 index 00000000..14367293 --- /dev/null +++ b/contrib/webdav-cfg.bat @@ -0,0 +1,51 @@ +@echo off +rem removes the 47.6 MiB filesize limit when downloading from webdav +rem + optionally allows/enables password-auth over plaintext http +rem + optionally helps disable wpad + +setlocal enabledelayedexpansion + +net session >nul 2>&1 +if %errorlevel% neq 0 ( + echo sorry, you must run this as administrator + pause + exit /b +) + +reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WebClient\Parameters /v FileSizeLimitInBytes /t REG_DWORD /d 0xffffffff /f +reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters /v FsCtlRequestTimeoutInSec /t REG_DWORD /d 0xffffffff /f + +echo( +echo OK; +echo allow webdav basic-auth over plaintext http? +echo Y: login works, but the password will be visible in wireshark etc +echo N: login will NOT work unless you use https and valid certificates +set c=. +set /p "c=(Y/N): " +echo( +if /i not "!c!"=="y" goto :g1 +reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WebClient\Parameters /v BasicAuthLevel /t REG_DWORD /d 0x2 /f +rem default is 1 (require tls) + +:g1 +echo( +echo OK; +echo do you want to disable wpad? +echo can give a HUGE speed boost depending on network settings +set c=. +set /p "c=(Y/N): " +echo( +if /i not "!c!"=="y" goto :g2 +echo( +echo i'm about to open the [Connections] tab in [Internet Properties] for you; +echo please click [LAN settings] and disable [Automatically detect settings] +echo( +pause +control inetcpl.cpl,,4 + +:g2 +net stop webclient +net start webclient +echo( +echo OK; all done +pause diff --git a/contrib/webdav-unlimit.bat b/contrib/webdav-unlimit.bat deleted file mode 100644 index 831f2ac9..00000000 --- a/contrib/webdav-unlimit.bat +++ /dev/null @@ -1,15 +0,0 @@ -@echo off -rem removes the 47.6 MiB filesize limit when downloading from webdav - -net session >nul 2>&1 -if %errorlevel% neq 0 ( - echo you must run this as admin - pause - exit /b 1 -) - -reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\WebClient\Parameters /v FileSizeLimitInBytes /t REG_DWORD /d 0xffffffff /f -reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters /v FsCtlRequestTimeoutInSec /t REG_DWORD /d 0xffffffff /f -net stop WEBCLIENT -net start WEBCLIENT -pause