První testovací vydání webového prohlížeče FixBrowser

Byl zveřejněn první testovací vydání webového prohlížeče FixBrowser, který je navržen pro nízkou spotřebu zdrojů a ochranu soukromí. Prohlížeč se vyvíjí od nuly a principiálně nepodporuje vykonávání JavaScriptu, ale zároveň umožňuje práci se stránkami, které jsou na JavaScriptu založené. Kód je napsaný v jazycích C a FixScript a šíří se pod licencí ZLIB. Hotové verze jsou připraveny pro Linux (GTK2) a Windows. Plánuje se vytvoření verzí pro Haiku a macOS 10.6+ a také pro Linux, který používá GTK3/4.

Pro práci se stránkami, které jsou na JavaScriptu založené, je v FixBrowseru využita vrstva FixProxy, která za běhu převádí takové stránky do podoby, se kterými je možné pracovat bez JavaScriptu. Nahrazení probíhá jak podle typových šablon, tak pomocí fix-zpracovatelů, které zohledňují specifika konkrétních stránek (v balení jsou zahrnuty fix-zpracovatele pro více než 1200 stránek). FixProxy se vyvíjí jako samostatný proxy proces, který není vázán na FixBrowser a je použitelný i s jinými prohlížeči.

Je zaznamenáno, že pro zobrazení většiny stránek bez JavaScriptu jsou potřeba pouze drobné změny. Navíc na mnoha stránkách se používají jednotné technologie pro dynamické generování obsahu, což umožňuje používat typové fix-zpracovatele pro jejich vykreslení. Například je možné využít univerzální fix-zpracovatele pro stránky postavené na WordPressu a fóra na platformě Disqus. Lze také vytvářet zpracovatele pro stránky, které dynamicky vykreslují obsah — například pro zobrazení seznamu komentářů, které jsou původně načítány dynamicky pomocí JavaScriptu, fix-zpracovatel přímo načítá data ve formátu JSON a na jejich základě formuje HTML.

Pro zpracování captcha a JavaScriptových komponentů, jako jsou kontroly CloudFlare, bez kterých není možné přihlášení na některé stránky, se plánuje připravit vrstvu na základě rámce CEF (Chromium Embedded Framework), která bude moci selektivně vykonávat pouze potřebný JavaScript kód. Vrstva pro JavaScript bude implementována jako samostatná služba (lze ji spustit jak na vlastní systému, tak využít veřejně dostupnou cloudovou službu).

Pro blokaci sledování aktivity uživatelů je zakázáno stahování zdrojů z externích hostitelů, zatímco pro povolení stahování obrázků prostřednictvím obsahových dodacích sítí se používají bílé seznamy. Podpora HTTPS je k dispozici. Lze připojit rozšíření napsaná jazykem FixScript.

Projekt vyvíjí Martin Dvořák z Česka, který v minulosti vytvořil programovací jazyk FixScript. Většina kódu FixBrowser je napsána ve FixScriptu, kromě operací kritických pro výkon a základního rámce. Kód ve FixScriptu je vestavěn do kódu v C a pro kompilaci se používá kompilátor dodávaný v jednom souboru, který zahrnuje přibližně 27 tisíc řádků kódu v C (800 KB). Jazyk připomíná C, ale používá dynamickou typizaci, kolektor odpadu a JIT-kompilaci. FixBrowser zajišťuje zabezpečenou práci s pamětí a vlákny a má vestavěnou ochranu proti přetečení celých čísel.

Realizaci prohlížečového enginu se podařilo podstatně zjednodušit, protože FixBrowser provádí pouze primární vykreslení a nepodporuje dynamickou aktualizaci obsahu. Jakmile je stránka zobrazená, již se nemění, takže se lze obejít bez abstrakcí jako DOM (Document Object Model). V současnosti se práce soustředí na vytvoření HTML parseru, který podporuje specifikace HTML5. Navržená implementace v prvním testovacím vydání současnosti pokrývá pouze 30% testů HTML5. Byla implementována základní podpora CSS.

První testovací vydání webového prohlížeče FixBrowser


Zdroj: opennet.ru
Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster