gioser

sergio/takana

> Una distribución Linux construida con un laboratorio funcional y hermético en el > sótano, y una terminal mutable, clásica y anárquica en el piso de arriba — diseñada > desde el suelo para que una IA programadora entienda, modifique y co…

TOML 815Rust 56Shell 37Markdown 291229 Definiciones

⎇ 02513b861f6fbb462045ba411c6bec0a2cae7e93 recipes/atuq/bin/puriy-costura-host 28 líneas · 1.8 KB Historia crudo

atuq: `sct` v1 — el navegador avisa cuando un sitio ya estable ejecuta código que nadie vio nunca 02513b861 · Sergio ·

1#!/bin/sh
2# El lanzador del host nativo. Existe por UNA razón medida, no por gusto:
3#
4# ── EL MANIFIESTO DE NATIVE MESSAGING NO PUEDE LLEVAR ARGUMENTOS ──────────────────────────────
5# Comprobado dentro de nuestro propio artefacto (`omni.ja`, `modules/NativeMessaging.sys.mjs`):
6#
7#     let command = hostInfo.manifest.path;
8#     ...
9#     arguments: [hostInfo.path, context.extension.id],
10#
11# O sea que Gecko ejecuta EXACTAMENTE el `path` del manifiesto y los únicos argumentos que le pasa
12# son la ruta del manifiesto y el id de la extensión. No hay campo para los nuestros.
13#
14# Y `puriy-costura` sin `--state` corre TODO EN MEMORIA: cada arranque del navegador volvería a la
15# fase «aprendiendo» y ningún cambio de script sería nunca un evento. O sea que sin este lanzador la
16# función existe, no falla, y no protege de nada — la peor de las tres.
17#
18# ── POR QUÉ LA RUTA LA DECIDE LA DISTRO Y NO EL CRATE ─────────────────────────────────────────
19# Dónde vive el estado de un usuario es layout del sistema de ficheros, que es asunto de takana;
20# `puriy-costura` no tiene por qué tener una opinión sobre el FHS de nadie. Se respeta
21# `XDG_STATE_HOME` porque es el estándar para estado que no es caché ni configuración.
22set -e
23DIR="${XDG_STATE_HOME:-$HOME/.local/state}/puriy-costura"
24mkdir -p "$DIR" 2>/dev/null || true
25# `exec` y no una llamada: el navegador le habla al proceso por stdin/stdout, así que el host TIENE
26# que heredar esos descriptores y ser el proceso que Gecko vigila. Con un `sh` de por medio, cerrar
27# el puerto mataría al shell y dejaría al host huérfano hablando a una tubería rota.
28exec /usr/bin/puriy-costura --state "$DIR"