Image Docker Ente CLI + oathtool pour gérer vos exports 2FA Ente Auth et générer des codes TOTP.
1.0K
Image Docker pour déchiffrer vos exports Ente Auth et générer des codes TOTP en toute sécurité, sans installation complexe. Fonctionne sur Windows, Mac et Linux.
docker pull eb33692e0225/ente-auth-cli:latest
Cette image Docker embarque :
Elle permet de :
.txt généré par l’application mobile)data/) et placez-y votre export Ente Auth (ente-auth-codes-YYYY-MM-DD.txt)./cli-data :docker run --rm -v "/chemin/vers/votre/data:/cli-data" -it eb33692e0225/ente-auth-cli --help
Dans le conteneur :
ente-cli auth decrypt /cli-data/ente-auth-codes-YYYY-MM-DD.txt /cli-data/secrets.txt
/cli-data/secrets.txt sera généré avec vos secrets TOTP.Après déchiffrement, récupérez la clé secrète dans secrets.txt puis :
oathtool --totp -b "VOTRE_CLÉ_BASE32"
Remplacez "VOTRE_CLÉ_BASE32" par la valeur extraite.
Pour accéder à un shell Bash ou sh dans le conteneur :
docker run --rm -v "/chemin/vers/votre/data:/cli-data" -it --entrypoint /bin/bash eb33692e0225/ente-auth-cli
ou
docker run --rm -v "/chemin/vers/votre/data:/cli-data" -it --entrypoint /bin/sh eb33692e0225/ente-auth-cli
-v.secrets.txt après usage pour éviter toute fuite de secrets.| Erreur rencontrée | Solution rapide |
|---|---|
go: go.mod requires go >= 1.23 | Utiliser une image Go 1.23+ pour le build |
oathtool (no such package) sur Alpine | Utiliser une base Debian/Ubuntu |
repository name must be lowercase | Chemin volume mal formaté : utiliser un chemin absolu |
Please mount a volume to /cli-data/ | Monter le volume sur /cli-data |
Error: unknown command "bash" for "ente" | Utiliser --entrypoint /bin/bash |
mkdir: impossible de créer le répertoire "data": ... | Dossier déjà existant, ignorer |
Si vous souhaitez construire l’image vous-même :
Créez le fichier Dockerfile suivant dans votre dossier de projet :
FROM golang:1.24-bookworm AS builder
WORKDIR /app
RUN apt-get update && apt-get install -y git
RUN git clone https://github.com/ente-io/ente.git .
WORKDIR /app/cli
RUN go build -o ente-cli
FROM debian:bookworm-slim
WORKDIR /cli
COPY --from=builder /app/cli/ente-cli /usr/local/bin/ente-cli
RUN apt-get update && apt-get install -y oathtool jq && rm -rf /var/lib/apt/lists/*
ENTRYPOINT ["/usr/local/bin/ente-cli"]
Construisez l’image :
docker build -t eb33692e0225/ente-auth-cli:latest .
Déchiffrer un export et générer le premier code TOTP en une seule commande :
docker run --rm -v "/chemin/vers/votre/data:/cli-data" eb33692e0225/ente-auth-cli auth decrypt /cli-data/ente-auth-codes-YYYY-MM-DD.txt /cli-data/secrets.txt && \
docker run --rm -v "/chemin/vers/votre/data:/cli-data" eb33692e0225/ente-auth-cli oathtool --totp -b "$(grep -oP 'secret=\K[^&]+' /cli-data/secrets.txt | head -n1)"
Donc, les deux commandes, ou une seule réécrite, parmi les deux, donnent quoi si je veux filtrer 'GitHub' ?
Pour cibler le secret associé à GitHub dans son fichier secrets.txt, il suffit de modifier la commande d’extraction du secret. Voici comment adapter la séquence :
docker run --rm -v "/chemin/vers/votre/data:/cli-data" eb33692e0225/ente-auth-cli auth decrypt /cli-data/ente-auth-codes-YYYY-MM-DD.txt /cli-data/secrets.txt
docker run --rm -v "/chemin/vers/votre/data:/cli-data" eb33692e0225/ente-auth-cli oathtool --totp -b "$(grep -i github /cli-data/secrets.txt | grep -oP 'secret=\K[^&]+')"
grep -i github /cli-data/secrets.txt : sélectionne uniquement la ou les lignes contenant "GitHub" (insensible à la casse).grep -oP 'secret=\K[^&]+' : extrait la valeur du secret sur la ligne filtrée.Si les fichiers sont dans /home/user/ente-data :
docker run --rm -v "/home/user/ente-data:/cli-data" eb33692e0225/ente-auth-cli auth decrypt /cli-data/ente-auth-codes-2025-07-07.txt /cli-data/secrets.txt && \
docker run --rm -v "/home/user/ente-data:/cli-data" eb33692e0225/ente-auth-cli oathtool --totp -b "$(grep -i github /cli-data/secrets.txt | grep -oP 'secret=\K[^&]+')"
On peut utiliser cette adaptation uniquement sur la deuxième commande : la première reste identique, car elle ne fait que déchiffrer.
Si plusieurs comptes GitHub sont présents, la commande retournera tous les secrets correspondants ; on peut ajouter head -n1 à la fin pour ne prendre que le premier :
"$(grep -i github /cli-data/secrets.txt | grep -oP 'secret=\K[^&]+' | head -n1)"
Cette méthode fonctionne pour n’importe quel service : il suffit de remplacer github par le nom du service voulu.
Résumé :
Il suffit d’ajouter un filtrage par nom de service dans la commande d’extraction du secret pour cibler celui de GitHub, sans toucher à la première commande de déchiffrement.
Cette image Docker vous permet de gérer vos exports 2FA Ente Auth et de générer des codes TOTP de façon sécurisée, portable et reproductible, sans dépendances systémiques sur votre machine hôte.
Content type
Image
Digest
sha256:f9fa8ad18…
Size
36.3 MB
Last updated
about 1 year ago
docker pull eb33692e0225/ente-auth-cli