Si estás en busca de un navegador que respete la privacidad de tus datos o que adecuado para trabajar con recursos limitados, FixBrowser es una solución para ello. Este navegador web desarrollado desde cero, fue creado con un enfoque en la privacidad y el bajo consumo de recursos. Una de sus características más llamativas es que no permite la ejecución de JavaScript, aunque ofrece compatibilidad con sitios que dependen de ello mediante un mecanismo alternativo.
Para abordar los sitios que requieren JavaScript, FixBrowser emplea una solución llamada FixProxy. Este componente actúa como una capa de conversión que transforma sitios basados en JavaScript en versiones funcionales que no dependen de esta tecnología.
La conversión se realiza utilizando plantillas estándar o controladores específicos diseñados para sitios concretos. De hecho, FixProxy incluye soporte para más de 1200 sitios mediante estos controladores. Es importante destacar que FixProxy opera como un proceso proxy independiente, lo que lo hace utilizable no solo con FixBrowser, sino también con otros navegadores que deseen beneficiarse de esta funcionalidad.
Aunque muchos sitios funcionan sin necesidad de JavaScript, algunos requieren ajustes menores. FixProxy aprovecha las tecnologías comunes empleadas por numerosos sitios para generar contenido dinámico, facilitando el uso de controladores universales. Por ejemplo, sitios creados con el motor de WordPress o foros basados en Disqus pueden ser gestionados eficientemente mediante controladores estándar.
En casos más específicos, como aquellos donde el contenido dinámico, como listas de comentarios, se carga mediante JavaScript, FixProxy extrae directamente los datos en formato JSON y genera el HTML necesario para presentarlos, logrando así una experiencia fluida sin comprometer la funcionalidad del sitio.
Una de las decisiones clave en el diseño de FixBrowser es la simplificación del motor de renderizado. A diferencia de los navegadores convencionales, este navegador realiza únicamente una representación inicial de las páginas web y no admite la actualización dinámica de contenido.
La primera imagen se renderiza normalmente en Firefox
la segunda es procesada por FixProxy y renderizada por Firefox
Una vez cargada, la página permanece estática, eliminando la necesidad de utilizar el modelo DOM. Actualmente, el equipo está trabajando en un analizador HTML que cumpla con las especificaciones de HTML5, aunque la implementación de la primera versión cubre solo un 30% de las pruebas de compatibilidad. También se ha incluido soporte básico para CSS.
resultado en FixBrowser
El desarrollo de FixBrowser incluye planes para abordar componentes complejos como captchas y verificaciones JavaScript, tales como las utilizadas por servicios como CloudFlare. Para ello, se está preparando una capa adicional basada en el marco CEF (Chromium Embedded Framework), diseñada para ejecutar únicamente el código JavaScript estrictamente necesario. Esta capa de JavaScript se implementará como un servicio independiente, lo que permitirá a los usuarios optar por ejecutarlo localmente en su propio sistema o a través de un servicio en la nube pública.
En cuanto a la privacidad, FixBrowser adopta un enfoque restrictivo para evitar el seguimiento del usuario. Se prohíbe la descarga de recursos desde servidores de terceros, salvo que estén explícitamente permitidos mediante listas blancas, lo cual es útil para imágenes servidas a través de redes de distribución de contenido (CDN). El navegador también ofrece soporte para HTTPS y la posibilidad de extender su funcionalidad mediante extensiones desarrolladas en FixScript.
El proyecto está liderado por Martin Dvorak, un desarrollador checo conocido por crear el lenguaje de programación FixScript. Este lenguaje es central en el desarrollo de FixBrowser, ya que la mayor parte del código está escrito en él, con excepción de las operaciones críticas de rendimiento y el marco básico, que están en C.
FixScript, un lenguaje similar a C, incorpora características como escritura dinámica, recolección de basura y compilación JIT, además de incluir protección contra desbordamientos de enteros y garantizar la seguridad en el manejo de memoria y subprocesos. Su compilador genera un ensamblaje contenido en un único archivo de aproximadamente 27,000 líneas de código C, con un tamaño cercano a los 800 KB.
Finalmente para los que estén interesados, deben saber que el código del navegador está implementado en C y FixScript, y se distribuye bajo la licencia ZLIB.
Fuente: https://www.fixbrowser.org
Continúar leyendo...