The first testing release of the FixBrowser web browser.

The first test release of the FixBrowser web browser, designed for low resource consumption and privacy, has been published. The browser is built from the ground up and does not support JavaScript execution but allows interaction with websites that rely on JavaScript. The code is written in C and FixScript, and it is distributed under the ZLIB license. Ready builds are available for Linux (GTK2) and Windows. Builds for Haiku and macOS 10.6+, as well as Linux builds using GTK3/4, are planned.

To work with JavaScript-based websites, FixBrowser utilizes the FixProxy layer, which dynamically transforms such sites into a format that can be interacted with without JavaScript. Transformation is done using standard templates and fix-handlers that take into account the specifics of individual sites (the package includes fix-handlers for over 1200 websites). FixProxy operates as a separate proxy process, independent of FixBrowser and suitable for use with other browsers.

It is noted that only minor modifications are required to display most websites without JavaScript. Additionally, many websites use similar technologies for dynamic content generation, allowing for the application of standard fix-handlers for rendering them. For example, universal fix-handlers can be used for websites based on the WordPress engine and forums on the Disqus platform. It is also possible to create handlers for sites dynamically rendering content — for instance, to display a list of comments that are initially loaded dynamically using JavaScript, the fix-handler directly loads data in JSON format and generates HTML based on it.

To handle CAPTCHAs and JavaScript components, such as CloudFlare checks, without which access to some websites is impossible, there are plans to prepare a layer based on the CEF (Chromium Embedded Framework), which will selectively execute only the necessary JavaScript code. The JavaScript layer will be implemented as a separate service (it can be run on your own system or use a public cloud service).

To block user activity tracking, loading resources from third-party hosts is prohibited, while whitelists are used to allow image loading via content delivery networks. HTTPS support is available. Extensions written in FixScript can be connected.

The project is developed by Martin Dvorak from the Czech Republic, who created the FixScript programming language. Most of the FixBrowser code is written in FixScript, with the exception of performance-critical operations and the core framework. The FixScript code is embedded in C code, and a compiler is provided 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 threading operations and includes built-in protection against integer overflows.

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

The first testing release of the FixBrowser web browser.


Source: opennet.ru
Buy reliable website hosting with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster