Første testudgave af webbrowseren FixBrowser

Den første testudgave af webbrowseren FixBrowser er blevet offentliggjort, designet til lavt ressourceforbrug og beskyttelse af privatliv. Browseren udvikles fra bunden og understøtter principielt ikke kørsel af JavaScript, men gør det muligt at arbejde med websider, der er afhængige af JavaScript. Koden er skrevet i C og FixScript og distribueres under ZLIB-licensen. Færdige versioner er lavet til Linux (GTK2) og Windows. Der planlægges at lave versioner til Haiku og macOS 10.6+, samt at skabe versioner for Linux, der bruger GTK3/4.

For at arbejde med websider, der er afhængige af JavaScript, anvendes FixProxy i FixBrowser, som i realtid omdanner disse sider til en form, der kan arbejdes med uden JavaScript. Omdannelsen sker både efter typiske skabeloner og ved hjælp af fix-håndterere, der tager højde for de specifikke egenskaber ved bestemte websteder (der er inkluderet fix-håndterere for mere end 1200 websteder). FixProxy udvikles som en separat proxy-proces, der ikke er bundet til FixBrowser og kan bruges med andre browsere.

Det bemærkes, at der kun kræves mindre ændringer for at vise de fleste websteder uden JavaScript. Derudover anvendes ensartede teknologier på mange websteder til dynamisk generering af indhold, hvilket gør det muligt at anvende standard fix-håndterere til rendering. For eksempel kan der bruges universelle fix-håndterere til websteder baseret på WordPress-motoren og fora på Disqus-platformen. Det er muligt at oprette håndterere til websteder, der dynamisk genererer indhold - for eksempel til at vise en liste over kommentarer, der oprindeligt indlæses dynamisk med JavaScript. Fix-håndtereren indlæser direkte data i JSON-format og danner HTML baseret på dem.

For at håndtere CAPTCHA og JavaScript-komponenter som CloudFlare-kontroller, der er nødvendige for at få adgang til visse websteder, planlægger man at forberede et lag baseret på CEF (Chromium Embedded Framework), der kan køre kun den nødvendige JavaScript-kode selektivt. JavaScript-laget vil blive implementeret som en separat tjeneste (man kan køre det på sit eget system eller bruge en offentlig cloud-tjeneste).

For blocking user activity tracking, downloading resources from third-party hosts is prohibited, and to allow image loading via content delivery networks, whitelists are applied. 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 once created the FixScript programming language. Most of the FixBrowser code is written in FixScript, except for performance-critical operations and the basic framework. The FixScript code is embedded in C code, and a compiler is used for building, provided in a single file containing approximately 27 thousand lines of C code (800 KB). The language resembles C but uses dynamic typing, a garbage collector, and JIT compilation. FixBrowser ensures safe memory and thread operations and has built-in protection against integer overflows.

Implementing the browser engine has been significantly simplified, as FixBrowser only performs the primary rendering and does not support dynamic content updates. Once the page is displayed, it does not change, which means that abstractions like the DOM (Document Object Model) can be omitted. Currently, work is focused on creating an HTML parser that supports HTML5 specifications. The implementation proposed in the first test release covers only 30% of HTML5 tests so far. Basic support for CSS has been implemented.

Første testudgave af webbrowseren FixBrowser


Kilde: opennet.ru
Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster