Den første testversjonen av webleseren FixBrowser, designet for lav ressursbruk og personvern, er nå publisert. Nettleseren utvikles fra bunnen av og støtter ikke JavaScript, men tillater samtidig bruk av nettsteder som er avhengige av JavaScript. Koden er skrevet i C og FixScript, og distribueres under ZLIB-lisens. Ferdige pakkene er laget for Linux (GTK2) og Windows. Det er planlagt å lage versjoner for Haiku og macOS 10.6+, samt å utvikle bygg for Linux som bruker GTK3/4.
For å håndtere nettsteder avhengige av JavaScript bruker FixBrowser et mellomlag kalt FixProxy, som på farten konverterer slike nettsteder til en visning som kan brukes uten JavaScript. Konverteringen skjer både via standardmaler og ved hjelp av fix-behandlere som tar hensyn til spesifikasjonene til de enkelte nettstedene (det følger med fix-behandlere for mer enn 1200 nettsteder). FixProxy utvikles som en separat proxy-prosess, uavhengig av FixBrowser og kan brukes med andre nettlesere.
Det er bemerket at for å vise de fleste nettsteder uten JavaScript kreves det bare minimale endringer. I tillegg bruker mange nettsteder lignende teknologier for dynamisk generering av innhold, noe som gjør det mulig å bruke standard fix-behandlere for deres rendering. For eksempel kan man bruke universelle fix-behandlere for nettsteder basert på WordPress-motoren og fora på Disqus-plattformen. Det er også mulig å lage behandlere for nettsteder som dynamisk renderer innhold — for eksempel, for å vise en liste over kommentarer som først lastes inn dynamisk med JavaScript, vil fix-behandleren laste data direkte i JSON-format og selv generere HTML basert på dem.
For behandling av captcha og JavaScript-komponenter, som CloudFlare-verifikasjoner, som er nødvendige for å få tilgang til visse nettsteder, planlegges det å utvikle et mellomlag basert på CEF (Chromium Embedded Framework), som kan utføre kun nødvendig JavaScript-kode selektivt. JavaScript-mellomlaget vil bli implementert som en egen tjeneste (kan kjøres på eget system eller bruke en offentlig tilgjengelig sky-tjeneste).
For blocking user activity tracking, resource loading from third-party hosts is prohibited, while whitelists are applied for allowing image loading through content delivery networks. HTTPS support is available. It is possible to connect extensions written in FixScript.
The project is developed by Martin Dvorak from the Czech Republic, who at one time created the FixScript programming language. Most of the FixBrowser code is written in FixScript, except for performance-critical operations and the basic framework. FixScript code is embedded into C code, and a compiler is used for building, delivered in a single file containing approximately 27,000 lines of C code (800 KB). The language resembles C but uses dynamic typing, garbage collection, and JIT compilation. FixBrowser ensures safe memory and thread operation and includes built-in protection against integer overflows.
The implementation of the browser engine has been significantly simplified, as FixBrowser performs only the primary rendering and does not support dynamic content updates. Once the page is displayed, it no longer changes; thus, abstractions like the DOM (Document Object Model) are unnecessary. Currently, the focus is on creating an HTML parser that supports HTML5 specifications. The implementation proposed in the first test release only covers about 30% of HTML5 tests. Basic CSS support has been implemented.

Kilde: opennet.ru
