FixBrowser Web 瀏覽器的首次測試版本

FixBrowser Web 瀏覽器的第一個測試版本已經發布,該瀏覽器專為低資源消耗和隱私而設計。該瀏覽器是從頭開始開發的,從根本上不支援 JavaScript 的執行,但同時它允許您使用基於 JavaScript 的網站。該程式碼是用 C 和 FixScript 語言編寫的,並根據 ZLIB 許可證分發。為 Linux (GTK2) 和 Windows 產生現成的組件。計畫為 Haiku 和 macOS 10.6+ 建立建置版本,以及使用 GTK3/4 為 Linux 建置建置版本。

為了處理基於 JavaScript 的網站,FixBrowser 使用 FixProxy 層,該層可以將此類網站即時轉換為無需 JavaScript 即可使用的簡報。替換是根據標準模板並使用考慮到特定站點具體情況的修復處理程序來執行的(套件中包含適用於超過 1200 個站點的修復處理程序)。 FixProxy是以獨立代理程式的形式開發的,不與FixBrowser綁定,適合與其他瀏覽器一起使用。

請注意,大多數沒有 JavaScript 的網站只需要進行較小的變更即可顯示。此外,許多網站使用相同類型的技術來產生動態內容,這使得可以使用標準修復處理程序進行渲染。例如,您可以對基於 WordPress 引擎的網站和 Disqus 平台上的論壇使用通用修復處理程序。也可以為動態呈現內容的網站建立處理程序 - 例如,要顯示最初使用 JavaScript 動態載入的評論列表,請修復處理程序直接載入 JSON 格式的資料並根據它自行產生 HTML 。

為了處理驗證碼和 JavaScript 元件,例如 CloudFlare 檢查,沒有它們就無法進入某些網站,他們計劃準備一個基於 CEF(Chromium 嵌入式框架)框架的層,該層將能夠有選擇地僅執行必要的 JavaScript程式碼。 JavaScript 層將作為單獨的服務實作(您可以在自己的系統上運行它或使用公有雲服務)。

為了阻止對用戶活動的跟踪,禁止從第三方主機下載資源,並使用白名單來允許透過內容分發網路下載圖像。提供 HTTPS 支援。可以連接用 FixScript 編寫的擴充功能。

該計畫由來自捷克共和國的 Martin Dvorak 開發,他曾經創建了 FixScript 程式語言。除了效能關鍵操作和基本框架之外,大多數 FixBrowser 程式碼都是用 FixScript 編寫的。 FixScript 程式碼嵌入在 C 程式碼中,編譯器用於彙編,在包含大約 27 行 C 程式碼 (800 KB) 的單一檔案中提供。該語言類似於 C,但使用動態類型、垃圾收集和 JIT 編譯。 FixBrowser 提供記憶體和執行緒安全性,並且還具有針對整數溢位的內建保護。

瀏覽器引擎的實作得到了顯著簡化,因為 FixBrowser 只執行初始渲染,不支援動態內容更新。一旦頁面顯示出來,它就不再改變,因此您可以不需要諸如 DOM(文檔物件模型)之類的抽象。目前,工作重點是建立支援 HTML5 規範的 HTML 解析器。迄今為止,第一個測試版本中提出的實作僅涵蓋了 30% 的 HTML5 測試。基本的 CSS 支援已經實現。

 FixBrowser Web 瀏覽器的首次測試版本


來源: opennet.ru

添加評論