Nstbrowser es un navegador centrado en la protección de la privacidad y la gestión de huellas digitales, lo que lo hace adecuado para desarrolladores o escenarios empresariales que requieren entornos de huellas digitales personalizados.
El propósito de este tutorial es ayudar a los desarrolladores a comenzar rápidamente con la instalación y el uso del Agente Nstbrowser. Cubre todo el proceso, desde la instalación del script hasta el funcionamiento del navegador a través de Puppeteer. Al seguir este artículo, podrá:
Para asegurar que el servicio se ejecute sin problemas, asegúrese de que su servidor cumpla con los siguientes requisitos antes de comenzar la configuración:
Nstbrowser GitHub proporciona un práctico script de instalación. Puede descargarlo y ejecutarlo directamente usando el siguiente comando:
wget -qO- https://raw.githubusercontent.com/Nstbrowser/nstbrowser-agent-setup/refs/heads/main/scripts/agent_install.sh | sudo bash
Nota: De forma predeterminada, el script de instalación descargará e instalará las fuentes y los núcleos necesarios. Si no necesita estos componentes, puede omitirlos usando las siguientes opciones:
--no-kernel--no-fontsPor ejemplo, si solo desea instalar Nstbrowser-agent sin fuentes ni núcleos, ejecute el siguiente comando:
wget -qO- https://raw.githubusercontent.com/Nstbrowser/nstbrowser-agent-setup/refs/heads/main/scripts/agent_install.sh | sudo bash -s --no-kernel --no-fonts
Desglose del proceso de instalación
El script de instalación completará automáticamente las siguientes tareas:
Una vez completada la instalación, verá el mensaje: "¡Instalación del agente correcta!"

Después de la instalación, ejecute el siguiente comando para iniciar Nstbrowser-agent:
sudo ./agent --referer=client

De forma predeterminada, Nstbrowser-agent utiliza el puerto 8848 para proporcionar servicios. Una vez iniciado, puede acceder a su servidor de rastreo visitando http://<SU_IP_SERVIDOR>:8848.
Después de instalar e iniciar Nstbrowser-agent, puede comenzar a usarlo para el desarrollo de rastreadores. Dado que Nstbrowser admite herramientas de automatización principales como Puppeteer y Playwright, puede integrarlo fácilmente en su framework de rastreo existente.
Por ejemplo, si está utilizando Puppeteer, puede conectarse a Nstbrowser-agent con el siguiente código:
import puppeteer from 'puppeteer-core';
async function execPuppeteer(browserWSEndpoint) {
try {
const browser = await puppeteer.connect({
browserWSEndpoint: browserWSEndpoint,
});
const page = await browser.newPage();
await page.goto('https://www.google.com');
await page.screenshot({ fullPage: true, path: "google.png" })
await browser.close()
} catch (err) {
console.error(err);
}
}
async function createAndConnectToBrowser() {
const host = 'SU_IP_SERVIDOR:8848';
const apiKey = 'SU_API_KEY';
const config = {
headless: true, // Debe ser true
name: 'NstProfile',
platform: 'linux',
kernel: 'chromium',
kernelMilestone: '132',
once: true,
};
const query = new URLSearchParams({
'x-api-key': apiKey, // requerido
config: encodeURIComponent(JSON.stringify((config))),
});
const browserWSEndpoint = `ws://${host}/devtool/launch?${query.toString()}`;
await execPuppeteer(browserWSEndpoint)
}
createAndConnectToBrowser().then();

Nota: Dado que Nstbrowser-agent normalmente se ejecuta en un entorno de servidor sin cabeza sin una pantalla gráfica virtual, el navegador solo se puede iniciar en modo sin cabeza.
Nstbrowser-agent proporciona un potente soporte de API, que permite a los usuarios crear y gestionar programáticamente las configuraciones del navegador. Estas configuraciones se pueden utilizar para pruebas automatizadas, desarrollo de rastreadores u otros escenarios que requieren instancias de navegador.
A continuación, mostramos un ejemplo específico de uso de la API: Createfile
import axios from 'axios';
async function createProfile() {
const host = 'SU_IP_SERVIDOR:8848';
const apiUrl = `http://${host}/api/agent/profile`;
const apiKey = 'SU_API_KEY';
const profileData = {
name: 'NstProfile',
platform: 'linux',
kernel: 'chromium',
kernelMilestone: '132',
proxy: 'http://usuario:contraseña@ip_proxy:puerto_proxy',
startupUrls: ['https://www.google.com'], // La URL que se carga al inicio
args: {
"--headless": true // parámetro de inicio de chrome
}
};
try {
const response = await axios.post(apiUrl, profileData, {
headers: {
'x-api-key': apiKey,
'Content-Type': 'application/json',
},
});
console.log('Perfil creado correctamente:', response.data);
} catch (error) {
console.error('Error al crear el perfil:', error);
}
}
createProfile();
Después de ejecutarlo correctamente, obtendrá el siguiente resultado:
Perfil creado correctamente: {
data: {
profileId: 'SU_PROFILEID',
fingerprintId: 'SU_FINGERPRINTID',
groupId: 'SU_GRUPO_ID',
teamId: 'SU_EQUIPO_ID',
userId: 'SU_USUARIO_ID',
name: 'NstProfile',
kernel: 0,
kernelVersion: '',
kernelMilestone: '132',
uaFullVersion: '132.0.6834.83',
platform: 2,
platformVersion: '6.3.3',
saveLocal: false,
status: 1,
note: '',
tags: null,
_id: 'SU_ID',
createdAt: '2025-01-01T00:00:00.000Z',
updatedAt: '2025-01-01T00:00:00.000Z'
},
err: false,
msg: 'success',
code: 200
}
A continuación se muestran los enlaces de recursos oficiales para Nstbrowser. Los desarrolladores pueden explorar más según sea necesario: