Pierwsza wersja testowa przeglądarki internetowej FixBrowser

Opublikowano pierwszą wersję testową przeglądarki internetowej FixBrowser, zaprojektowanej z myślą o niskim zużyciu zasobów i ochronie prywatności. Przeglądarka rozwija się od podstaw i zasadniczo nie wspiera wykonywania JavaScriptu, jednak umożliwia korzystanie z witryn opartych na JavaScript. Kod napisano w językach C i FixScript, a jego dystrybucja odbywa się na licencji ZLIB. Gotowe wersje są dostępne dla systemów Linux (GTK2) oraz Windows. Planowane jest stworzenie wersji dla Haiku i macOS 10.6+, a także dla systemów Linux z GTK3/4.

Aby obsługiwać witryny oparte na JavaScript, w FixBrowser wykorzystano warstwę FixProxy, która dynamicznie przekształca takie witryny na format, z którym można pracować bez JavaScriptu. Zamiana ta odbywa się zarówno według standardowych szablonów, jak i za pomocą fix-procesorów, które uwzględniają specyfikę poszczególnych witryn (w zestawie znajdują się fix-procesory dla ponad 1200 witryn). FixProxy rozwija się w formie osobnego procesu proxy, niezwiązanego z FixBrowser, co pozwala na jego użycie w innych przeglądarkach.

Zauważono, że do wyświetlenia większości witryn bez JavaScriptu wymagane są jedynie niewielkie zmiany. Ponadto wiele witryn korzysta z podobnych technologii dynamicznego generowania treści, co umożliwia zastosowanie standardowych fix-procesorów do ich renderowania. Na przykład, można użyć uniwersalnych fix-procesorów dla witryn opartych na silniku WordPress oraz forów na platformie Disqus. Możliwie jest również utworzenie procesorów dla witryn dynamicznie generujących treści — na przykład, do wyświetlania listy komentarzy, które są początkowo ładowane dynamicznie za pomocą JavaScriptu; fix-procesor bezpośrednio ładuje dane w formacie JSON i samodzielnie generuje HTML na ich podstawie.

W celu obsługi CAPTCHA oraz komponentów JavaScript, takich jak kontrole CloudFlare, bez których logowanie do niektórych witryn jest niemożliwe, planowana jest przygotowanie warstwy opartej na frameworku CEF (Chromium Embedded Framework), która będzie mogła selektywnie wykonywać tylko niezbędny kod JavaScript. Warstwa JavaScript będzie realizowana w postaci osobnej usługi (można ją uruchomić na własnym systemie lub skorzystać z ogólnodostępnej usługi w chmurze).

Aby zablokować śledzenie aktywności użytkownika, ładowanie zasobów z zewnętrznych hostów jest zabronione, a dozwolone jest ładowanie obrazów przez sieci dostarczania treści tylko z białych list. Obsługuje HTTPS. Możliwe jest podłączenie rozszerzeń napisanych w języku FixScript.

Projekt rozwija Martin Dvoržák z Czech, który kiedyś stworzył język programowania FixScript. Większość kodu FixBrowser jest napisana w języku FixScript, z wyjątkiem krytycznych dla wydajności operacji i podstawowej ramy. Kod w FixScript jest włączany do kodu w C, a do kompilacji używany jest kompilator dostarczany w jednym pliku, który zawiera około 27 tysięcy linii kodu w języku C (800 KB). Język przypomina C, ale używa dynamicznego typowania, zbierania śmieci oraz kompilacji JIT. FixBrowser zapewnia bezpieczną obsługę pamięci i wątków, a także wbudowaną ochronę przed przepełnieniami całkowitymi.

Realizację silnika przeglądarki udało się znacznie uprościć, ponieważ FixBrowser wykonuje tylko pierwotne renderowanie i nie obsługuje dynamicznej aktualizacji treści. Po wyświetleniu strony nie ulega ona dalszym zmianom, co pozwala na ominięcie takich abstrakcji jak DOM (Document Object Model). Obecnie prace koncentrują się na stworzeniu parsera HTML, który obsługuje specyfikacje HTML5. Proponowana w pierwszej wersji testowej realizacja obejmuje na razie tylko 30% testów HTML5. Zaimplementowano podstawowe wsparcie dla CSS.

Pierwsza wersja testowa przeglądarki internetowej FixBrowser


Źródło: opennet.ru
Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster