La CLI Coffrify met l'API REST v1 à portée de terminal. Avec la commande cof, vous créez un transfert chiffré, téléversez les fichiers et récupérez le lien de partage en une seule étape, sans écrire le moindre client HTTP. Cette recette montre comment l'installer, l'authentifier, envoyer un transfert depuis un script, puis brancher sa sortie JSON dans un pipeline automatisé (tâche planifiée, intégration continue). Tous les exemples sont reproductibles tels quels.
Installer la CLI
Le binaire s'appelle cof. Choisissez le canal d'installation selon vos habitudes : Homebrew, le script shell ou npm. Les trois installent exactement la même version. Vérifiez ensuite que cof répond avec cof --version.
S'authentifier
Deux modes coexistent. En usage interactif, lancez cof login : la CLI affiche un code à six chiffres que vous validez dans votre console Coffrify, puis elle conserve la session localement. En usage non interactif (cron, CI, conteneur), passez plutôt une clé API par variable d'environnement, ce qui évite toute étape manuelle.
Pour les scripts, exportez COFFRIFY_API_KEY avec une clé scopée. Créez une clé dédiée à l'automatisation (scope transfers:write suffit pour envoyer), de préférence restreinte, et stockez-la dans le gestionnaire de secrets de votre CI plutôt qu'en clair dans le dépôt. La CLI lit cette variable automatiquement, vous n'avez rien d'autre à configurer.
Envoyer un transfert
La commande cof transfer create prend un ou plusieurs chemins de fichiers. La CLL déclare le transfert auprès de l'API, téléverse chaque fichier, puis renvoie le lien de partage. Les options reprennent les champs de l'API : --to pour le destinataire, --expires pour la durée de vie, et d'autres garde-fous décrits plus bas.
Les options les plus utiles en automatisation se mappent une à une sur le corps de POST /v1/transfers. En voici un aperçu pratique.
| Option | Effet | Champ API |
|---|---|---|
--to | Destinataire notifié par e-mail | recipient |
--expires | Durée de vie (par exemple 7d, 48h) | expires_in_hours |
--max-downloads | Nombre de téléchargements autorisés | max_downloads |
--password | Protège l'accès par mot de passe | password |
--title | Intitulé affiché du transfert | transfer_title |
--watermark | Active le filigrane à la consultation | watermark_enabled |
/v1/transfersEndpoint appelé par cof transfer create. Scope requis : transfers:write.Exploiter la sortie JSON
Toutes les commandes acceptent l'option --json. La sortie devient alors une charge utile structurée, stable et versionnée selon semver, faite pour être analysée par un programme. Combinée à un outil comme jq, elle permet d'extraire le lien de partage ou l'identifiant du transfert pour la suite du pipeline.
Recette : un script de cron
Le script suivant envoie chaque nuit le dernier export d'un dossier, échoue franchement si la clé manque ou si l'envoi rate, et journalise le lien obtenu. Déposez-le dans votre crontab avec la variable COFFRIFY_API_KEY fournie par l'environnement.
Recette : étape de CI
En intégration continue, deux approches sont possibles. La première installe cof puis l'appelle dans un job, la clé étant injectée comme secret de pipeline. La seconde s'appuie sur l'action GitHub officielle, qui enveloppe la CLI et expose les mêmes options sous forme de paramètres déclaratifs.
Vous disposez maintenant d'une chaîne complète : installation, authentification par clé scopée, envoi de transfert et lecture de la sortie JSON dans un cron ou une CI. La même mécanique s'étend aux autres familles de commandes (cof coffre, cof webhook, cof config), qui partagent l'option --json et les mêmes scopes que l'API. Pour les besoins ponctuels, la CLI reste interchangeable avec un appel REST direct : le contrat de POST /v1/transfers est strictement le même.