Kernel Images: una solución de código abierto para navegadores ligeros protegidos contra virus

Introducción general

Kernel Images es un proyecto de código abierto alojado en GitHub que proporciona un entorno Chrome ligero y aislado. Se basa en la tecnología Docker y Unikraft para construir instancias aisladas del navegador , soporte para marcos de automatización como Playwright y Puppeteer , adecuado para pruebas web , rastreo de datos y desarrollo de agentes de IA. El proyecto es mantenido por el equipo de onkernel bajo la licencia Apache 2.0, con código abierto y contribuciones de la comunidad. Los usuarios pueden desplegar el entorno de navegación mediante una sencilla configuración, disfrutando de las ventajas de un bajo consumo de recursos y un arranque rápido. Los funcionarios también proporcionan servicios de alojamiento, los usuarios pueden unirse a la lista de espera para obtener más características.

Kernel Images:轻量级沙盒化浏览器的开源解决方案

 

Lista de funciones

  • Proporciona un navegador Chrome preconfigurado compatible con el protocolo Chrome DevTools.
  • Compatible con Playwright y Puppeteer para facilitar la integración de scripts de automatización.
  • Proporciona una interfaz GUI remota a través de noVNC para permitir la supervisión y el control visuales.
  • integrado (como en circuito integrado) Antrópico (utilizado como expresión nominal) Ordenador Utilice un agente que admita acciones de texto y voz.
  • La implementación de unikernel, basada en Unikraft, soporta hibernación automatizada e instantáneas con estado.
  • Admite la implantación de contenedores Docker y es compatible con Linux, macOS y Windows.
  • Arranque en frío de latencia ultrabaja (menos de 20 ms) para escenarios de alto rendimiento.
  • Configuración de puerto abierto para facilitar la conexión y depuración de herramientas externas.

 

Utilizar la ayuda

Proceso de instalación

Kernel Images es compatible con los métodos de despliegue Docker y Unikraft. A continuación se detallan los pasos para Linux y macOS (los usuarios de Windows deben instalar Docker Desktop).

1. Instalar Docker

Asegúrese de que Docker está instalado en su sistema. Ejecute el siguiente comando para comprobarlo:

docker --version

Si no está instalado, consulte la guía oficial:

  • Ubuntu/Debian:
    sudo apt update
    sudo apt install -y docker.io
    sudo usermod -aG docker $USER
    
  • macOS: Descargue Docker Desktop desde el sitio web oficial de Docker.
  • Windows: Instale Docker Desktop y active WSL 2.

2. Clonación de almacenes de proyectos

Clona el repositorio de Kernel Images usando Git:

git clone https://github.com/onkernel/kernel-images.git
cd kernel-images

3. Cree la imagen Docker

En el directorio raíz del proyecto, construye la imagen Docker:

docker build -t kernel-images -f containers/docker/Dockerfile .

Compruebe que la imagen se ha creado correctamente:

docker images | grep kernel-images

4. Ejecute el contenedor Docker

Inicie una instancia aislada de Chrome:

docker run -d -p 9222:9222 -p 6080:6080 --name kernel-browser kernel-images
  • -p 9222:9222Mapa de puertos Chrome DevTools para conexiones automatizadas.
  • -p 6080:6080Asigna un puerto noVNC para acceso GUI remoto.
  • --name kernel-browser: Contenedores con nombre para facilitar la gestión.

5. (Opcional) Despliegue de Unikraft

Unikraft proporciona un despliegue de unikernel más ligero para escenarios de alto rendimiento. Instale la cadena de herramientas Unikraft:

  • consulta unikernels/unikraft-cu/README.mdA continuación figura una lista de las dependencias que deben instalarse (p. ej. kraftkit).
  • Construye la imagen unikernel:
    cd unikernels/unikraft-cu
    make
    
  • Ejecute la instancia:
    kraft run
    

Funciones principales

1. Marco de automatización de la conectividad

El entorno Chrome de Kernel Images soporta tanto Playwright como Puppeteer; a continuación se muestra un ejemplo de Playwright:

  • Instalar dramaturgo:
    npm install playwright
    
  • Creación de guiones test.js::
    const { chromium } = require('playwright');
    (async () => {
    const browser = await chromium.connectOverCDP('http://localhost:9222');
    const page = await browser.newPage();
    await page.goto('https://example.com');
    console.log(await page.title());
    await browser.close();
    })();
    
  • Ejecuta el script:
    node test.js
    

2. Supervisión remota GUI

Kernel Images proporciona una interfaz GUI remota a través de noVNC. Después de iniciar el contenedor, acceda al http://localhost:6080(Asegúrese de que el puerto 6080 Se puede acceder a la interfaz noVNC para supervisar el estado del navegador, depurar scripts o comprobar solicitudes de red en tiempo real (mapeado). La interfaz es compatible tanto con el ratón como con el teclado y es adecuada para el control remoto.

3. Hibernación automática e instantáneas

En el modo Unikernel, el navegador hiberna automáticamente cuando no hay actividad en la red, con un consumo de recursos muy bajo (casi nulo). Durante la hibernación, el sistema genera una instantánea del estado del navegador (incluidas las cookies, la posición de la página, el zoom de la ventana, etc.). El estado se restaura:

kraft resume

La función de instantáneas es adecuada para tareas de larga duración, como el rastreo o las pruebas, ya que garantiza que las tareas puedan continuar sin problemas tras una interrupción.

4. Integración del agente antrópico

Kernel Images se integra con el agente de Uso del Ordenador de Anthropic para permitir el manejo del navegador mediante comandos de texto o de voz. Procedimiento:

  • Regístrese en Anthropic para obtener una clave API.
  • Configuración de variables de entorno:
    export ANTHROPIC_API_KEY=your-api-key
    
  • Ejecute el script del agente (ubicado en la carpeta agent-loop.py):
    python agent-loop.py
    
  • Introduce instrucciones en la pantalla de chat, como "Abre example.com y haz una captura de pantalla" o "Rellena el formulario".

5. Arranque en frío de latencia ultrabaja

El modo Unikernel tiene un tiempo de arranque en frío inferior a 20 milisegundos, lo que resulta ideal para escenarios que requieren un tiempo de respuesta rápido (por ejemplo, tareas de automatización basadas en eventos), mientras que el modo Docker arranca un poco más despacio pero sigue superando a las máquinas virtuales tradicionales.

advertencia

  • Asegúrese de que el puerto 9222 responder cantando 6080 Desocupado.
  • Actualice regularmente los espejos para obtener las últimas funciones:
    docker pull kernel-images:latest
    
  • La implementación de Unikraft requiere familiaridad con el entorno Linux, por lo que se recomienda consultar la documentación oficial.
  • Requisitos del sistema: al menos 2 GB de RAM, 10 GB de espacio en disco.

 

escenario de aplicación

  1. Pruebas de automatización web
    Los desarrolladores utilizan Kernel Images para ejecutar scripts de Playwright con el fin de simular acciones de usuario y probar la funcionalidad del sitio web. El entorno aislado garantiza el aislamiento de las pruebas y es adecuado para la integración CI/CD.
  2. Rastreo de datos
    Los analistas de datos despliegan Kernel Images para acceder por lotes a páginas web y extraer datos estructurados. Las funciones de hibernación e instantáneas soportan tareas largas y reducen los costes del servidor.
  3. Desarrollo de agentes de IA
    Los desarrolladores de IA utilizan agentes antrópicos para crear inteligencias que admitan el control por voz o texto de tareas complejas como el rellenado automático de formularios o la búsqueda de contenidos.
  4. Depuración y colaboración a distancia
    Los equipos supervisan los navegadores de forma remota a través de la interfaz noVNC, ideal para la colaboración entre ubicaciones o el desarrollo basado en la nube, y ven la renderización de páginas y la ejecución de scripts en tiempo real.

 

CONTROL DE CALIDAD

  1. ¿Con qué sistemas operativos es compatible Kernel Images?
    El modo Docker es compatible con Linux, macOS y Windows (requiere Docker Desktop). El modo unikraft es compatible principalmente con Linux.
  2. ¿Cómo mantengo seguro mi entorno sandbox?
    Las instancias del navegador se ejecutan en un contenedor Docker aislado o unikernel, completamente separado del sistema anfitrión, lo que reduce los riesgos de seguridad.
  3. ¿Es necesaria la función de Agente Antrópico?
    No, la cuenta de Anthropic no es necesaria para la funcionalidad del Navegador Básico. La funcionalidad Proxy requiere una clave API.
  4. ¿Cuál es la latencia de arranque en frío?
    El modo Unikernel arranca en frío en menos de 20 milisegundos, el modo Docker es un poco más lento pero sigue siendo eficiente.
  5. ¿Cómo puedo participar en el desarrollo de un proyecto?
    consulta CONTRIBUTING.mdSi no está seguro de lo que quiere hacer, envíe una solicitud de extracción o plantee una cuestión en GitHub.
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...