De eerste testversie van de webbrowser FixBrowser

De eerste testversie van de webbrowser FixBrowser is uitgebracht, ontworpen voor een laag verbruik van bronnen en privacybescherming. De browser is vanaf nul ontwikkeld en ondersteunt principieel geen JavaScript-uitvoering, maar maakt het toch mogelijk om te werken met websites die afhankelijk zijn van JavaScript. De code is geschreven in C en FixScript, en wordt verspreid onder de ZLIB-licentie. Klaar-to-go builds zijn gemaakt voor Linux (GTK2) en Windows. Er zijn plannen om builds voor Haiku en macOS 10.6+ te creƫren, evenals builds voor Linux die GTK3/4 gebruiken.

Om met websites die afhankelijk zijn van JavaScript te werken, gebruikt FixBrowser een laag genaamd FixProxy, die deze websites on-the-fly omzet naar een formaat dat kan worden gebruikt zonder JavaScript. De vervangingen worden uitgevoerd op basis van standaard sjablonen, evenals door middel van fix-handlers die rekening houden met de specifieke kenmerken van bepaalde websites (de set bevat fix-handlers voor meer dan 1200 websites). FixProxy ontwikkelt zich als een apart proxy-proces, niet gebonden aan FixBrowser en geschikt voor gebruik met andere browsers.

Het wordt opgemerkt dat voor het weergeven van de meeste websites zonder JavaScript slechts minimale wijzigingen vereist zijn. Bovendien gebruiken veel websites standaardtechnologieĆ«n voor de dynamische generatie van inhoud, wat het mogelijk maakt om standaard fix-handlers te gebruiken voor hun rendering. Bijvoorbeeld, universele fix-handlers kunnen worden gebruikt voor websites die zijn opgebouwd met het WordPress-platform en forums op het Disqus-platform. Het is ook mogelijk om handlers te maken voor websites die dynamisch inhoud renderen — bijvoorbeeld voor het weergeven van een lijst met opmerkingen die oorspronkelijk dynamisch worden geladen met behulp van JavaScript, waarbij de fix-handler de gegevens direct in JSON-formaat laadt en zelf HTML op basis daarvan genereert.

Voor het verwerken van captcha's en JavaScript-componenten, zoals CloudFlare-controles, zonder welke toegang tot bepaalde websites onmogelijk is, is het de bedoeling een laag te ontwikkelen op basis van het CEF (Chromium Embedded Framework), die alleen de noodzakelijke JavaScript-code selectief kan uitvoeren. De laag voor JavaScript zal worden gerealiseerd als een aparte service (het kan worden uitgevoerd op uw eigen systeem, of gebruik maken van een openbare cloudservice).

Om het bijhouden van gebruikersactiviteit te blokkeren, is het laden van bronnen van externe hosts verboden, en voor het toestaan van het laden van afbeeldingen via content delivery netwerken worden whitelist-beleidsregels toegepast. Er is ondersteuning voor HTTPS. Het is mogelijk om extensies te verbinden die zijn geschreven in de programmeertaal FixScript.

Het project wordt ontwikkeld door Martin Dvorak uit Tsjechië, die ooit de programmeertaal FixScript heeft gecreëerd. Het grootste deel van de code van FixBrowser is geschreven in FixScript, met uitzondering van prestatiekritieke operaties en de basisstructuur. FixScript-code wordt geïntegreerd in C-code en voor de compilatie wordt een compiler gebruikt die in één bestand is opgenomen, met ongeveer 27.000 regels C-code (800 KB). De taal lijkt op C, maar maakt gebruik van dynamische typing, garbage collection en JIT-compilatie. FixBrowser zorgt voor veilige omgang met geheugen en threads en heeft ingebouwde bescherming tegen integer-overflows.

De implementatie van de browser-engine is aanzienlijk vereenvoudigd, aangezien FixBrowser alleen de primaire rendering uitvoert en geen dynamische inhoudsupdate ondersteunt. Zodra de pagina is weergegeven, verandert deze niet meer, zodat het zonder abstracties zoals DOM (Document Object Model) kan. Momenteel is het werk gericht op het creëren van een HTML-parser die de HTML5-specificaties ondersteunt. De in de eerste testrelease voorgestelde implementatie dekt momenteel slechts 30% van de HTML5-tests. Basis ondersteuning voor CSS is geïmplementeerd.

De eerste testversie van de webbrowser FixBrowser


Bron: opennet.ru
Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster