Prvý testovací vydanie webového prehliadača FixBrowser

Bol prvý testovací vydanie webového prehliadača FixBrowser, ktorý je zameraný na nízku spotrebu zdrojov a zabezpečenie súkromia. Prehliadač sa rozvíja od základov a zásadne nepodporuje vykonávanie JavaScriptu, no zároveň umožňuje prácu so stránkami, ktoré sa na ňom zakladajú. Kód je napísaný v jazykoch C a FixScript a je distribuovaný pod licenciou ZLIB. Hotové zostavy sú vytvorené pre Linux (GTK2) a Windows. Plánuje sa vytvorenie zostáv pre Haiku a macOS 10.6+ a tiež formovanie zostáv pre Linux s využitím GTK3/4.

Na spracovanie stránok, ktoré sa zakladajú na JavaScripte, využíva FixBrowser medzičlánok FixProxy, ktorý za behu konvertuje takéto stránky na formu, s ktorou sa dá pracovať bez JavaScriptu. Zmena sa vykonáva podľa typových šablón, ako aj pomocou fix-spracovateľov, ktoré zohľadňujú špecifiku konkrétnych stránok (v balení sú zahrnuté fix-spracovatelia pre viac ako 1200 stránok). FixProxy sa rozvíja ako samostatný proxy proces, nie je pripojený k FixBrowser a je vhodný na použitie s inými prehliadačmi.

Je zaznamenané, že na zobrazenie väčšiny stránok bez JavaScriptu sú potrebné len minimálne úpravy. Okrem toho, na mnohých stránkach sa používajú podobné technológie na dynamické generovanie obsahu, čo umožňuje aplikovať pre ich vykreslenie typové fix-spracovateľov. Napríklad je možné použiť univerzálne fix-spracovateľov pre stránky založené na engine WordPress a fóra na platforme Disqus. Je možné vytvoriť spracovateľov aj pre stránky dynamicky vykresľujúce obsah – napríklad pre zobrazenie zoznamu komentárov, ktoré sú pôvodne načítané dynamicky pomocou JavaScriptu, fix-spracovateľ priamo načíta dáta vo formáte JSON a na ich základe samostatne vytvorí HTML.

Na spracovanie CAPTCHA a komponentov JavaScriptu, ako sú kontroly CloudFlare, bez ktorých nie je možné pristupovať na niektoré stránky, sa plánuje pripraviť medzičlánok na báze rámca CEF (Chromium Embedded Framework), ktorý dokáže selektívne vykonávať len potrebný JavaScriptový kód. Medzičlánok pre JavaScript bude realizovaný ako samostatná služba (môže byť spustená na vlastnom systéme alebo využívať verejný cloudový servis).

Na blokovanie sledovania aktivity používateľa je načítavanie zdrojov z externých hostiteľov zakázané, a pre povolenie načítania obrázkov prostredníctvom sietí na dodávanie obsahu sa používajú zoznamy povolených. Podpora HTTPS je k dispozícii. Je možné pripojiť rozšírenia napísané v jazyku FixScript.

Projekt rozvíja Martin Dvořák z Česka, ktorý kedysi vytvoril programovací jazyk FixScript. Väčšina kódu FixBrowser je napísaná v FixScripte, s výnimkou kritických operácií výkonnosti a základného rámca. Kód v jazyku FixScript je zabudovaný do kódu v C, a na zostavenie sa používa kompilátor dodaný v jednom súbore, ktorý obsahuje približne 27 tisíc riadkov kódu v jazyku C (800 kB). Jazyk pripomína C, ale používa dynamické typovanie, garbage collector a JIT-kompiláciu. FixBrowser zabezpečuje bezpečnú prácu s pamäťou a vláknami a tiež obsahuje vstavanú ochranu pred pretečením celých čísel.

Implementáciu prehliadačového enginu sa podarilo podstatne zjednodušiť, pretože FixBrowser vykonáva len primárne vykreslenie a nepodporuje dynamické aktualizácie obsahu. Po zobrazení stránky sa už viac nemení, a preto je možné obísť také abstrakcie ako DOM (Document Object Model). V súčasnosti sa práca sústreďuje na vytvorenie HTML parséra, ktorý podporuje špecifikácie HTML5. Navrhnutá implementácia v prvom testovacom vydaní pokrýva zatiaľ len 30 % testov HTML5. Bolo implementované základné podporu CSS.

Prvý testovací vydanie webového prehliadača FixBrowser


Zdroj: opennet.ru
Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster