Überblick
aktar ist eine Fernbedienung für die Aktar-App auf demselben Computer. Du gibst ihm Dateien, es reicht sie an Aktar auf 127.0.0.1 weiter, und Aktar lädt sie mit den Zielen, Schlüsseln, Pfadvorlagen und Link-Einstellungen hoch, die du schon eingerichtet hast. Der Link kommt in dein Terminal zurück.
Was es ist
- Ein kleiner Node.js-Befehl für Skripte, CI-Jobs auf deinem eigenen Mac oder Windows-Rechner und Editoren wie Typora
- Ein Weg, Dateien und die Zwischenablage hochzuladen, QR-Codes anzuzeigen und deine Ziele und deinen Upload-Verlauf abzurufen
- Kostenlos und Open Source (MIT), wie die App
Was es nicht ist
- Nicht eigenständig: Ohne laufendes Aktar kann es nichts hochladen. Es hat nie deine Speicher-Schlüssel
- Nicht für Linux-Server oder entfernte Rechner: Es spricht nur mit Aktar auf demselben Computer. Dort nutzt du die CLI deines Speicheranbieters
Voraussetzungen
- Aktar für Mac 0.4.0 oder neuer oder Aktar für Windows, mit mindestens einem Ziel
- Node.js 18 oder neuer (Homebrew installiert es für dich)
-
--name,--qrundaktar qrbrauchen aktar 0.2.0 oder neuer - Den Link einer schon hochgeladenen Datei wiederzuverwenden braucht aktar 0.2.0 und Aktar für Mac 0.10.0 oder Aktar für Windows 0.3.0
Installation
Einmal installieren, mit npm oder Homebrew. Beide legen den Befehl aktar in deinen Pfad.
Mit npm (macOS und Windows)
npm install -g @getaktar/cliMit Homebrew (macOS)
brew install getaktar/tap/aktar-cliOder einmal ausführen, ohne etwas zu installieren:
npx @getaktar/cli upload file.pngPrüfen, welche Version du hast:
aktar --version
0.2.0Mit Aktar verbinden
- Öffne in Aktar für Mac oder Windows Einstellungen → Integrationen und aktiviere Lokale Verbindungen erlauben. Aktar lauscht dann nur auf
127.0.0.1, auf Port 47913, sofern du ihn dort nicht änderst. - Kopiere das Token, das darunter angezeigt wird.
- Führe
aktar loginaus und füge das Token bei der AbfrageToken:ein. Es bleibt beim Tippen verborgen und wird vor dem Speichern bei Aktar geprüft, ein Tippfehler wird also nicht gespeichert.
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.jsonWo das Token liegt
aktar login speichert Token und Port auf dem Mac in ~/.config/aktar/cli.json (oder in $XDG_CONFIG_HOME/aktar/cli.json, wenn du das gesetzt hast) und unter Windows in %APPDATA%\aktar\cli.json. Nur dein Benutzer kann die Datei lesen.
{
"token": "…",
"port": 47913
}aktar logout löscht diese Datei. Um alle Clients auf einmal auszusperren, klickst du in Aktar neben dem Token auf Regenerate und führst danach aktar login mit dem neuen Token erneut aus.
Skripte und CI
Auf einem Build-Rechner lässt du aktar login weg und setzt AKTAR_TOKEN (und AKTAR_PORT, falls du den Port geändert hast). Sie haben Vorrang vor der gespeicherten Datei. Aktar muss auf diesem Rechner laufen, in derselben Benutzersitzung.
AKTAR_TOKEN="$AKTAR_SECRET" aktar upload dist/app.zip -d Builds| Variable | Wofür sie da ist |
|---|---|
AKTAR_TOKEN | Das Token aus Einstellungen → Integrationen in Aktar. Wird statt des gespeicherten verwendet. |
AKTAR_PORT | Der Port der lokalen API von Aktar, falls du ihn geändert hast. --port hat Vorrang. |
NO_COLOR | Zeichnet QR-Codes mit einfachen Zeichen statt mit Terminalfarben. |
XDG_CONFIG_HOME | Wo der Konfigurationsordner unter macOS liegt (Standard ~/.config). Unter Windows wird %APPDATA% verwendet. |
Befehle
Alle Befehle sprechen mit Aktar, außer aktar qr mit reinem Text oder einem Link. Ohne -d gehen Uploads an das Ziel, das in der Menüleiste von Aktar ausgewählt ist, und erscheinen wie alle anderen im Verlauf von Aktar. aktar --help gibt dieselbe Liste aus.
aktar uploadaktar upload --clipboardaktar qraktar loginaktar logoutaktar statusaktar destinationsaktar history
aktar upload
Lädt eine oder mehrere Dateien hoch und gibt pro Datei einen Link aus, in der richtigen Reihenfolge, sobald sie fertig ist.
Verwendung
aktar upload <file>... [options]Optionen
| Flag | Wert | Beschreibung |
|---|---|---|
-d, --destination | <name|id> | Ziel für den Upload, per Name oder ID. Standard: das in Aktar ausgewählte. |
-f, --format | <format> | Was ausgegeben wird: url (Standard), markdown, html oder custom (deine Vorlage in Aktar). |
--name | <name> | Eine Datei unter diesem Namen hochladen. Ihre Endung bleibt erhalten, wenn der Name keine hat. |
--folder | <path> | Den Dateinamen behalten und in diesen Ordner hochladen. |
--expires | <days> | Den Bucket die Datei nach 1, 7, 14 oder 30 Tagen löschen lassen. 0 behält sie. |
--qr | Zusätzlich einen QR-Code für jeden Link ausgeben. | |
--json | Statt Links ein JSON-Array mit allen Details zu jedem Upload ausgeben. | |
--port | <port> | Der Port der lokalen API von Aktar, nur für diesen Befehl. Hat Vorrang vor AKTAR_PORT und dem gespeicherten Port. |
Gut zu wissen
- Jede Datei wird geprüft, bevor irgendetwas hochgeladen wird: Fehlt eine, wird nichts hochgeladen, und
aktarbeendet sich mit Code 2. - Schlägt ein Upload fehl, laufen die anderen trotzdem durch. Jeder Fehler wird auf stderr gemeldet, und der Exit-Code ist 1.
- Ohne
--folderbenennt die Pfadvorlage des Ziels die Datei, genau wie beim Ablegen auf der Menüleiste. Mit--folderbehält die Datei in diesem Ordner ihren Namen. --namefunktioniert mit jeweils einer Datei. Schrägstriche werden entfernt, und die Dateiendung wird ergänzt, wenn der Name keine hat:--name coverlädtIMG_4021.jpgalscover.jpghoch. Mit--folderist es der Name im Ordner.--expiresnimmt 1, 7, 14 oder 30 (Tage) oder 0, um die Datei zu behalten. Ohne die Option bleibt die Datei erhalten, egal, was in Aktar bei Löschen nach eingestellt ist. Das Ziel braucht dafür die Regeln für automatisches Löschen von Aktar, und die Option lässt sich nicht mit--folderkombinieren.--qrlässt sich nicht mit--jsonkombinieren, und--pngfunktioniert nur mitaktar qr.- Im Terminal wird der Fortschritt auf stderr angezeigt, während eine Datei hochlädt. Die Datei wird an Aktar gestreamt, ihre Größe spielt also keine Rolle, und es gibt kein Zeitlimit.
Beispiele
aktar upload screenshot.png
https://files.example.com/2026/10/7f3c2a91.pngaktar upload *.png -f markdown

aktar upload IMG_4021.jpg --name cover --folder blog/2026
https://files.example.com/blog/2026/cover.jpgaktar upload photo.jpg
aktar: photo.jpg: already uploaded, reused the existing link
https://files.example.com/2026/09/4d2a8c61.jpgaktar upload --clipboard
Lädt die Datei oder das Bild aus der Zwischenablage hoch, wie das Zwischenablage-Kürzel von Aktar.
Verwendung
aktar upload --clipboard [options]Optionen
| Flag | Wert | Beschreibung |
|---|---|---|
--clipboard | Den Inhalt der Zwischenablage statt Dateien hochladen. | |
-d, --destination | <name|id> | Ziel für den Upload, per Name oder ID. Standard: das in Aktar ausgewählte. |
-f, --format | <format> | Was ausgegeben wird: url (Standard), markdown, html oder custom (deine Vorlage in Aktar). |
--expires | <days> | Den Bucket die Datei nach 1, 7, 14 oder 30 Tagen löschen lassen. 0 behält sie. |
--qr | Zusätzlich einen QR-Code für jeden Link ausgeben. | |
--json | Statt Links ein JSON-Array mit allen Details zu jedem Upload ausgeben. | |
--port | <port> | Der Port der lokalen API von Aktar, nur für diesen Befehl. Hat Vorrang vor AKTAR_PORT und dem gespeicherten Port. |
Gut zu wissen
- Gib Dateien oder
--clipboardan, nicht beides. --nameund--folderfunktionieren nur mit Dateien.-d,-f,--expires,--qrund--jsonfunktionieren wie bei Dateien.- Mit
--jsonkommt trotzdem ein Array heraus, mit einem Eintrag.
Beispiele
aktar upload --clipboard
https://files.example.com/2026/10/9a4c03be.pngaktar upload --clipboard -f markdown -d Blog
aktar upload --clipboard --expires 1
https://files.example.com/tmp/1d/2026/10/38f0d7c2.pngaktar qr
Zeigt im Terminal einen QR-Code für einen Link oder beliebigen Text, damit du ihn auf dem Handy öffnen kannst. Mit einer Upload-ID zeigt er den Link dieses Uploads und seinen QR-Code.
Verwendung
aktar qr <link|text|upload-id> [--png <file>]Optionen
| Flag | Wert | Beschreibung |
|---|---|---|
--png | <file> | Den QR-Code als PNG-Datei speichern, statt ihn auszugeben. |
--port | <port> | Der Port der lokalen API von Aktar, nur für diesen Befehl. Hat Vorrang vor AKTAR_PORT und dem gespeicherten Port. |
Gut zu wissen
- Gib genau ein Argument an und setz Text mit Leerzeichen in Anführungszeichen.
- Eine Upload-ID ist die
idausaktar history --jsonoderaktar upload --json.aktarsucht sie in den letzten 1.000 Uploads im Verlauf von Aktar. Für reinen Text oder einen Link braucht es Aktar gar nicht. - Im Terminal wird der Code schwarz auf weiß gezeichnet, unabhängig vom Theme. Ist die Ausgabe kein Terminal oder ist
NO_COLORgesetzt, wird er ohne Farben gezeichnet. --pngspeichert den QR-Code als PNG, statt ihn auszugeben.
Beispiele
aktar qr https://files.example.com/2026/10/demo.mp4aktar qr 0B6C2F8E-3D1A-4C55-9E2B-7A41D0C3E9F1 --png cover-qr.png
Saved to cover-qr.pngaktar login
Prüft ein Token bei Aktar und speichert es, damit die anderen Befehle sich verbinden können.
Verwendung
aktar login [--token <token>] [--port <port>]Optionen
| Flag | Wert | Beschreibung |
|---|---|---|
--token | <token> | Das Token, statt der Abfrage. |
--port | <port> | Der Port von Aktar, wird zusammen mit dem Token gespeichert. Standard 47913. |
Gut zu wissen
- Im Terminal fragt es nach dem Token und verbirgt, was du tippst. Kommt die Eingabe über eine Pipe, liest es das Token von dort.
--tokenüberspringt die Abfrage, aber das Token landet dann in deinem Shell-Verlauf. Eine Pipe oderAKTAR_TOKENvermeiden das.- Ein Token, das Aktar ablehnt, wird nicht gespeichert, und der Exit-Code ist 3.
Beispiele
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.jsonpbpaste | aktar login
Connected to Aktar 0.10.0. Saved to /Users/you/.config/aktar/cli.jsonaktar login --token "$AKTAR_SECRET" --port 47920
Connected to Aktar 0.10.0. Saved to /Users/you/.config/aktar/cli.jsonaktar logout
Löscht das gespeicherte Token und den Port.
Verwendung
aktar logoutOptionen
Keine Optionen.
Gut zu wissen
AKTAR_TOKENfunktioniert, falls gesetzt, auch nachaktar logoutweiter.- Andere Clients werden dadurch nicht getrennt. Dafür erzeugst du das Token in Aktar neu.
Beispiele
aktar logout
Logged out.aktar status
aktar: Not connected to Aktar yet. Run aktar login with the token from Aktar's Settings > Integrations.aktar status
Zeigt, mit welchem Aktar du verbunden bist, auf welchem Port, welches Ziel in Aktar ausgewählt ist und wo die Konfigurationsdatei liegt.
Verwendung
aktar status [--json]Optionen
| Flag | Wert | Beschreibung |
|---|---|---|
--json | JSON statt Text ausgeben. | |
--port | <port> | Der Port der lokalen API von Aktar, nur für diesen Befehl. Hat Vorrang vor AKTAR_PORT und dem gespeicherten Port. |
Gut zu wissen
- Ein schneller Verbindungstest in einem Skript: Der Befehl beendet sich mit Code 3, wenn Aktar nicht erreichbar oder das Token falsch ist.
Beispiele
aktar status
Aktar 0.10.0 (build 28) on port 47913
Destination: Screenshots (Cloudflare R2, screenshots)
Config: /Users/you/.config/aktar/cli.jsonaktar status --json
{
"app": "Aktar",
"version": "0.10.0",
"build": "28",
"apiVersion": 1,
"defaultDestinationId": "5D1A9C3E-7B2F-4E61-8A0D-3C9B6F2E1A47",
"outputFormat": "url",
"port": 47913
}aktar destinations
Listet deine Ziele mit Anbieter, Bucket und ID auf. * markiert das in Aktar ausgewählte.
Verwendung
aktar destinations [--json]Optionen
| Flag | Wert | Beschreibung |
|---|---|---|
--json | JSON statt Text ausgeben. | |
--port | <port> | Der Port der lokalen API von Aktar, nur für diesen Befehl. Hat Vorrang vor AKTAR_PORT und dem gespeicherten Port. |
Gut zu wissen
- Nutze bei
-deinen Namen oder eine ID. Bei Namen spielt Groß- und Kleinschreibung keine Rolle, eine ID funktioniert immer, auch nach dem Umbenennen. --jsonliefert für jedes Zielid,name,provider,providerName,bucket,publicBaseURLundisDefault.
Beispiele
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-9D5F2A7E4B13aktar destinations --json | jq -r '.[] | select(.isDefault) | .name'
Screenshotsaktar history
Listet die letzten Uploads auf, die neuesten zuerst: Datum, Dateiname und Link. Wörter nach history durchsuchen den Verlauf.
Verwendung
aktar history [search] [options]Optionen
| Flag | Wert | Beschreibung |
|---|---|---|
-n, --limit | <n> | Wie viele Uploads gelistet werden. Standard 20. |
-d, --destination | <name|id> | Nur Uploads zu diesem Ziel, per Name oder ID. |
--json | JSON statt Text ausgeben. | |
--port | <port> | Der Port der lokalen API von Aktar, nur für diesen Befehl. Hat Vorrang vor AKTAR_PORT und dem gespeicherten Port. |
Gut zu wissen
- Es werden 20 Uploads gelistet, sofern du nicht
-nangibst. --jsonliefert dieselben Felder wieaktar upload --json, darunter dieidjedes Uploads füraktar qr.
Beispiele
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.pdfaktar 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.pdfaktar history -d Builds -n 1 --json | jq -r '.[0].url'
https://acme-builds.s3.amazonaws.com/2026/10/app-3f9c2e1.zipOptionen für jeden Befehl
| Flag | Wert | Beschreibung |
|---|---|---|
-h, --help | Die Liste der Befehle und Optionen anzeigen. | |
-v, --version | Die Version von aktar anzeigen. | |
--port | <port> | Der Port der lokalen API von Aktar, nur für diesen Befehl. Hat Vorrang vor AKTAR_PORT und dem gespeicherten Port. |
Ausgabe
Formate
-f bestimmt, was für jeden Upload ausgegeben wird. Ohne die Option gibt aktar die reine URL aus, egal, welches Format die Menüleiste von Aktar kopiert. Markdown und HTML betten Bilder ein und verlinken alles andere, genau wie Aktar.
| Format | Ausgabe für photo.jpg |
|---|---|
-f url | https://files.example.com/2026/10/7f3c2a91.jpgDer Link (Standard). |
-f markdown | Ein Markdown-Bild, bei anderen Dateien ein Markdown-Link. |
-f html | <img src="https://files.example.com/2026/10/7f3c2a91.jpg" alt="">Ein <img>-Tag, bei anderen Dateien ein <a>-Link. |
-f custom | Deine Vorlage aus den Einstellungen von Aktar, mit ausgefülltem {url}, {filename} und den anderen Variablen. |
stdout und stderr
Die Standardausgabe bekommt nur die Links, einen pro Zeile, in der Reihenfolge der Dateien (und mit --qr die QR-Codes). Alles andere geht an die Standardfehlerausgabe: Fortschritt, Fehler und Hinweise wie aktar: photo.jpg: already uploaded, reused the existing link. So bekommen url=$(aktar upload file) und aktar upload *.png > links.txt immer saubere Links.
aktar upload photo.jpg
aktar: photo.jpg: already uploaded, reused the existing link
https://files.example.com/2026/09/4d2a8c61.jpgJSON
--json gibt ein Array mit einem Eintrag pro hochgeladener Datei aus, nachdem alle fertig sind. Fehlgeschlagene Uploads fehlen darin (sie werden auf stderr gemeldet), prüf also auch den Exit-Code.
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": "",
"html": "<img src=\"https://files.example.com/2026/10/7f3c2a91.jpg\" alt=\"\">",
"custom": ""
},
"reused": false
}
]| Feld | Bedeutung |
|---|---|
id | Die ID des Uploads im Verlauf von Aktar. aktar qr nimmt sie an. |
filename | Der Dateiname, unter dem Aktar die Datei kennt: ihr eigener oder --name. |
objectKey | Wo die Datei im Bucket liegt. |
url | Der Link. |
destinationId | Die ID des Ziels. |
destinationName | Der Name des Ziels. |
mimeType | Der Dateityp, nach einer eventuellen Umwandlung durch Aktar. |
size | Größe in Bytes, wie gespeichert. |
createdAt | Wann die Datei hochgeladen wurde (ISO 8601, UTC). |
expiresAt | Wann der Bucket sie löscht, oder null, wenn sie bleibt. |
formats | Der Link in allen vier Formaten: url, markdown, html und custom. |
reused | true, wenn nichts hochgeladen wurde, weil dieselbe Datei schon da war. Fehlt bei Aktar-Versionen vor Mac 0.10.0 und Windows 0.3.0. |
Exit-Codes
| Code | Bedeutung |
|---|---|
0 | Alles hat geklappt. |
1 | Mindestens ein Upload oder eine Anfrage ist fehlgeschlagen, die anderen sind trotzdem durchgelaufen. Fehler von Aktar selbst, etwa wenn automatisches Löschen nicht eingerichtet ist, landen ebenfalls hier. |
2 | Falsche Argumente, eine Datei, die nicht existiert, oder ein Zielname, den Aktar nicht kennt. Nichts wurde hochgeladen. |
3 | Nicht angemeldet, Aktar läuft nicht, die lokale API ist aus oder das Token ist falsch. |
Rezepte
Kopieren, Dateinamen anpassen, fertig. Jedes Rezept nutzt nur, was oben dokumentiert ist.
Den Link in einer Variablen speichern
Nur der Link landet in der Standardausgabe, die Befehlsersetzung bekommt also genau die URL. || exit 1 bricht das Skript ab, wenn der Upload fehlgeschlagen ist.
url=$(aktar upload build/report.pdf) || exit 1
echo "Report: $url"
Report: https://files.example.com/2026/10/0e7d51b3.pdfEinen Build hochladen und den Link posten
Pack einen Build als ZIP, lade ihn unter dem kurzen Hash des Commits an ein Ziel namens Builds hoch und poste den Link an einen beliebigen Webhook, der JSON annimmt (einen Chat-Kanal, einen Issue-Tracker, deinen eigenen Endpunkt). set -e stoppt vor dem Posten, wenn der Upload fehlschlägt.
#!/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\"}"Ein Makefile-Target
make share lädt den Bericht unter dem heutigen Datum hoch und speichert den Link in .last-link. In einem Makefile reicht $$ ein $ an die Shell weiter, und die Befehlszeile beginnt mit einem Tab.
share: dist/report.pdf
aktar upload dist/report.pdf --name "report-$$(date +%F)" | tee .last-linkBild-Uploader für Typora
Öffne in Typora Settings > Image, wähle Custom Command als Image Uploader und trag den vollständigen Pfad zu aktar ein (den, den which aktar ausgibt), gefolgt von upload. Typora übergibt die Bildpfade und liest einen Link pro Zeile.
/opt/homebrew/bin/aktar uploadSchritt für Schritt, mit der Einstellung When Insert…: Typora-Bilder zu S3 hochladen.
Aus dem Finder oder mit Kurzbefehlen hochladen
Füge auf dem Mac einem Kurzbefehl oder einer Automator-Schnellaktion, die Dateien im Finder empfängt, eine Aktion Run Shell Script hinzu und stell die Eingabe auf as arguments. Kurzbefehle und Automator laden den PATH deiner Shell nicht, daher die erste Zeile. Dateien auswählen, ausführen, und die Links liegen in der Zwischenablage.
export PATH="/opt/homebrew/bin:/usr/local/bin:$PATH"
aktar upload "$@" | pbcopy
osascript -e 'display notification "Link copied" with title "aktar"'Es lädt Dateien hoch, keine Ordner. Mehrere Dateien ergeben mehrere Links, einen pro Zeile.
Temporäre Dateien
Ein Log, eine Bildschirmaufnahme oder alles, was nicht liegen bleiben soll: Lass den Bucket es löschen. Das Ziel braucht zuerst die Regeln für automatisches Löschen von Aktar. Richte sie einmal über Löschen nach in der Menüleiste von Aktar oder in den Einstellungen des Ziels ein.
aktar upload crash.log --expires 1
aktar upload screen-recording.mov --expires 7 --qrAblaufende Dateien landen im Bucket unter tmp/1d/, tmp/7d/ und so weiter, und der Bucket löscht sie auch, wenn Aktar nicht läuft.
Einen Link auf dem Handy öffnen
--qr gibt unter dem Link einen QR-Code aus. Richte einfach die Handykamera aufs Terminal. Um ihn später erneut anzuzeigen, übergib die ID eines Uploads an aktar qr, hier die des neuesten Uploads, der zu „demo“ passt.
aktar upload demo.mp4 --qr
aktar qr "$(aktar history demo -n 1 --json | jq -r '.[0].id')"Windows PowerShell
Dasselbe funktioniert in PowerShell. $LASTEXITCODE enthält den Exit-Code, und ConvertFrom-Json liest --json.
$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.markdownWas Aktar für dich erledigt
Die CLI reicht nur Dateien weiter, den Rest erledigt Aktar mit den Einstellungen des jeweiligen Ziels. Alles, was du in der App eingerichtet hast, gilt also auch für aktar upload, ohne zusätzliche Optionen, und du bekommst den Link zur Datei, wie sie gespeichert wurde.
-
Pfadvorlagen
Der Objektpfad des Ziels benennt die Datei, mit
{year},{uuid},{filename}und den anderen Variablen.{md5}und{sha256}benennen Dateien nach ihrem Inhalt. -
Bildbearbeitung
Wandelt das Ziel Bilder in WebP oder AVIF um, komprimiert oder verkleinert sie, gilt das auch für Uploads aus der CLI, und der Link zeigt auf die umgewandelte Datei.
-
Foto-Metadaten
Bild-Metadaten in den Upload-Standards des Ziels entfernt den Standort oder alle Metadaten aus Fotos, bevor sie deinen Computer verlassen.
-
Gleiche Datei, gleicher Link
Ist Links für doppelte Dateien wiederverwenden an, bekommt derselbe Inhalt im selben Ziel den vorhandenen Link statt eines zweiten Uploads.
aktarvermerkt das auf stderr. -
Große Dateien
Große Dateien werden in Teilen hochgeladen, ohne Grenze von 5 GB, nach einem Verbindungsabbruch erneut versucht und dort fortgesetzt, wo sie aufgehört haben.
aktarstreamt die Datei an Aktar und lädt sie nie komplett in den Speicher. -
Öffentliche oder temporäre Links
Ob der Link öffentlich ist oder ein temporärer (presigned), der auch für einen privaten Bucket funktioniert, legt wie in der App das Ziel fest.
Doppelte Links, Bildbearbeitung, {md5} und {sha256} und Uploads in Teilen kamen mit Aktar für Mac 0.10.0 und Windows 0.3.0: Neues in 0.10.0.
Fehlerbehebung
Fehlermeldungen von aktar beginnen mit aktar: und gehen an stderr. Der Exit-Code verrät dir, um welche Art Problem es sich handelt.
Aktar isn't running, or its local API is turned off
Öffne Aktar und prüf, ob Lokale Verbindungen erlauben unter Einstellungen → Integrationen aktiviert ist. Hast du dort den Port geändert, gib ihn mit --port oder AKTAR_PORT an oder führe aktar login --port erneut aus. Exit-Code 3.
Not connected to Aktar yet
Es gibt weder ein gespeichertes Token noch AKTAR_TOKEN. Führe aktar login mit dem Token aus Einstellungen → Integrationen in Aktar aus. Exit-Code 3.
The token doesn't match Aktar's anymore
Das Token wurde in Aktar neu erzeugt oder falsch eingegeben. Führe aktar login mit dem aktuellen erneut aus. Ist AKTAR_TOKEN gesetzt, hat es Vorrang vor dem gespeicherten Token, also aktualisiere es ebenfalls oder entferne es. Exit-Code 3.
Auto-delete isn't set up for this destination
--expires braucht die Regeln für automatisches Löschen im Bucket. Richte sie einmal über Löschen nach in der Menüleiste von Aktar oder in den Einstellungen des Ziels ein, oder lade ohne --expires hoch. Exit-Code 1.
No destination named "…"
Die Meldung listet die Namen auf, die Aktar kennt. Prüf die Schreibweise, setz Namen mit Leerzeichen in Anführungszeichen (-d "Client work") oder nutze die ID aus aktar destinations. Exit-Code 2.
Ein großer Upload dauert lange
Das liegt an der Geschwindigkeit des Speicheranbieters: aktar hat kein Zeitlimit für Uploads und zeigt im Terminal den Fortschritt auf stderr. Lass Aktar laufen, bis er fertig ist. Bricht die Verbindung ab oder wird Aktar beendet (Aktar closed the connection before the request finished), lade dieselbe Datei erneut hoch: Aktar für Mac 0.10.0 und Windows 0.3.0 machen beim letzten Teil weiter.
aktar startet nicht: SyntaxError oder parseArgs
Dein Node.js ist älter als 18. Prüf es mit node --version und aktualisiere es, oder installiere aktar mit Homebrew, das sein eigenes Node.js mitbringt.
PowerShell meldet, dass die Ausführung von Skripts deaktiviert ist
Die Ausführungsrichtlinie von PowerShell blockiert das Skript, das npm für aktar installiert. Führe stattdessen aktar.cmd aus oder erlaube lokale Skripts einmalig mit Set-ExecutionPolicy -Scope CurrentUser RemoteSigned.