Aktar CLI

Documentation de la CLI aktar

Chaque commande, option et sortie d'aktar, avec des exemples à copier-coller. Vous découvrez l'outil ? La présentation de la CLI se lit plus vite.

Vue d'ensemble

aktar est une télécommande pour l'app Aktar installée sur le même ordinateur. Vous lui donnez des fichiers, elle les transmet à Aktar sur 127.0.0.1, et Aktar les envoie avec les destinations, les clés, les modèles de chemin et les réglages de lien que vous avez déjà configurés. Le lien revient dans votre terminal.

Ce que c'est

  • Une petite commande Node.js pour vos scripts, les jobs de CI sur votre propre Mac ou PC Windows, et les éditeurs comme Typora
  • Un moyen d'envoyer des fichiers et le presse-papiers, d'afficher des codes QR et de consulter vos destinations et votre historique d'envois
  • Gratuite et open source (MIT), comme l'app

Ce que ce n'est pas

  • Pas un outil autonome : sans Aktar ouvert, elle ne peut rien envoyer. Elle ne détient jamais vos clés de stockage
  • Pas pour les serveurs Linux ni les machines distantes : elle ne communique qu'avec Aktar sur le même ordinateur. Là-bas, utilisez la CLI de votre fournisseur de stockage

Configuration requise

  • Aktar pour Mac 0.4.0 ou ultérieur, ou Aktar pour Windows, avec au moins une destination
  • Node.js 18 ou ultérieur (Homebrew l'installe pour vous)
  • --name, --qr et aktar qr nécessitent aktar 0.2.0 ou ultérieur
  • Réutiliser le lien d'un fichier déjà envoyé nécessite aktar 0.2.0 et Aktar pour Mac 0.10.0 ou Aktar pour Windows 0.3.0

Installation

Installez-la une fois, avec npm ou Homebrew. Les deux ajoutent la commande aktar à votre PATH.

Avec npm (macOS et Windows)

npm install -g @getaktar/cli

Avec Homebrew (macOS)

brew install getaktar/tap/aktar-cli

Ou lancez-la une fois sans rien installer :

npx @getaktar/cli upload file.png

Vérifiez la version installée :

aktar --version
0.2.0

Connexion à Aktar

  1. Dans Aktar pour Mac ou Windows, ouvrez Réglages > Intégrations et activez Autoriser les connexions locales. Aktar écoute alors uniquement sur 127.0.0.1, sur le port 47913 sauf si vous le changez à cet endroit.
  2. Copiez le jeton affiché en dessous.
  3. Lancez aktar login et collez le jeton à l'invite Token:. Il reste masqué pendant la saisie, et il est vérifié auprès d'Aktar avant d'être enregistré : une faute de frappe n'est donc pas conservée.
aktar login
Copy the token from Aktar: Settings > Integrations (turn on Allow local connections first).
Token:
Connected to Aktar 0.10.0. Saved to /Users/you/.config/aktar/cli.json

Où le jeton est conservé

aktar login enregistre le jeton et le port dans ~/.config/aktar/cli.json sur Mac (ou $XDG_CONFIG_HOME/aktar/cli.json si vous l'avez défini) et dans %APPDATA%\aktar\cli.json sous Windows. Seul votre utilisateur peut le lire.

cli.json
{
  "token": "…",
  "port": 47913
}

aktar logout supprime ce fichier. Pour déconnecter tous les clients d'un coup, cliquez sur Regenerate à côté du jeton dans Aktar, puis relancez aktar login avec le nouveau.

Scripts et CI

Sur une machine de build, passez-vous d'aktar login et définissez AKTAR_TOKEN (et AKTAR_PORT si vous avez changé le port). Ces variables l'emportent sur le fichier enregistré. Aktar doit tourner sur cette machine, dans la même session utilisateur.

AKTAR_TOKEN="$AKTAR_SECRET" aktar upload dist/app.zip -d Builds
VariableRôle
AKTAR_TOKENLe jeton affiché dans Réglages > Intégrations d'Aktar. Utilisé à la place du jeton enregistré.
AKTAR_PORTLe port de l'API locale d'Aktar, si vous l'avez changé. --port l'emporte sur lui.
NO_COLORDessine les codes QR avec de simples caractères au lieu des couleurs du terminal.
XDG_CONFIG_HOMEL'emplacement du dossier de configuration sur macOS (par défaut ~/.config). Sous Windows, c'est %APPDATA%.

Commandes

Toutes les commandes passent par Aktar, sauf aktar qr avec du texte ou un lien. Sans -d, les envois vont vers la destination sélectionnée dans la barre des menus d'Aktar, et ils apparaissent dans l'historique d'Aktar comme les autres. aktar --help affiche la même liste.

aktar upload

Envoie un ou plusieurs fichiers et affiche un lien par fichier, dans l'ordre, au fur et à mesure.

Utilisation

aktar upload <file>... [options]

Options

OptionValeurDescription
-d, --destination<name|id>La destination d'envoi, par nom ou par ID. Par défaut : celle sélectionnée dans Aktar.
-f, --format<format>Ce qui est affiché : url (par défaut), markdown, html ou custom (votre modèle dans Aktar).
--name<name>Envoie un seul fichier sous ce nom. Son extension est conservée si le nom n'en a pas.
--folder<path>Garde le nom du fichier et l'envoie dans ce dossier.
--expires<days>Laisse le bucket supprimer le fichier après 1, 7, 14 ou 30 jours. 0 le conserve.
--qrAffiche aussi un code QR pour chaque lien.
--jsonAffiche un tableau JSON avec tous les détails de chaque envoi, au lieu des liens.
--port<port>Le port de l'API locale d'Aktar, pour cette commande uniquement. L'emporte sur AKTAR_PORT et sur le port enregistré.

Bon à savoir

  • Tous les fichiers sont vérifiés avant le moindre envoi : si l'un d'eux n'existe pas, rien n'est envoyé et aktar se termine avec le code 2.
  • Si un envoi échoue, les autres aboutissent quand même. Chaque échec est signalé sur stderr, et le code de sortie est 1.
  • Sans --folder, c'est le modèle de chemin de la destination qui nomme le fichier, comme pour un dépôt sur la barre des menus. Avec --folder, le fichier garde son nom dans ce dossier.
  • --name fonctionne avec un seul fichier à la fois. Les barres obliques sont retirées, et l'extension du fichier est ajoutée si le nom n'en a pas : --name cover envoie IMG_4021.jpg sous le nom cover.jpg. Avec --folder, c'est le nom dans le dossier.
  • --expires accepte 1, 7, 14 ou 30 (jours), ou 0 pour conserver le fichier. Sans cette option, le fichier est conservé, quel que soit le réglage Supprimer après dans Aktar. Elle nécessite les règles de suppression automatique d'Aktar sur cette destination, et ne se combine pas avec --folder.
  • --qr ne se combine pas avec --json, et --png ne fonctionne qu'avec aktar qr.
  • Dans un terminal, la progression s'affiche sur stderr pendant l'envoi. Le fichier est transmis à Aktar en flux continu : sa taille n'a pas d'importance, et il n'y a pas de limite de temps.

Exemples

Un fichier, un lien.
aktar upload screenshot.png
https://files.example.com/2026/10/7f3c2a91.png
Plusieurs fichiers, en Markdown : une ligne par fichier, dans l'ordre.
aktar upload *.png -f markdown
![](https://files.example.com/2026/10/1b9e44d0.png)
![](https://files.example.com/2026/10/c2f71a5e.png)
Envoyer sous un autre nom, dans un dossier.
aktar upload IMG_4021.jpg --name cover --folder blog/2026
https://files.example.com/blog/2026/cover.jpg
Le même fichier était déjà dans le bucket : le lien s'affiche normalement, et la remarque part sur stderr.
aktar upload photo.jpg
aktar: photo.jpg: already uploaded, reused the existing link
https://files.example.com/2026/09/4d2a8c61.jpg

aktar upload --clipboard

Envoie le fichier ou l'image du presse-papiers, comme le raccourci presse-papiers d'Aktar.

Utilisation

aktar upload --clipboard [options]

Options

OptionValeurDescription
--clipboardEnvoie le contenu du presse-papiers au lieu de fichiers.
-d, --destination<name|id>La destination d'envoi, par nom ou par ID. Par défaut : celle sélectionnée dans Aktar.
-f, --format<format>Ce qui est affiché : url (par défaut), markdown, html ou custom (votre modèle dans Aktar).
--expires<days>Laisse le bucket supprimer le fichier après 1, 7, 14 ou 30 jours. 0 le conserve.
--qrAffiche aussi un code QR pour chaque lien.
--jsonAffiche un tableau JSON avec tous les détails de chaque envoi, au lieu des liens.
--port<port>Le port de l'API locale d'Aktar, pour cette commande uniquement. L'emporte sur AKTAR_PORT et sur le port enregistré.

Bon à savoir

  • Passez des fichiers ou --clipboard, pas les deux.
  • --name et --folder ne fonctionnent qu'avec des fichiers. -d, -f, --expires, --qr et --json fonctionnent comme avec des fichiers.
  • Avec --json, la sortie reste un tableau, avec une seule entrée.

Exemples

La capture d'écran que vous venez de copier.
aktar upload --clipboard
https://files.example.com/2026/10/9a4c03be.png
En Markdown, vers une destination nommée Blog.
aktar upload --clipboard -f markdown -d Blog
![](https://blog-assets.example.com/2026/10/e5b2c8a4.png)
Supprimé par le bucket au bout d'un jour.
aktar upload --clipboard --expires 1
https://files.example.com/tmp/1d/2026/10/38f0d7c2.png

aktar qr

Affiche dans le terminal le code QR d'un lien ou de n'importe quel texte, pour l'ouvrir sur un téléphone. Avec l'ID d'un envoi, affiche le lien de cet envoi et son code QR.

Utilisation

aktar qr <link|text|upload-id> [--png <file>]

Options

OptionValeurDescription
--png<file>Enregistre le code QR dans un fichier PNG au lieu de l'afficher.
--port<port>Le port de l'API locale d'Aktar, pour cette commande uniquement. L'emporte sur AKTAR_PORT et sur le port enregistré.

Bon à savoir

  • Passez exactement un argument, et mettez entre guillemets un texte qui contient des espaces.
  • L'ID d'un envoi est le champ id de aktar history --json ou aktar upload --json. aktar le cherche parmi les 1 000 derniers envois de l'historique d'Aktar ; pour du texte ou un lien, Aktar n'est pas nécessaire du tout.
  • Dans un terminal, le code est dessiné en noir sur blanc, quel que soit le thème. Quand la sortie n'est pas un terminal, ou si NO_COLOR est défini, il est dessiné sans couleurs.
  • --png enregistre le code QR en PNG au lieu de l'afficher.

Exemples

Un code QR pour n'importe quel lien. L'appareil photo du téléphone l'ouvre.
aktar qr https://files.example.com/2026/10/demo.mp4
Un envoi de l'historique, enregistré en PNG.
aktar qr 0B6C2F8E-3D1A-4C55-9E2B-7A41D0C3E9F1 --png cover-qr.png
Saved to cover-qr.png

aktar login

Vérifie un jeton auprès d'Aktar et l'enregistre, pour que les autres commandes puissent se connecter.

Utilisation

aktar login [--token <token>] [--port <port>]

Options

OptionValeurDescription
--token<token>Le jeton, au lieu de l'invite.
--port<port>Le port d'Aktar, enregistré avec le jeton. Par défaut 47913.

Bon à savoir

  • Dans un terminal, la commande demande le jeton et masque la saisie. Quand l'entrée vient d'un pipe, elle lit le jeton depuis celui-ci.
  • --token évite l'invite, mais le jeton se retrouve dans l'historique de votre shell. Le passer par un pipe ou par AKTAR_TOKEN évite cela.
  • Un jeton refusé par Aktar n'est pas enregistré, et le code de sortie est 3.

Exemples

Le jeton reste masqué pendant la saisie.
aktar login
Copy the token from Aktar: Settings > Integrations (turn on Allow local connections first).
Token:
Connected to Aktar 0.10.0. Saved to /Users/you/.config/aktar/cli.json
Sur Mac, avec le jeton copié depuis Aktar.
pbpaste | aktar login
Connected to Aktar 0.10.0. Saved to /Users/you/.config/aktar/cli.json
Sans invite, pour un port modifié.
aktar login --token "$AKTAR_SECRET" --port 47920
Connected to Aktar 0.10.0. Saved to /Users/you/.config/aktar/cli.json

aktar logout

Supprime le jeton et le port enregistrés.

Utilisation

aktar logout

Options

Aucune option.

Bon à savoir

  • AKTAR_TOKEN, s'il est défini, fonctionne toujours après aktar logout.
  • Cela ne déconnecte pas les autres clients. Pour cela, régénérez le jeton dans Aktar.

Exemples

Oublier le jeton.
aktar logout
Logged out.
Ensuite, les commandes vous demandent de vous reconnecter (code de sortie 3).
aktar status
aktar: Not connected to Aktar yet. Run aktar login with the token from Aktar's Settings > Integrations.

aktar status

Indique à quel Aktar vous êtes connecté, sur quel port, la destination sélectionnée dans Aktar et l'emplacement du fichier de configuration.

Utilisation

aktar status [--json]

Options

OptionValeurDescription
--jsonAffiche du JSON au lieu de texte.
--port<port>Le port de l'API locale d'Aktar, pour cette commande uniquement. L'emporte sur AKTAR_PORT et sur le port enregistré.

Bon à savoir

  • Un moyen rapide de vérifier la connexion dans un script : la commande se termine avec le code 3 quand Aktar est injoignable ou que le jeton est incorrect.

Exemples

Connecté, avec la destination sélectionnée.
aktar status
Aktar 0.10.0 (build 28) on port 47913
Destination: Screenshots (Cloudflare R2, screenshots)
Config: /Users/you/.config/aktar/cli.json
La même chose en JSON, pour les scripts.
aktar status --json
{
  "app": "Aktar",
  "version": "0.10.0",
  "build": "28",
  "apiVersion": 1,
  "defaultDestinationId": "5D1A9C3E-7B2F-4E61-8A0D-3C9B6F2E1A47",
  "outputFormat": "url",
  "port": 47913
}

aktar destinations

Liste vos destinations avec leur fournisseur, leur bucket et leur ID. * marque celle sélectionnée dans Aktar.

Utilisation

aktar destinations [--json]

Options

OptionValeurDescription
--jsonAffiche du JSON au lieu de texte.
--port<port>Le port de l'API locale d'Aktar, pour cette commande uniquement. L'emporte sur AKTAR_PORT et sur le port enregistré.

Bon à savoir

  • Utilisez un nom ou un ID avec -d. Les noms sont comparés sans tenir compte de la casse ; un ID fonctionne toujours, même après un renommage.
  • --json donne id, name, provider, providerName, bucket, publicBaseURL et isDefault pour chacune.

Exemples

La destination sélectionnée est marquée d'un *.
aktar destinations
* Screenshots  Cloudflare R2  screenshots  5D1A9C3E-7B2F-4E61-8A0D-3C9B6F2E1A47
  Builds  Amazon S3  acme-builds  A83F2C10-6D4B-4F7E-9C1A-2B5E8D0F3C66
  Blog  Backblaze B2  blog-assets  E2C7B9A4-1F3D-4A8E-B6C0-9D5F2A7E4B13
Le nom de la destination sélectionnée, avec jq.
aktar destinations --json | jq -r '.[] | select(.isDefault) | .name'
Screenshots

aktar history

Liste les envois récents, du plus récent au plus ancien : date, nom du fichier et lien. Les mots placés après history lancent une recherche dans l'historique.

Utilisation

aktar history [search] [options]

Options

OptionValeurDescription
-n, --limit<n>Le nombre d'envois à lister. Par défaut 20.
-d, --destination<name|id>Uniquement les envois vers cette destination, par nom ou par ID.
--jsonAffiche du JSON au lieu de texte.
--port<port>Le port de l'API locale d'Aktar, pour cette commande uniquement. L'emporte sur AKTAR_PORT et sur le port enregistré.

Bon à savoir

  • Elle liste 20 envois, sauf si vous passez -n.
  • --json donne les mêmes champs que aktar upload --json, y compris l'id de chaque envoi pour aktar qr.

Exemples

Les trois derniers envois.
aktar history -n 3
2026-10-01  screenshot.png  https://files.example.com/2026/10/7f3c2a91.png
2026-10-01  cover.jpg  https://files.example.com/blog/2026/cover.jpg
2026-09-30  invoice-september.pdf  https://files.example.com/2026/09/0e7d51b3.pdf
Chercher des factures dans une destination.
aktar history invoice -d Screenshots
2026-09-30  invoice-september.pdf  https://files.example.com/2026/09/0e7d51b3.pdf
2026-08-29  invoice-august.pdf  https://files.example.com/2026/08/a6c94f20.pdf
Le lien de la dernière build, avec jq.
aktar history -d Builds -n 1 --json | jq -r '.[0].url'
https://acme-builds.s3.amazonaws.com/2026/10/app-3f9c2e1.zip

Options communes à toutes les commandes

OptionValeurDescription
-h, --helpAffiche la liste des commandes et des options.
-v, --versionAffiche la version d'aktar.
--port<port>Le port de l'API locale d'Aktar, pour cette commande uniquement. L'emporte sur AKTAR_PORT et sur le port enregistré.

Sortie

Formats

-f choisit ce qui est affiché pour chaque envoi. Sans cette option, aktar affiche l'URL simple, quel que soit le format copié par la barre des menus d'Aktar. Markdown et HTML intègrent les images et font un lien vers tout le reste, comme Aktar.

FormatAffiché pour photo.jpg
-f urlhttps://files.example.com/2026/10/7f3c2a91.jpgLe lien (par défaut).
-f markdown![](https://files.example.com/2026/10/7f3c2a91.jpg)Une image Markdown, ou un lien Markdown pour les autres fichiers.
-f html<img src="https://files.example.com/2026/10/7f3c2a91.jpg" alt="">Une balise <img>, ou un lien <a> pour les autres fichiers.
-f custom![photo.jpg](https://files.example.com/2026/10/7f3c2a91.jpg)Votre modèle défini dans les réglages d'Aktar, avec {url}, {filename} et les autres variables remplies.

stdout et stderr

La sortie standard ne reçoit que les liens, un par ligne, dans l'ordre des fichiers (et les codes QR, avec --qr). Tout le reste va sur la sortie d'erreur : progression, erreurs et remarques comme aktar: photo.jpg: already uploaded, reused the existing link. Ainsi, url=$(aktar upload file) et aktar upload *.png > links.txt obtiennent toujours des liens propres.

aktar upload photo.jpg
aktar: photo.jpg: already uploaded, reused the existing link
https://files.example.com/2026/09/4d2a8c61.jpg

JSON

--json affiche un tableau avec une entrée par fichier envoyé, une fois tous les envois terminés. Les envois échoués en sont absents (ils sont signalés sur stderr) : vérifiez donc aussi le code de sortie.

aktar upload photo.jpg --json
[
  {
    "id": "0B6C2F8E-3D1A-4C55-9E2B-7A41D0C3E9F1",
    "filename": "photo.jpg",
    "objectKey": "2026/10/7f3c2a91.jpg",
    "url": "https://files.example.com/2026/10/7f3c2a91.jpg",
    "destinationId": "5D1A9C3E-7B2F-4E61-8A0D-3C9B6F2E1A47",
    "destinationName": "Screenshots",
    "mimeType": "image/jpeg",
    "size": 482113,
    "createdAt": "2026-10-01T12:00:00Z",
    "expiresAt": null,
    "formats": {
      "url": "https://files.example.com/2026/10/7f3c2a91.jpg",
      "markdown": "![](https://files.example.com/2026/10/7f3c2a91.jpg)",
      "html": "<img src=\"https://files.example.com/2026/10/7f3c2a91.jpg\" alt=\"\">",
      "custom": "![photo.jpg](https://files.example.com/2026/10/7f3c2a91.jpg)"
    },
    "reused": false
  }
]
ChampSignification
idL'ID de l'envoi dans l'historique d'Aktar. aktar qr l'accepte.
filenameLe nom sous lequel Aktar connaît le fichier : le sien, ou celui de --name.
objectKeyL'emplacement du fichier dans le bucket.
urlLe lien.
destinationIdL'ID de la destination.
destinationNameLe nom de la destination.
mimeTypeLe type du fichier, après une éventuelle conversion par Aktar.
sizeLa taille en octets, telle que stockée.
createdAtLa date d'envoi (ISO 8601, UTC).
expiresAtLa date à laquelle le bucket le supprime, ou null s'il est conservé.
formatsLe lien dans les quatre formats : url, markdown, html et custom.
reusedtrue quand rien n'a été envoyé parce que le même fichier s'y trouvait déjà. Absent avec les versions d'Aktar antérieures à Mac 0.10.0 et Windows 0.3.0.

Codes de sortie

CodeSignification
0Tout a fonctionné.
1Au moins un envoi ou une requête a échoué ; les autres ont abouti. Les erreurs propres à Aktar, comme une suppression automatique non configurée, aboutissent aussi ici.
2Arguments incorrects, fichier inexistant ou nom de destination inconnu d'Aktar. Rien n'a été envoyé.
3Pas connecté, Aktar n'est pas ouvert, son API locale est désactivée, ou le jeton est incorrect.

Recettes

Copiez, adaptez les noms de fichiers, c'est prêt. Chaque recette n'utilise que ce qui est documenté plus haut.

Garder le lien dans une variable

Seul le lien arrive sur la sortie standard : la substitution de commande récupère donc exactement l'URL. || exit 1 arrête le script si l'envoi a échoué.

url=$(aktar upload build/report.pdf) || exit 1
echo "Report: $url"
Report: https://files.example.com/2026/10/0e7d51b3.pdf

Envoyer une build et publier le lien

Compressez une build, envoyez-la vers une destination nommée Builds sous le hash court du commit, et publiez le lien sur n'importe quel webhook qui accepte du JSON (un canal de discussion, un outil de suivi de tickets, votre propre endpoint). set -e arrête le script avant la publication si l'envoi échoue.

#!/bin/sh
set -e
zip -qr app.zip dist
url=$(aktar upload app.zip -d Builds --name "app-$(git rev-parse --short HEAD)")
curl -fsS -X POST "$WEBHOOK_URL" \
  -H 'Content-Type: application/json' \
  -d "{\"text\": \"New build: $url\"}"

Une cible Makefile

make share envoie le rapport sous la date du jour et garde le lien dans .last-link. Dans un Makefile, $$ transmet un $ au shell, et la ligne de commande commence par une tabulation.

Makefile
share: dist/report.pdf
	aktar upload dist/report.pdf --name "report-$$(date +%F)" | tee .last-link

Outil d'envoi d'images pour Typora

Dans Typora, ouvrez Settings > Image, choisissez Custom Command comme outil d'envoi d'images et saisissez le chemin complet d'aktar (celui qu'affiche which aktar) suivi de upload. Typora transmet les chemins des images et lit un lien par ligne.

/opt/homebrew/bin/aktar upload

Pas à pas, avec le réglage When Insert… : Envoyer les images Typora sur S3.

Envoyer depuis le Finder ou Raccourcis

Sur Mac, ajoutez une action Run Shell Script à un raccourci, ou à une Action rapide Automator qui reçoit des fichiers dans le Finder, et réglez-la pour transmettre l'entrée as arguments. Raccourcis et Automator ne chargent pas le PATH de votre shell, d'où la première ligne. Sélectionnez des fichiers, lancez l'action, et les liens sont dans le presse-papiers.

export PATH="/opt/homebrew/bin:/usr/local/bin:$PATH"
aktar upload "$@" | pbcopy
osascript -e 'display notification "Link copied" with title "aktar"'

Elle envoie des fichiers, pas des dossiers. Plusieurs fichiers donnent plusieurs liens, un par ligne.

Fichiers temporaires

Pour un log, un enregistrement d'écran ou tout ce qui n'a pas vocation à rester, laissez le bucket le supprimer. La destination doit d'abord avoir les règles de suppression automatique d'Aktar : configurez-les une fois depuis Supprimer après dans la barre des menus d'Aktar ou dans les réglages de la destination.

aktar upload crash.log --expires 1
aktar upload screen-recording.mov --expires 7 --qr

Les fichiers temporaires vont sous tmp/1d/, tmp/7d/ et ainsi de suite dans le bucket, et le bucket les supprime même quand Aktar n'est pas ouvert.

Ouvrir un lien sur votre téléphone

--qr affiche un code QR sous le lien ; pointez l'appareil photo de votre téléphone vers le terminal. Pour le réafficher plus tard, passez l'ID d'un envoi à aktar qr, ici le dernier envoi correspondant à « demo ».

aktar upload demo.mp4 --qr
aktar qr "$(aktar history demo -n 1 --json | jq -r '.[0].id')"

Windows PowerShell

La même chose fonctionne dans PowerShell. $LASTEXITCODE contient le code de sortie, et ConvertFrom-Json lit --json.

PowerShell
$url = aktar upload .\dist\app.zip -d Builds
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
Set-Clipboard $url

$upload = aktar upload .\report.pdf --json | Out-String | ConvertFrom-Json
$upload.formats.markdown

Ce qu'Aktar fait pour vous

La CLI ne fait que transmettre les fichiers ; Aktar fait le reste, avec les réglages de chaque destination. Tout ce que vous configurez dans l'app s'applique donc aussi à aktar upload, sans option supplémentaire, et le lien obtenu est celui du fichier tel qu'il est stocké.

  • Modèles de chemin

    Le chemin d'objet de la destination nomme le fichier, avec {year}, {uuid}, {filename} et les autres variables. {md5} et {sha256} nomment les fichiers d'après leur contenu.

  • Traitement des images

    Si la destination convertit les images en WebP ou AVIF, les compresse ou les redimensionne, les envois de la CLI ont droit au même traitement, et le lien pointe vers le fichier converti.

  • Métadonnées des photos

    Métadonnées des images, dans les réglages d'envoi par défaut de la destination, retire la position des photos, ou toutes leurs métadonnées, avant qu'elles ne quittent votre ordinateur.

  • Même fichier, même lien

    Avec Réutiliser les liens des fichiers en double activé, un contenu identique dans la même destination reçoit le lien existant au lieu d'être envoyé une deuxième fois. aktar le signale sur stderr.

  • Gros fichiers

    Les gros fichiers sont envoyés en plusieurs parties, sans limite de 5 Go, sont relancés après une coupure de connexion et reprennent là où ils s'étaient arrêtés. aktar transmet le fichier à Aktar en flux continu, sans jamais le charger en mémoire.

  • Liens publics ou temporaires

    Que le lien soit public ou temporaire (présigné), ce qui fonctionne aussi avec un bucket privé, dépend de la destination, comme dans l'app.

Les liens des fichiers en double, le traitement des images, {md5} et {sha256} et les envois en plusieurs parties sont arrivés avec Aktar pour Mac 0.10.0 et Windows 0.3.0 : les nouveautés de la 0.10.0.

Dépannage

Les messages d'erreur d'aktar commencent par aktar: et vont sur stderr. Le code de sortie indique le type de problème.

Aktar isn't running, or its local API is turned off

Ouvrez Aktar et vérifiez que Autoriser les connexions locales est activé dans Réglages > Intégrations. Si vous y avez changé le port, passez-le avec --port ou AKTAR_PORT, ou relancez aktar login --port. Code de sortie 3.

Not connected to Aktar yet

Il n'y a ni jeton enregistré ni AKTAR_TOKEN. Lancez aktar login avec le jeton affiché dans Réglages > Intégrations d'Aktar. Code de sortie 3.

The token doesn't match Aktar's anymore

Le jeton a été régénéré dans Aktar, ou il contient une faute de frappe. Relancez aktar login avec le jeton actuel. Si AKTAR_TOKEN est défini, il l'emporte sur le jeton enregistré : mettez-le à jour ou supprimez-le aussi. Code de sortie 3.

Auto-delete isn't set up for this destination

--expires nécessite les règles de suppression automatique du bucket. Configurez-les une fois depuis Supprimer après dans la barre des menus d'Aktar ou dans les réglages de la destination, ou envoyez sans --expires. Code de sortie 1.

No destination named "…"

Le message liste les noms connus d'Aktar. Vérifiez l'orthographe, mettez entre guillemets les noms qui contiennent des espaces (-d "Client work"), ou utilisez l'ID affiché par aktar destinations. Code de sortie 2.

Un gros envoi prend beaucoup de temps

C'est la vitesse du fournisseur de stockage : aktar n'a pas de limite de temps pour les envois et affiche la progression sur stderr dans un terminal. Laissez Aktar ouvert jusqu'à la fin. Si la connexion tombe ou qu'Aktar se ferme (Aktar closed the connection before the request finished), envoyez à nouveau le même fichier : Aktar pour Mac 0.10.0 et Windows 0.3.0 reprennent à partir de la dernière partie.

aktar ne démarre pas : SyntaxError ou parseArgs

Votre Node.js est antérieur à la version 18. Vérifiez avec node --version et mettez-le à jour, ou installez aktar avec Homebrew, qui fournit son propre Node.js.

PowerShell indique que l'exécution de scripts est désactivée

La stratégie d'exécution de PowerShell bloque le script installé par npm pour aktar. Lancez plutôt aktar.cmd, ou autorisez une fois les scripts locaux avec Set-ExecutionPolicy -Scope CurrentUser RemoteSigned.