Primer lanzamiento de prueba del navegador web FixBrowser

Se ha publicado la primera versión de prueba del navegador web FixBrowser, diseñado para bajo consumo de recursos y para garantizar la privacidad. El navegador se desarrolla desde cero y no admite la ejecución de JavaScript, aunque permite interactuar con sitios que dependen de JavaScript. El código está escrito en C y FixScript, y se distribuye bajo la licencia ZLIB. Las versiones listas se han creado para Linux (GTK2) y Windows. Se planea crear versiones para Haiku y macOS 10.6+, así como también versiones para Linux que utilicen GTK3/4.

Para trabajar con sitios que dependen de JavaScript, FixBrowser utiliza una capa llamada FixProxy, que transforma en tiempo real dichos sitios en un formato que se puede utilizar sin JavaScript. La transformación se realiza tanto mediante plantillas estándar como a través de fix-manejadores que consideran la especificidad de sitios concretos (se incluyen fix-manejadores para más de 1200 sitios). FixProxy se desarrolla como un proceso proxy independiente, que no está vinculado a FixBrowser y es apto para ser utilizado con otros navegadores.

Se observa que para mostrar la mayoría de los sitios sin JavaScript solo se requieren cambios menores. Además, muchos sitios utilizan tecnologías similares para la generación dinámica de contenido, lo que permite aplicar fix-manejadores estándar para su renderizado. Por ejemplo, se pueden usar fix-manejadores universales para sitios basados en el motor WordPress y foros en la plataforma Disqus. También es posible crear manejadores para sitios que renderizan contenido dinámicamente: por ejemplo, para mostrar una lista de comentarios que originalmente se cargan dinámicamente mediante JavaScript, el fix-manejador carga directamente los datos en formato JSON y genera HTML basado en ellos.

Para el manejo de CAPTCHA y componentes JavaScript, como las verificaciones de CloudFlare, sin los cuales no es posible acceder a ciertos sitios, se planea desarrollar una capa basada en el marco CEF (Chromium Embedded Framework), que podrá ejecutar selectivamente solo el código JavaScript necesario. La capa para JavaScript se implementará como un servicio independiente (que se puede ejecutar en su propio sistema o utilizar un servicio en la nube accesible).

Para bloquear el seguimiento de la actividad del usuario, se prohíbe la carga de recursos desde hosts externos, y se aplican listas blancas para permitir la carga de imágenes a través de redes de entrega de contenido. Se ofrece soporte para HTTPS. Es posible conectar extensiones escritas en el lenguaje FixScript.

El proyecto es desarrollado por Martin Dvorak de Chequia, quien en su momento creó el lenguaje de programación FixScript. La mayor parte del código de FixBrowser está escrita en FixScript, excepto las operaciones críticas para el rendimiento y la estructura básica. El código en FixScript se integra en el código en C, y se utiliza un compilador que se entrega en un solo archivo que incluye aproximadamente 27,000 líneas de código en C (800 KB). El lenguaje se asemeja a C, pero utiliza tipado dinámico, recolección de basura y compilación JIT. FixBrowser asegura un manejo seguro de la memoria y de los hilos, y cuenta con protección incorporada contra desbordamiento de enteros.

La implementación del motor de navegador se ha simplificado considerablemente, ya que FixBrowser solo realiza el renderizado primario y no soporta la actualización dinámica del contenido. Una vez que la página se muestra, ya no cambia, lo que permite prescindir de abstracciones como el DOM (Modelo de Objetos del Documento). Actualmente, el trabajo se centra en crear un parser HTML que soporte las especificaciones de HTML5. La implementación propuesta en la primera versión de prueba abarca solo el 30% de las pruebas de HTML5. Se ha implementado soporte básico para CSS.

Primer lanzamiento de prueba del navegador web FixBrowser


Fuente: opennet.ru
Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster