/etc/apt/auth.conf.d/deb.griffo.io.conf y apt las envía por HTTPS en cada descarga. No hay panel de cliente en el que entrar, ni token que rotar, ni fichero de licencia, ni límite de máquinas que usen las mismas credenciales.
🧾 1. Qué pasa cuando pagas
- Completas el pago en Stripe. Los datos de la tarjeta van a Stripe y nunca tocan este servidor.
- Stripe confirma el pago y avisa al repositorio. Ese es el momento en que se crea el acceso — no cuando se cierra la página de pago, así que un pago aún en autorización tarda algo más.
- Se crea tu cuenta y se genera para ella una contraseña, al azar, en el servidor.
- Se envía un correo a la dirección que diste a Stripe con tu usuario, tu contraseña y los comandos de configuración. Es la única vez que esa contraseña viaja.
Si no ha llegado en unos minutos, mira primero en spam y luego pregunta en Discord — es la vía más rápida, y la cuenta se localiza por el correo con el que pagaste.
🔐 2. Qué son las credenciales
| Campo | Valor |
|---|---|
| Usuario | La dirección de correo usada al pagar — nada que elegir ni que recordar |
| Contraseña | 24 caracteres aleatorios, generados en el servidor, nunca elegidos por ti |
| Almacenada como | Un hash bcrypt. El texto plano no se guarda — no se puede consultar después, ni yo ni nadie |
| Caducidad | Ninguna. La contraseña no rota ni expira; el acceso lo decide solo la suscripción que hay detrás |
| Máquinas | Ilimitadas. Sin recuento de puestos, sin activación, sin registro de dispositivos |
Como solo se guarda el hash, una contraseña perdida no se puede recuperar — pero sí se puede emitir una nueva si la pides. Responde al correo de bienvenida o pregunta en Discord y recibirás credenciales nuevas; la contraseña antigua deja de funcionar en el momento en que se emite la nueva. Guarda el correo de bienvenida o, mejor, mete la contraseña en tu gestor de contraseñas.
🖥️ 3. Cómo se autentica apt
Autenticación HTTP Basic sobre HTTPS, sin más — el mecanismo que apt soporta de forma nativa desde hace años, sin plugin, sin binario auxiliar y sin paquete adicional. Las credenciales van en /etc/apt/auth.conf.d/, nunca en la línea de sources.list, donde cualquier usuario de la máquina podría leerlas y apt las filtraría en los mensajes de error:
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo install -m 600 /dev/null /etc/apt/auth.conf.d/deb.griffo.io.conf
sudo tee /etc/apt/auth.conf.d/deb.griffo.io.conf > /dev/null <<'EOF'
machine deb.griffo.io
login your-email@example.com
password your-subscription-password
EOF
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
install -m 600 /dev/null /etc/apt/auth.conf.d/deb.griffo.io.conf
tee /etc/apt/auth.conf.d/deb.griffo.io.conf > /dev/null <<'EOF'
machine deb.griffo.io
login your-email@example.com
password your-subscription-password
EOF
apt updatesudo apt install extrepo
sudo extrepo enable griffo
sudo install -m 600 /dev/null /etc/apt/auth.conf.d/deb.griffo.io.conf
sudo tee /etc/apt/auth.conf.d/deb.griffo.io.conf > /dev/null <<'EOF'
machine deb.griffo.io
login your-email@example.com
password your-subscription-password
EOF
sudo apt update🧩 Sobre la opción extrepo. extrepo es la herramienta propia de Debian para repositorios externos: escribe el archivo de sources e instala la clave de firma por ti, comprobándola antes contra metadatos firmados. Este repositorio está registrado en ella como griffo, y el espejo gratuito para siempre como griffo-free, así que en Debian (bookworm, trixie, forky y sid) los comandos de arriba son toda la configuración.
extrepo solo configura el archivo de sources y la clave: las credenciales de una suscripción siguen yendo en /etc/apt/auth.conf.d/deb.griffo.io.conf. Ubuntu no está cubierto, porque extrepo publica metadatos solo para las suites de Debian: allí usa los comandos con sudo o como root.
Esa es toda la integración. Importan tres detalles, y son justo los tres que se hacen mal: la línea machine lleva solo el host — deb.griffo.io, sin https://, sin barra final y sin la ruta /apt; el nombre del fichero acaba en .conf, porque apt ignora en silencio cualquier otra extensión; y el fichero pertenece a root con modo 600, porque apt se niega a leer credenciales que otros usuarios puedan leer — por eso arriba se crea vacío con modo 600 antes de escribir la contraseña dentro. Si apt devuelve 401, la lista completa de comprobaciones está aquí →
Cada petición se comprueba contra la base de datos en el momento en que se hace: el usuario, el hash de la contraseña y si hay una suscripción activa detrás de esa cuenta. No se cachea nada ni se instala nada en tu máquina, y por eso una renovación, una cancelación o una contraseña nueva surten efecto de inmediato, sin que tengas que hacer nada.
🏗️ 4. Servidores, contenedores y CI
Un único juego de credenciales cubre todas las máquinas que tengas — estación de trabajo, portátiles, servidores, agentes de compilación. Copia el mismo fichero auth.conf.d en cada una, o móntalo como secreto en CI. Lo que no conviene es hornearlo en una imagen de contenedor que acabe en un registro público: es una contraseña en un fichero y viaja con todo lo que la copie. Para imágenes, usa un secreto de compilación o instala el .deb desde su release público de GitHub, que no necesita credenciales.
🔄 5. Suscripción anual — el ciclo completo
| Qué ocurre | Efecto sobre tu acceso |
|---|---|
| Renovación, una vez al año | Silenciosa. Stripe cobra la tarjeta, el periodo se amplía y tus credenciales no cambian — nada que hacer, nada que volver a ejecutar |
| Cancelas | Con el enlace de cancelación de tu correo de bienvenida. El acceso continúa hasta el final del periodo que ya pagaste y entonces termina |
| Falla un pago | El acceso se detiene. Arreglar la tarjeta y pagar lo restaura — pregunta en Discord si te atascas |
| Vuelves a suscribirte más adelante | Se reactivan la misma cuenta y la misma contraseña. No se envía correo nuevo, porque nada ha cambiado |
| Pides un reembolso | El acceso se revoca de inmediato al emitirse el reembolso |
| El acceso termina | Recibes un correo avisando y apt install empieza a devolver 401. Los paquetes ya instalados no se tocan |
♾️ 6. Lifetime — qué cambia
Lifetime es un pago único, no una suscripción. No hay nada que renovar ni que cancelar, ninguna tarjeta guardada que caduque, y los cambios de precio no te alcanzan. Las credenciales funcionan exactamente igual — mismo usuario, mismo fichero auth.conf.d, todo igual. Si ya tenías suscripción anual y cambias, conservas las credenciales que tienes; recibes un correo de confirmación en lugar de una contraseña nueva. Lo único que termina con el acceso lifetime es un reembolso.
🚦 7. Qué no necesita suscripción
| Comando | ¿Necesita credenciales? |
|---|---|
apt update | No — los índices siguen abiertos para todo el mundo |
apt policy / apt-cache | No |
| Navegar por /apt/dists/ | No |
apt install / apt upgrade | Sí |
| Paquetes ya instalados | No — nunca caducan ni comprueban licencia |
| deb-free.griffo.io | No — gratis para siempre, sin cuenta |
Los ficheros .deb en GitHub | No — gratis para siempre |
Así que puedes añadir el repositorio, ejecutar apt update y ver exactamente qué versiones se ofrecen antes de pagar nada. El espejo siempre gratuito, explicado aquí →
🗃️ 8. Qué se guarda sobre ti
Tu dirección de correo, la referencia de cliente de Stripe, el hash bcrypt de tu contraseña y las fechas de tu suscripción. Ese es todo el registro. Los datos de pago los gestiona Stripe y nunca llegan a este servidor. Los únicos correos que se envían son los que el servicio necesita: tus credenciales, una confirmación cuando se activa el acceso lifetime y un aviso cuando el acceso termina. Sin marketing, sin listas. Términos y Condiciones →
❓ ¿Sigues con dudas?
Pregunta antes de pagar — el Discord es la vía más rápida para llegar a mí, y las preguntas sobre cómo funciona todo esto son bienvenidas. Si apoyaste el proyecto en Buy Me a Coffee, dilo allí: tienes una suscripción lifetime gratis.