Skip to content

04 Quick Start

glitchboi edited this page Oct 30, 2026 · 3 revisions

Quick Start

Esta guía te ayudará a capturar tu primera petición HTTP en menos de 5 minutos.

1. Iniciar BlackWire

cd Blackwire
make run

make run instala dependencias, arranca el backend y lanza la ventana de la app nativa de escritorio. Ya no compila ningún frontend ni abre http://localhost:5000 en el navegador: la interfaz es una aplicación de escritorio nativa (PySide6/Qt).

Alternativas:

make serve     # backend en primer plano (Ctrl-C para parar), sin app
make start     # backend en segundo plano, sin app
python desktop/run.py   # lanza la app de escritorio (tras 'make start')

Si es la primera vez, ejecuta antes make install (crea el venv, instala dependencias y genera el certificado mitmproxy).

2. Crear un Proyecto

  1. En la pestaña Projects de la app de escritorio, click "Create New Project"
  2. Ingresa un nombre (ej. "my-first-project")
  3. Click "Create"

Los proyectos organizan tu trabajo - cada uno tiene su propia base de datos SQLite.

3. Iniciar el Proxy

  1. Click el botón "▶ Start" en el control de proxy de la barra de estado (abajo)
  2. Confirma que el puerto es 8080 (default)
  3. El proxy está ahora escuchando en localhost:8080 (puedes pararlo con "■ Stop" en el mismo control)

4. Configurar tu Navegador

Este navegador es la fuente de tráfico objetivo que quieres interceptar: es algo distinto de la interfaz de BlackWire (que ya es una app de escritorio nativa, no una pestaña del navegador). Necesitas apuntar ese navegador al proxy de BlackWire. La forma más rápida es el atajo integrado; si prefieres usar tu propio navegador, configúralo manualmente.

Opción A: Launch Browser (Recomendado)

BlackWire puede abrir un navegador con un perfil dedicado ya configurado para usar el proxy (incluye los flags para ignorar errores de certificado en Chromium):

  • Desde la app de escritorio: usa el botón "Launch Browser", o
  • Vía API: POST /api/browser/launch (parámetro opcional proxy_port, por defecto 8080).

Detecta automáticamente Chromium, Chrome, Brave o Firefox y arranca con un perfil aislado. Es la opción más rápida para empezar a capturar sin tocar la configuración de tu navegador habitual.

Opción B: Perfil Temporal de Firefox

# Crear perfil temporal
firefox -P temp-profile --no-remote

# En Firefox Preferences:
# Network Settings → Manual Proxy Configuration
# HTTP Proxy: localhost
# Port: 8080
# Marca: "Also use this proxy for HTTPS"

Opción C: FoxyProxy

  1. Instala la extensión FoxyProxy
  2. Crea un proxy con:
    • Hostname: localhost
    • Port: 8080
    • Type: HTTP
  3. Activa el proxy

Opción D: Configurar Proxy del Sistema

GNOME:

gsettings set org.gnome.system.proxy mode 'manual'
gsettings set org.gnome.system.proxy.http host 'localhost'
gsettings set org.gnome.system.proxy.http port 8080

Para ver tráfico HTTPS necesitas el certificado CA instalado en el navegador. La Opción A ya ignora los errores de certificado en navegadores Chromium; para las demás, sigue Certificados SSL.

5. Navegar y Capturar Tráfico

  1. En tu navegador configurado, visita: http://example.com
  2. En la app de escritorio, ve a la pantalla Proxy → sub-tab HTTP history
  3. Verás todas las peticiones capturadas en tiempo real

Cada request muestra:

  • Método HTTP (GET, POST, etc.)
  • Host y path
  • Status code
  • Tamaño de response
  • Timestamp

6. Inspeccionar un Request

  1. Click en cualquier request de la lista
  2. El panel derecho muestra:
    • Request tab: Headers y Body enviados
    • Response tab: Headers y Body recibidos
  3. Click "Pretty Print" para formatear JSON/XML/HTML

7. Enviar al Repeater

  1. Click derecho en un request → "Send to Repeater"
  2. Ve a la pestaña Repeater (barra superior)
  3. Modifica el request (headers, body, URL)
  4. Click "Send" para reenviar
  5. Inspecciona la response

8. Habilitar Intercept (Opcional)

Para pausar y modificar requests en tiempo real:

  1. En la pantalla Proxy, abre el sub-tab Intercept
  2. Activa "Intercept Requests"
  3. Navega en tu navegador
  4. Cada request se pausará en BlackWire
  5. Modifica lo que necesites
  6. Click "Forward" para enviar o "Drop" para descartar

9. Usar HTTPQL para Filtrar

En el campo de búsqueda de HTTP history (pantalla Proxy), prueba:

# Solo requests GET
req.method eq GET

# Solo responses exitosas
resp.code eq 200

# Filtrar por host
req.host cont example.com

# Combinar filtros
req.method eq POST AND resp.code gte 400

10. Parar el Server

Cuando termines:

make stop

make stop detiene el backend. El proxy en sí se detiene desde el control de proxy de la barra de estado con el botón "■ Stop".

Clone this wiki locally