JustCode: un navegador de alta velocidad para computadoras y tabletas económicas en Windows



Antecedentes


Tengo una tableta barata miserable en Windows 10 con un gigabyte de RAM y 16 gigabytes de espacio, dentro del cual está instalado Windows 10. Para que Windows 10 pueda descargar e instalar actualizaciones de alguna manera, torcí el tamaño del archivo de paginación a cero y el archivo de paginación. sys dejó de tomar preciosos gigabytes.

Después de eso, me sorprendió descubrir que es imposible usar Chrome, Internet Explorer o incluso el viejo Opera 12 para ver sitios más o menos grandes en esta tableta. Todos intentan mostrar el sitio un par de veces, reiniciarlo nuevamente (parece que no cabe en la RAM real sin un archivo de intercambio) y, después del segundo intento de descarga, muestra un mensaje de error.

¿Por qué, cuando el tamaño del código HTML fuente del sitio es de varios cientos de kilobytes, una computadora con un gigabyte de RAM no puede dibujarlo?

Aparentemente, porque el sitio consta de elementos variados, incluidos scripts de JavaScript (o incluso VB) (que deben ejecutarse después de la carga y en eventos como "movimiento del mouse sobre un elemento", etc.), estilos CSS, marcos con otras páginas , medios (imágenes, música, videos, etc.). Cuando se carga un sitio, el navegador carga el código del sitio principal y luego comienza a cargar archivos relacionados, ejecuta y prepara scripts para la ejecución, carga y muestra imágenes, carga estilos, calcula el estilo final para cada elemento de la página después de aplicar varios estilos, colocando todos los elementos en la página y solo entonces le da al usuario que vea el sitio.

Me gustaría ver el sitio de forma rápida e inmediata (descargar solo su código HTML), y solo los elementos que me interesan:

  • en una página solo quiero ver el texto
  • a otro texto con enlaces
  • en el tercero solo imágenes, pero no todas, pero selectivamente una por una cargándolas manualmente
  • en el cuarto quiero leer además comentarios
  • en el quinto, lea el código del script Java, apagando la visualización de todo lo demás.

Y en algunos casos, no me gustaría cuando navego por sitios:

  • vea ventanas / paneles con publicidad en forma de fotos y animaciones simples para videos sonoros completos,
  • vea las ventanas "suscribirse a nuestro boletín de nuestro sitio",
  • ver las ventanas "activar las notificaciones de nuestro sitio" o, a la antigua, "hacer nuestra página de inicio",
  • ver las ventanas "permitir la geolocalización para saber dónde está, nuestro cliente"
  • ver las ventanas "lo siento, utilizamos cookies en este sitio",
  • transmitir cookies

Como hacerlo ¡Está claro que necesitas escribir otro navegador y usarlo!

Al principio me pareció que todo sería simple. Toma y escribe un analizador de código HTML. Cargamos las etiquetas, las dividimos en pedazos, mostramos el texto fuera de las etiquetas como texto, y si cumple, por ejemplo, un href = " habr.com ", luego lo muestra como un enlace. "¡Delov!" Pensé y me senté en Delphi.

Implementar una selección de elementos para ver


La lista de elementos que se pueden activar para ver o desactivar ha crecido durante el desarrollo del navegador.



Aquí apareció el texto del sitio en sí, y los bordes de las tablas de tabla / capas div, y resaltado en líneas de texto separadas con "acentos" (negrita, cursiva y otras etiquetas de resaltado), enlaces y anclajes de marcadores, medios (imágenes, música, video), archivos relacionados "enlace ...", marcas de comentarios "! - ... -", así como scripts, estilos de estilo, formularios, metadatos con la capacidad de mostrar su código. Para cada tipo de elemento, puede seleccionar el color y la negrita del texto. También puede elegir un tema listo para usar, que incluye un cierto color de los elementos, así como el estilo del texto.

Implementación de configuraciones generales


La parte superior de la ventana del navegador finalmente se cubrió con la configuración y comenzó a parecerse a los paneles con botones de MS Office. Había banderas, listas desplegables y botones para acceder a funciones como Marcadores o Historial.



Allí podría, por ejemplo, elegir el nombre y el tamaño de la fuente que desea ver como en un editor de texto. También fue posible descargar una fuente PCF de trama de terceros (fuente PaintCAD) y dibujar una imagen con esta fuente. En la captura de pantalla, se carga la fuente sc60micro.pcf, copiada manualmente del navegador del teléfono antiguo, alguien probablemente todavía recuerda ese navegador wap de siemens de hace 15 años:



Implementar configuraciones de privacidad


Directamente debajo de la configuración general están las configuraciones de privacidad:



Con la casilla de verificación Referer puede deshabilitar la transferencia de la dirección desde donde llegó a la página web. Indicador de cookies: deshabilita las cookies.

Y utilizando el campo User-Agent, puede elegir quién pretende ser: uno de los navegadores de computadora o móvil, o incluso puede google / bing / yandex / mailru-bot. Si selecciona una de las opciones, el texto de la derecha mostrará el texto del encabezado http enviado al servidor de agente de usuario. En este campo, también puede ingresar manualmente su agente de usuario en lugar de elegir una de las opciones que ofrece el navegador.



Trabajar con archivos descargables: panel de objetos y panel de archivos


Si el navegador encuentra, por ejemplo, un enlace a una imagen, escribe un enlace de la forma "Imagen: dirección". Al hacer clic en él, el enlace se transfiere al panel del objeto.

Dependiendo de si se incluye el ahorro total de tráfico o el ahorro de tráfico en las descargas, la información del archivo se muestra en el campo de información del objeto.



El usuario decide descargar el archivo o no (por ejemplo, si se sienta a través de Internet móvil y siente pena por el tráfico, y el archivo resultó ser grande, entonces no puede descargarlo). Puede descargar el archivo usando el botón de descarga a la derecha del campo de objeto.

Si el guardado está desactivado, el archivo se descargará automáticamente a la carpeta de descarga junto al EXE del navegador y:

  • abrir en el programa por defecto si es un archivo seguro (imagen, música, video),
  • se movió al campo del archivo y se resaltó en la ventana del Explorador que se abre si el archivo es potencialmente peligroso o desconocido para el navegador.

Panel de archivos:



Incluye un campo con el nombre del archivo guardado y los botones:

  • aperturas en el programa por defecto,
  • abrir una carpeta con un archivo con foco en el archivo,
  • Al abrir un archivo en el navegador JustCode,
  • abriendo un archivo en notepad.exe notepad.

Menú principal para pantalla táctil


Al hacer clic en el icono del navegador en la esquina superior izquierda, se abre un menú con iconos de 32x32 píxeles, que duplica muchas funciones de la ventana principal. Este menú tiene elementos que son bastante grandes en altura, lo que hace que sea mucho más fácil presionarlos con el dedo que al apuntar a pequeñas banderas como la codificación UTF-8 o la opción de seleccionar el modo de ahorro de tráfico.



Trabaja con el código fuente del sitio y la automatización.


Si presiona Ctrl + E o selecciona un comando similar en el menú principal, el código fuente completo del sitio se colocará en el área de información del objeto.

Allí, en la línea "Buscar", puede ingresar texto y buscarlo con los botones con una lupa (primera aparición, siguiente aparición, última aparición) en el código fuente.



Se permiten otros botones coloridos debajo del cuadro de búsqueda (muchos botones JustCode tienen información sobre herramientas que describen sus funciones):

  • eliminar todo encima o debajo del texto seleccionado / encontrado,
  • convierte los códigos% xx en caracteres,
  • Convierta códigos JavaScript como \ n en caracteres,
  • inserte guiones antes / después de cada texto encontrado, similar al que se ingresó en la línea "Buscar",
  • eliminar todas las líneas que no contienen texto ingresado en la línea "Buscar"
  • verifique todo lo que queda en el área de línea como enlaces http a archivos,
  • subir el código fuente modificado del sitio a JustCode para verlo,
  • e incluso abra el editor de programas (scripts) (Ctrl + F5), que le permite "presionar" automáticamente los botones descritos en forma de comando.

Editor de programas propios de JustCode




En la ventana de este editor, por ejemplo, se abre una plantilla que lleva el código de la página del video de YouTube a enlaces individuales a video y audio.

Está claro que hay servicios en línea que hacen lo mismo. Pero el editor le permite ejecutar dicho script sin usar servicios de terceros y "mirar youtube" sin iniciar los scripts java de la página de video.

Las secuencias de comandos escritas se pueden guardar en archivos y estos archivos se pueden "enlazar" (asignar) a los botones de inicio rápido para que luego se puedan iniciar desde la ventana principal del navegador con Alt + 1, Alt + 2 ... Alt + 0 sin abrir la ventana del editor de programas.

Trabajar con formularios


Cuando se cumple un formulario en las etiquetas, el navegador muestra el formulario como un enlace "Formulario":



Cuando se presiona, se abre una ventana especial que muestra el contenido del formulario (se muestra el formulario de inicio de sesión para mail.ru):



Si habilita la casilla de verificación "Modo avanzado" en la parte superior, puede ver el código del formulario en sí, y el botón "Enviar" no enviará la página, sino que preparará la URL y (si es necesario) los datos POST para su envío y los mostrará en los campos correspondientes. Y puede corregirlos manualmente, si es necesario, y después de hacer clic en "Enviar e ir", envíe los datos especificados al servidor.



Si hace clic en el botón "Crear un programa para enviar datos", se creará un script que establece la URL actual y hace que se envíen los datos, es decir, emulando la entrada de datos en una página web en un formulario y enviándolo.



Al mismo tiempo, los datos POST también se indican dentro de la URL, pero están separados por un doble signo de interrogación. Es decir solo "?" Es GET, y doble "??" Es una POST.

Se puede obtener un "enlace" similar para enviar los datos ingresados ​​del formulario utilizando el método GET (con un solo "?") O el método POST (con un doble "??") haciendo clic en el botón "Copiar URL y datos POST en el portapapeles como un enlace" en el editor de formularios .

Ver archivos en un navegador


Después de descargar un archivo incomprensible, es posible que necesite ver "lo que hay dentro". Por lo tanto, el navegador tiene tres modos de visualización:

  • como código HTML con análisis y renderizado (F12),
  • como texto en la codificación de Windows / DOS (Shift + F12),
  • como una representación hexadecimal con códigos y texto (Ctrl + F12).

Se seleccionan en el menú o en los atajos de teclado mencionados con Mayús / Ctrl + F12.



Si selecciona el tema MonoDOS / MonoDOS2 o carga una fuente PCF DOS (y activa la casilla de verificación "Codificación DOS" en el menú de fuentes PCF), o selecciona la codificación OEM_CHARSET con cualquier fuente, puede ver archivos de texto antiguos con pseudo-gráficos directamente en el navegador.



Usando Ctrl + F12, puede ver la representación hexadecimal del archivo y, por ejemplo, desde el encabezado para comprender lo que hemos descargado o aprender cómo está organizado dentro, por ejemplo, un archivo exe de un bloc de notas.



Conclusión


Resultó que hacer un navegador no es solo escribir un analizador. Este navegador aún le falta mucho.

Por ejemplo, desempaquetando los datos recibidos del servidor. Por lo tanto, por ejemplo, el sitio games.mail.ru parece un conjunto de bytes aleatorios, porque el sitio no escucha y envía datos empaquetados incluso cuando se le pide que envíe solo datos desempaquetados en encabezados http.



Además, el navegador no sabe cómo enviar archivos en formularios, solo puede formar datos como "application / x-www-form-urlencoded".

Además, con él no irás a sitios con guiones como Instagram. Solo habrá scripts que deberían cargar el contenido.



Pero con él puede leer sitios de noticias y sentarse en foros incluso en una tableta débil y en cualquier Windows (95, 98, 2k, XP, Vista, 7, 8, 10, aunque los sitios HTTPS en Windows antiguo pueden no fallar si algoritmos como SHA2 no son compatibles con el sistema operativo, porque no se conocían en el momento de su desarrollo), cargue imágenes de forma selectiva e inmediatamente mírelas en su visor de imágenes favorito, vea los scripts del sitio web y, a veces, lea comentarios divertidos de sus desarrolladores, monitoree la estructura de los sitios (usted observe de inmediato que se ha agregado algún bloque de publicidad o bandera ishny, si todos los días leyendo el mismo portal de noticias).


(la separación silábica aún no se ha entregado).

Descargar prueba de referencia


Pesa unos 500 kilobytes.
Puede descargar el enlace blackstrip.ru/jc.zip

Source: https://habr.com/ru/post/465709/


All Articles