Tag Archives: .NET

Using vintage tables in nowadays Internet.

I’m a melancholic of my vintage devices. I still have a Nokia Lumia 620 running Windows Phone 8, a Blackberry Playbook and a Samsung Galaxy SCL a part from the phone I normally use.

These old devices still work and I like giving them use. For example reading stuff from Wikipedia on the Playbook.

Since several years I was experiencing that most of the webs no longer worked on then. Not only that the HTML and CSS didn’t show right because they have evolved and their browsers became obsolete. The webs just didn’t download.

They browser said Network Error, that’s it.

The problem is that webs have updated the HTTPS encryption algorithm and if one tries the HTTP version many will redirect onto the HTTPS ant that prevents those devices which don’t support the new algorithm from open up the webs.

I thought one day that someone else must have dealt with the problem and some solution must exist. Perhaps a proxy which makes internet compatible to vintage devices. So I search the Internet and I found a post in some forum that commented about a project called WebOne.

WebOne is a proxy develop by Alexander Tauenis and it’s a software made in C# that makes the HTTPS request compatible with your own device.

The goal therefore is to have this proxy running on a machine and make your table do the request through it.

I managed to install it in my Raspberry Pi 3 and in this article I’m going to explain the steps to achieve it.

LWhat I normally do is to use docker and start with a clean Ubuntu 18.4 image but it should work on a bare metal operating system.

The steps are the following:

First of all we need to update Apt and install wget and libicu-dev

apt-get update
apt-get install wget libicu-dev

Now we have to unload a .NET runtime. It has to be .NET Core 3.1.
It can be downloaded from this URL https://dotnet.microsoft.com/download/dotnet/3.1

At the time I did it I chose ASP.NET Core Runtime 3.1.19 but I also tested it with SDK 3.1.413.

As I’m installing it in the Raspberry Pi which runs Linux and the microprocessor is ARM I picked aspnetcore-runtime-3.1.19-linux-arm.tar.gz. You has to pick the fittest to the computer we are going to run it.

wget https://download.visualstudio.microsoft.com/download/pr/151dda42-4bbe-4a05-a3bf-ccb5803a2a28/8e0b0ae365850d455efbf2afcd7c6768/aspnetcore-runtime-3.1.19-linux-arm.tar.gz

Now we download WebOne from Alexander Tauenis’s Git.

wget https://github.com/atauenis/webone/releases/download/v0.11.0/webone.0.11.0.linux-armhf.deb

Now we install it. In my example I installed it in the folder root because it’s a Docker container. You can do it in a different folder.

export DOTNET_ROOT=/root/dotnet
export PATH=$PATH:$DOTNET_ROOT
mkdir -p $DOTNET_ROOT 
tar zxf aspnetcore-runtime-3.1.19-linux-arm.tar.gz -C $DOTNET_ROOT
dpkg -x webone.0.11.0.linux-armhf.deb ~/WebOneDeb 

and now to run it use run the command:

dotnet WebOneDeb/usr/share/webone/webone.dll WebOneDeb/etc/webone.conf > /dev/null

Now WebOne is running and it accepts calls on the port 8080.

Now in the device you have to set up the proxy, set the url of the comupter where you are running Web one and the port 8080 and you can now use internet on it.

I hope this tutorial is helpful.