Windows installation - atauenis/webone 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 7 SP1 with all updates until 14 January 2020 (or ESU). *
  • Windows Server 2008 R2 SP1 with all updates until 14 January 2020 (or ESU). *
  • Windows 8.1 with latest updates. *
  • Windows Server 2012 R2 with latest updates. *
  • Windows 10 or Windows Server 2019+ (recommended version).
  • Windows 11.
  • Or Linux / macOS. See corresponding Wiki pages about them.

* - If you can at least connect to any website via Internet Explorer 11, all required updates are already installed. ESU updates for Windows 7 and Server 2008 R2 are not required to run WebOne, but recommended.

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.6:

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 first time it will configure system to work without administrator privileges. If you don't want to allow WebOne made these configurations, you may do them manually or simply run WebOne with administrator rights.

On all Windows-based systems it's need to allow inbound traffic on TCP port 8080 (or other used) for system process (allowing only WebOne.exe is not enough as it using http.sys, the HTTP kernel-mode driver included in Windows). On first run, WebOne will try to open the port automatically.

The configuration file is webone.conf (and all *.conf files in program's directory). It is not need to edit configuration files to use your proxy server with Windows-based clients inside LAN. If any clients are planned to be not only Windows-based (or if the server is not visible in "My Network Places"/"Network Neighborhood" folder from clients), it is need to set IP address of server machine in DefaultHostName section of configuration file.

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 & Youtube-Dl binaries from their authors, and yt.bat file from Git. 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/ 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

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.