# Acceso externo al Cursor Bridge

## Puertos

| URL | Uso |
|-----|-----|
| `http://127.0.0.1:8095` | Directo (bridge Node) |
| `http://127.0.0.1:8096` | Vía **Apache/XAMPP** (proxy) — recomendado LAN |
| `http://100.x.x.x:8096` | **Tailscale** (sustituye IP) |
| `http://100.x.x.x:8095` | Tailscale directo al bridge |

Instalación proxy Apache (una vez):

```powershell
cd C:\xampp\htdocs\cursor-mobile-bridge\tools
.\install-xampp-bridge-proxy.ps1
```

**Firewall (iPhone no abre pero PC sí):** ejecutar **como Administrador**:

```powershell
cd C:\xampp\htdocs\cursor-mobile-bridge\tools
.\install-bridge-firewall.ps1
```

Sin reglas de firewall, Windows bloquea 8095/8096 desde Tailscale aunque el PC responda en local.

Reinicia **Apache** en XAMPP Control Panel.

Token: el mismo `BRIDGE_TOKEN` de `.env` — en el iPhone usa la URL Tailscale `:8096` o `:8095`.

## Launcher visual de apps (Tailscale)

Pantalla tipo «escritorio móvil» con iconos de todas las aplicaciones:

| URL | Uso |
|-----|-----|
| `http://127.0.0.1:8095/apps` | Launcher local |
| `http://100.x.x.x:8095/apps` | **Desde iPhone (Tailscale)** — añadir a pantalla de inicio |

Incluye: ALimpiezas (FacturaScripts), IA :8090, Royal Broker :8086, CaptaJaus :3000, xzonas, Bridge, System Manager, Grafana.

Para **añadir o quitar apps**, edita `config/equipitello-apps.json` y reinicia el bridge (o espera 60 s en la página).

Cada app con bandeja systray tiene el campo `"tray"` — las URLs Tailscale se generan solas.

## Si el bridge no responde

Síntoma: el puerto **8095** está ocupado pero `/health` no responde (proceso zombie tras reinicio).

```powershell
cd C:\xampp\htdocs\cursor-mobile-bridge
.\cursor-bridge-manager.ps1 -Restart
```

**Prevención (instalado jun 2026):**

- `-Start` ya no asume «ya activo» solo por el puerto: comprueba `/health` y mata zombies.
- Tarea **CursorBridgeWatchdog**: cada 5 min comprueba `/health` y reinicia si falla.
- Tarea **CursorBridgeAtLogon**: usa `-Restart` ~25 s tras login.
- Log de diagnóstico: `data/bridge-startup.log`
- System Manager ya no lanza PowerShell al arranque (lee `data/system-manager-config.json` directo).

Reinstalar tareas tras actualizar:

```powershell
cd C:\xampp\htdocs\cursor-mobile-bridge\tools
.\install-bridge-autostart.ps1
```
