Windows installation - atauenis/webone GitHub Wiki

Official builds of WebOne for Microsoft Windows are available for download in release archive. They are provided as three ZIP archives. You need only one of them:

  • WebOne.ver.win-arch.zip - only the proxy server.
  • WebOne.ver.win-arch.full.zip - full version of proxy server with video- and YouTube-related stuff included.
  • WebOne.ver.win-arch.full.self-contained.zip - same as full, but with .NET Runtime been included.

See also: [Linux installation]] ](/atauenis/webone/wiki/[[MacOS-X-installation).

Prerequisites

WebOne Proxy Server requires an supported version of Windows (32- or 64-bit or ARM) and .NET Runtime 6.0.

The server host operating system can be:

  • Windows 11, Windows 10 1903, Server 2019 or newer. (recommended)
  • Windows 10 1507, Server 2016 or newer.
  • Windows 8.1 or Server 2012 R2 with all updates until 10 January 2023. (see note bellow)
  • Windows 7 SP1 or Server 2008 R2 with all updates until 14 January 2020 or ESU. (see note bellow)
  • Or Linux / macOS. See corresponding Wiki pages about them.

Note: SP1 for Windows 7 is a minimum to start WebOne. But to made it correctly working, many standard support period updates are required on Windows 7 and 8.1. Extended Support Updates are recommended for security purposes, but are not required.

Even if the OS version is supported, there is Microsoft .NET Runtime 6.0 must be installed. It must be a Console or Desktop version, not for ASP.NET Core. The Runtime isn't need for x86.full.self-contained build.

At time of writing of this article, the latest version of Runtime is 6.0.23:

Installing

The Proxy Server comes as a zip archive. Currently there is no exe or msi installer, but WebOne can run from any directory where the archive is unpacked.

WebOne is a console application. It can be started from Command Prompt or from a shortcut.

On all Windows-based systems it's need to allow inbound traffic on TCP port 8080 (or other used). Use "Windows Firewall with Advanced Security" management console.

The configuration file is webone.conf (and all *.conf files in program's directory). In default conditions, it's not need to edit it. The configuration file also can be moved to %AppData%\webone.conf or C:\ProgramData\webone.conf paths. These files will be used if there is no webone.conf file in application's directory.

The operation log file is C:\Users\ username \AppData\Roaming\webone.log.

Basic build (WebOne.ver.win-arch.zip) can be converted to Full by copying FFmpeg [32/64] & Yt-dlp binaries from their authors. But if you don't want to convert video streams on fly, they are don't need and will only waste disk space. Internal image file converter, ImageMagick, is included in all builds of WebOne.

Troubleshooting

To test working of the Proxy Server, you can open http://localhost:8080/ in any browser on server machine.

  • If the server is running, but properly-configured clients can't see the proxy (even there are no messages in console log window), open 8080 port in Windows Firewall control panel. Also this can be caused by LAN problems.

  • If the server does not starting and saying that access is denied, run it with administrator rights.

  • If the server does not starting because cannot find hostfxr.dll library, install (or reinstall) correct version of .NET Runtime. The Runtime must have same bitness as WebOne.exe. Sometimes this also can be caused by absence of important OS updates on server machine.

  • If the server does not starting and displaying a Failed to listen on prefix 'http://*:8080' because it conflicts message, unload any software that is using specified port or change the Port setting in webone.conf. This means that the Port 8080 (default for HTTP Proxies) is busy in local machine, and an other port should be used instead. Note that if the port is changed to a custom, it should be used in all requests. Even the status page will be at custom port (e.g. http://localhost:80/ or http://localhost:1234/)

  • A The SSL connection could not be established, see inner exception error on particular websites are displaying when WebOne cannot connect via Windows TLS stack to the website. Most likely this is caused by absence of Windows Updates related to schannel.dll/rsaenh.dll libraries. This can be checked via IE 11, which using same libraries as WebOne. If IE can open the site, set SecurityProtocols=4032 in webone.conf.

  • If there are other problems, make sure that you're using the latest version of WebOne. If upgrading does not help, find or get help in VOGONS thread (English) or in Polygon Of Ghosts thread (Russian).

How to run without admin privileges

Because Windows (since Vista) by default don't like running HTTP servers with user rights, it is need to execute two commands from CMD.EXE with Administrator rights:

C:\Windows\system32>netsh http add urlacl url=http://*:8080/ user=USERNAME 
C:\Windows\system32>netsh advfirewall firewall add rule name=HTTP dir=in action=allow protocol=TCP localport=8080

Where: USERNAME is the local user name (or "Everyone" in your OS language); 8080 is the port on which you want to use WebOne.

Then WebOne will work even with user rights and will be accessible from LAN.

By default, WebOne will try to run these commands (with UAC prompt) on first run without Administrator rights. It does not running them if started with Administrator rights.

To remove these rules (bring system back to original state), run these reverse commands:

netsh http delete urlacl url=http://*:8080/
netsh advfirewall firewall delete rule name=HTTP

Note: adding HTTP URL ACL rule is necessary only if using WebOne with UseMsHttpApi option enabled. If the option is disabled (default value), WebOne will work without the rule.

Building from sources

To build WebOne from source code, it's need to have Microsoft .NET SDK v6.0 or Microsoft Visual Studio installed. With such environment, just run included build.bat file. It will produce release builds. To made debug builds, use dotnet publish -c Debug command or Visual Studio GUI.

WebOne Legacy (0.9.3 and earlier)

Older versions of WebOne (0.1.0 - 0.9.3) used Microsoft .NET Framework 4 instead of modern .NET Runtime. They worked on Windows XP SP3 (POSReady) and Windows Server 2003 SP2 as well as on Windows Vista.

These versions of proxy are not usable now because Windows NT 5.x SChannel stack does not support ciphers which are using by modern HTTPS servers. Also these versions don't ran correctly in Linux and macOS systems due to bugs in Mono Runtime. So I've deiced to migrate the project from .NET Framework 4 to .NET Core on release 0.10, and all previous releases now aren't supported.

WebOne 0.10.x, 0.11.x

These versions were running on .NET Core 3.1 Runtime instead of 6.0. Now they are not supported too, and v0.12+ have no disadvantages compared to v0.11.