Los siguientes archivos contienen información sensible y NUNCA deben subirse a GitHub:
token.json- Tokens de autenticación de Gmailcredentials.json- Credenciales OAuth de Google Cloud.env- Variables de entorno (si las usas)
notifications.db- Base de datos con tus cupones y correoslogs/*.log- Archivos de log que pueden contener información sensibleassets/logos/*- Logos descargados de tiendas
- Ve a Google Cloud Console
- Crea un nuevo proyecto o selecciona uno existente
- Habilita la Gmail API:
- Ve a "APIs y servicios" → "Biblioteca"
- Busca "Gmail API" y habilítala
- Crea credenciales OAuth 2.0:
- Ve a "APIs y servicios" → "Credenciales"
- Clic en "Crear credenciales" → "ID de cliente de OAuth"
- Tipo de aplicación: "Aplicación de escritorio"
- Descarga el archivo JSON
- Renombra el archivo descargado a
credentials.json - Colócalo en la raíz del proyecto
Al ejecutar la aplicación por primera vez:
- Se abrirá tu navegador para autorizar el acceso a Gmail
- Inicia sesión con tu cuenta de Google
- Acepta los permisos solicitados
- Se generará automáticamente el archivo
token.json
Antes de hacer git push, verifica que no estés subiendo archivos sensibles:
# Ver qué archivos se van a subir
git status
# Verificar que los archivos sensibles NO aparezcan
git ls-files | grep -E "(token\.json|credentials\.json|\.db$)"Si algún archivo sensible aparece, elimínalo del índice:
git rm --cached nombre_del_archivo- El archivo
.gitignoreestá actualizado -
token.jsonNO está en el repositorio -
credentials.jsonNO está en el repositorio -
notifications.dbNO está en el repositorio - Los archivos de log NO están en el repositorio
- Has creado
credentials.json.examplepara guiar a otros usuarios
Si accidentalmente ya subiste archivos sensibles a GitHub:
git rm --cached archivo_sensible
git commit --amend- Revoca inmediatamente las credenciales en Google Cloud Console
- Elimina el archivo del historial:
git filter-branch --force --index-filter \ "git rm --cached --ignore-unmatch archivo_sensible" \ --prune-empty --tag-name-filter cat -- --all - Fuerza el push:
git push origin --force --all
- Genera nuevas credenciales en Google Cloud Console
# Instalar BFG
# Debian/Ubuntu: sudo apt install bfg
# Arch: yay -S bfg
# Limpiar archivos sensibles
bfg --delete-files token.json
bfg --delete-files credentials.json
bfg --delete-files notifications.db
# Limpiar y forzar push
git reflog expire --expire=now --all
git gc --prune=now --aggressive
git push origin --force --all- Nunca hagas commit de archivos
.jsonque contengan credenciales - Siempre verifica el
.gitignoreantes del primer commit - Usa archivos
.examplepara mostrar la estructura sin exponer datos reales - Revoca las credenciales inmediatamente si las expones accidentalmente
- Considera usar variables de entorno para configuraciones sensibles