Web Rendering Proxy: ciekawy pomysł na przeglądanie stron WWW pod retro PC

Web Rendering Proxy: ciekawy pomysł na przeglądanie stron WWW pod retro PC10.08.2019 15:52
Web Rendering Proxy (Pixabay)

Jednym z podstawowych problemów, które prędko wpędzają we frustracje podczas zabaw ze starymi komputerami, jest przenoszenie danych. Portów USB nie ma, napędów dyskietek nie ma z kolei na komputerze z którego chcemy coś skopiować, a karta sieciowa – jeśli jest – początkowo nie ma sterowników. A nie pobierzemy ich, bo przecież nie mamy internetu! Potrzebne pliki mogą się znajdować zaraz obok, ale nie ma prostej metody, żeby je przerzucić...

A to dopiero początek zabawy. Gdy wymienimy np. dysk twardy retro-peceta na kartę CF (są one logicznie zgodne ze standardem IDE bez aktywnych adapterów) i wrzucimy na nią wszystko, czego potrzeba do podpięcia się do internetu, prędko odkryjemy, że choć protokoły jak HTTP są w dalszym ciągu zgodne w dół, to efektywnie przeglądać internetu po prostu się nie da. Wynika to z ewolucji stron internetowych w kierunku web-aplikacji, wskutek czego potrzebują one dziś nie tylko szerokiego łącza, ale również mocnego procesora i dużo pamięci. Nie wspominając już o tym, że pełną obsługę HTML5 dostarczają dziś wyłącznie przeglądarki wymagające rozszerzeń procesora dostępnych dopiero od czasów układu Core 2 Duo i niedziałające na niczym starszym od Windows 7.

WWW odpada

Rzecz jasna, przeglądanie internetu nie jest powodem, dla którego składa się dziś stare komputery. Jeżeli wykorzystuje się je do sieci, to raczej do zastosowań obciążonych mniejszym balastem, niż dzisiejsze HTTPS. Outlook Express 5 od biedy pobierze pocztę z o2 i GMaila, sieci IRC dalej wpuszczają połączenia z najbardziej antycznych nawet klientów. Na Windows 95 działa wersja 0.65 terminala PuTTY z obsługą RS-232, Telnetu oraz SSH. Więc jeżeli nie chcemy się łączyć np. zaszyfrowanymi kluczami ed25519 do komputera w sieci IPv6, to łączność po powłoce ze zdalnym i w miarę nowym Uniksem powinna w dalszym ciągu działać poprawnie ze starego sprzętu. Problemem pozostają te nieszczęsne strony internetowe...

I weź tu człowieku coś skopiuj dziś...
I weź tu człowieku coś skopiuj dziś...

Chcąc nie chcąc, niektóre treści są dostępne tylko drogą WWW. Coraz więcej materiałów jest w dodatku oferowanych dynamicznie, więc po prostu musimy przetworzyć choć trochę JavaScriptu po stronie klienta. Dla komputerów z procesorem np. Pentium MMX 133 MHz takie zadanie może być zabójcze. Zwłaszcza, gdy korzystamy z przeglądarki Internet Explorer, której dawne wersje były oszałamiająco nieoptymalne podczas parsowania skryptów JS. Szamotanina między oprogramowaniem lekkim oraz skutecznym sprawia, że pomysł korzystania ze stron internetowych jest naprawdę denerwujący. Na szczęście stworzono eleganckie w swej brutalności rozwiązanie.

WP Tech na Windows 95? A można jak najbardziej!
WP Tech na Windows 95? A można jak najbardziej!

Serwer WRP

Narzędzie Web Rendering Proxy (WRP) jest dokładnie tym, co mówi jego mało wyszukana nazwa: serwerem pośredniczącym, oferującym gotowe, wyrenderowane strony internetowe jako obrazki skorelowane z "klikalną" mapą linków. Serwowana strona internetowa korzysta z HTML jedynie w elementarnym stopniu, dzięki czemu może być poprawnie otwarta nawet w najstarszych przeglądarkach WWW bez obsługi skryptów, a nawet HTMLa 4.0. Autorem tego rozwiązania jest Antoni Sawicki (tenox), starszy programista w Google. Projekt jest ponownie po kilku latach przerwy i tym razem dzieje się to z uwzględnieniem nowych trendów technicznych w internecie.

Ze względu na migrację sieci na szyfrowany protokół HTTPS, Web Rendering Proxy nie może być przezroczystym pośrednikiem, jakim był na początku. Powrót do tej postaci jest najwyraźniej jednym z celów projektu, ale na to przyjdzie trochę poczekać. Obecnie bowiem funkcjonalność jest realizowana za pomocą warstwy "przeglądarka-w-przeglądarce": retro-browser wyświetla stronę wyglądającą jak przeglądarka. Dopiero w niej wpisujemy adres strony, którą chcemy obejrzeć. WRP jest rozwijane na Githubie i dostarczane jako kontener Dockera (repozytorium tenox7/wrp) lub prekompilowany, statyczny plik wykonywalny (12MB "wszystko w jednym"). Dostępne są wersje ARM i AMD64 dla Linuksów, Windows, MacOS, a nawet kilku systemów BSD!

Obfotografowanie Chrome

Jak WRP spisuje się w praktyce? Cóż – niewątpliwie spełnia swoje zadanie. Zaserwuje zarówno starą, statyczną stronę, jak i rozbudowaną witrynę dużego portalu: wynikowy obrazek jest tak samo złożony w obu tych przypadkach, w tym drugim serwer będzie po prostu potrzebował chwilę więcej czasu. Daleko mu jednak do płynności. I nie wynika to z faktu niebycia prawdziwą warstwą proxy, a z tego, jak w praktyce WRP przygotowuje odpowiedź. Uruchamia on na serwerze sesję Google Chrome, otwiera w niej żądaną stronę, po czym robi jej zrzut ekranu. Na otwartej stronie lokalizowane są współrzędne klikalnych elementów, które następnie są podpinane jako mapa pod obrazek. Taki zestaw jest splatany w kod HTML serwowany przeglądarce odbiorczej. Klient otrzymuje więc de facto statyczny obrazek. Mogłoby się wydawać, że takie realizowanie żądań jest bardzo powolne, ale Web Rendering Proxy odpowiada bardzo szybko. Również nawet słabe komputery wyświetlą treść od WRP bez szczególnej męki i przestojów. Chodzi o coś innego.

Ten podwójny pasek przewijania jest zwiastunem utrudnień
Ten podwójny pasek przewijania jest zwiastunem utrudnień

Problemem jest tu przede wszystkim płynność, co najlepiej widać podczas przewijania. WRP nie robi screena całej strony, a jedynie widzialnego obszaru, czyli "góry". Aby przewinąć stronę, trzeba obecnie kliknąć przycisk nawigacyjny na nagłówku strony lub celować w... pasek przewijania, wklejany w obrazek strony razem z samym dokumentem. Przewinięcie strony wymusza jej przerysowanie, musimy wtedy czekać na nowy obrazek z serwera. Pocieszne? Być może, ale to tak naprawdę jedyna dostępna racjonalnym kosztem metoda, w praktyce zresztą bardzo sprytna. Problem przewijania i skalowania został rozwiązany poprzez możliwość podania długości (w pikselach) do pobrania i sfotografowania "na zapas". Trudno tu tak naprawdę o alternatywę: z definicji nie da się przerzucić na klienta więcej przetwarzania, a dynamiczne zmienianie stylu i porządku stron internetowych jest niemożliwe przy ich dzisiejszej złożoności: jeżeli strona sama nie dostarcza swojej wersji "light" lub "mobile", nie da się jej wyczarować żadnymi potencjalnymi, uniwersalnymi mechanizmami.

Wykluczające szyfrowanie

Ciężkość stron nie jest jedynym problemem dzisiejszego internetu, który da się ominąć z wykorzystaniem WRP. Drugim jest powszechne szyfrowanie TLS, samo w sobie - chwalebne. Z tym, że wprowadzenie uniwersalnego HTTPS wcale nie jest idealnym scenariuszem pozbawionym wad. Bezpieczny, szyfrowany internet nie jest ogólnodostępny: jeżeli ktoś nie może przeglądać sieci w wariancie szyfrowanym, prędko odkryje, że alternatywne kanały po czystym HTTP przestają istnieć. Odczuwalne problemy z szyfrowaniem są rzadkie i przez właściwą dla Pierwszego Świata arogancję uznajemy je dziś za absurdalne. A są nimi np. marne łącze (HTTPS utrudnia cache'owanie treści), słaby sprzęt oraz stare oprogramowanie (nowe szyfry wymagają nowych bibliotek – coś w stylu "kodeków", ale do mechanizmu SSL). WRP nie powstało, by rozwiązać akurat ten problem, ale da się dzięki niemu zobaczyć, że warstwa szyfrująca, rozpięta nad ruchem WWW, nie jest czymś danym za darmo.

WRP jest wieloplatformowy
WRP jest wieloplatformowy

Chwila zabawy z Proxy pozwala też dostrzec, jak strasznie spuchł dzisiejszy internet. Dawny podział na usługi, jak poczta, czat i grupy dyskusyjne zniknął. Dziś wszystko działa jako kompletny mix wszystkiego po trochu, w dodatku na tym samym porcie i po tym samym protokole. Jedyną aplikacją kliencką już lata temu stała się przeglądarka internetowa, a dynamiczny rozwój standardów wymusza jej ciągłą aktualizację. Stanowi to silny kontrast względem klientów pozostałych protokołów, jak poczta i IRC, gdzie bardzo często wystarcza bardzo mały program na bardzo słabym sprzęcie. Widać też, że początkowo strony internetowe miały być czymś zupełnie innym, niż to czym są obecnie. Nasz dzisiejszy los jest konsekwencją wprowadzenia obsługi JavaScriptu. Poza techniką, w ciągu ostatnich lat zmianie uległa jednak także dynamika komunikacji, więc ewolucja oprogramowania niekoniecznie zaszła w jednoznacznie błędnym kierunku.

Bezsprzecznie jednak, Web Rendering Proxy nie aspiruje do podejmowania owych kwestii. To aplikacja zorientowana na dostarczenie namiastki internetu na retro pecetach. Spełnia swoje zadanie znakomicie. O ile oczywiście pamiętamy, że dwudziestoletnie komputery, niezależnie od siły nostalgii, nie mogą stać się pełnoprawnymi substytutami dzisiejszych urządzeń. Są powolne, głośne i niezdrowe. Ale często mają swoją magię i jeżeli tylko da się złagodzić dotkliwość przeglądania sieci i przenoszenia danych – czemu z tego nie skorzystać? Wersja dla Windows jest dostępna, ale po pobraniu wymaga kilku manualnych kroków, by dało się z niej korzystać, np. obecności "google-chrome" w zmiennej środowiskowej PATH, ustawień zapory oraz wyjątku w filtrze SmartScreen.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.