Aktar CLI

Документація aktar CLI

Кожна команда, параметр і вивід aktar з прикладами, які можна просто вставити. Тільки знайомитеся? Швидше прочитати огляд CLI.

Огляд

aktar - це пульт керування програмою Aktar на тому самому комп’ютері. Ви передаєте йому файли, він пересилає їх до Aktar на 127.0.0.1, і Aktar вивантажує їх із цілями, ключами, шаблонами шляхів і параметрами посилань, які ви вже налаштували. Посилання повертається у ваш термінал.

Що це

  • Невелика команда на Node.js для скриптів, завдань CI на вашому власному Mac чи комп’ютері з Windows і редакторів на кшталт Typora
  • Спосіб вивантажувати файли й буфер обміну, показувати QR-коди та переглядати ваші цілі й історію вивантажень
  • Безплатна й з відкритим кодом (MIT), як і сама програма

Чим це не є

  • Не самостійний інструмент: без запущеного Aktar він нічого не вивантажить. Він ніколи не зберігає ключі доступу до вашого сховища
  • Не для серверів на Linux чи віддалених машин: він працює лише з Aktar на тому самому комп’ютері. Там скористайтеся CLI вашого провайдера сховища

Вимоги

  • Aktar для Mac 0.4.0 або новіший чи Aktar для Windows, щонайменше з однією ціллю
  • Node.js 18 або новіший (Homebrew встановить його за вас)
  • Для --name, --qr і aktar qr потрібен aktar 0.2.0 або новіший
  • Для повторного використання посилання на вже вивантажений файл потрібні aktar 0.2.0 і Aktar для Mac 0.10.0 або Aktar для Windows 0.3.0
  • Для aktar replace потрібні aktar 0.3.0 і Aktar для Mac 0.14.0 або Aktar для Windows 0.7.0 чи новіші

Встановлення

Встановіть один раз через npm або Homebrew. В обох випадках команда aktar з’явиться у вашому PATH.

Через npm (macOS і Windows)

npm install -g @getaktar/cli

Через Homebrew (macOS)

brew install getaktar/tap/aktar-cli

Або запустіть один раз, нічого не встановлюючи:

npx @getaktar/cli upload file.png

Перевірте, яка у вас версія:

aktar --version
0.3.0

Підключення до Aktar

  1. В Aktar для Mac або Windows відкрийте Параметри > Інтеграції й увімкніть Дозволити локальні з’єднання. Тоді Aktar слухатиме лише на 127.0.0.1, на порту 47913, якщо ви не зміните його там.
  2. Скопіюйте токен, показаний під цим параметром.
  3. Виконайте aktar login і вставте токен у відповідь на запит Token:. Під час введення його не видно, а перед збереженням він перевіряється в Aktar, тож токен з помилкою не збережеться.
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

Де зберігається токен

aktar login зберігає токен і порт у ~/.config/aktar/cli.json на Mac (або в $XDG_CONFIG_HOME/aktar/cli.json, якщо цю змінну задано) і в %APPDATA%\aktar\cli.json у Windows. Прочитати файл може лише ваш користувач.

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

aktar logout видаляє цей файл. Щоб відключити всі клієнти одразу, натисніть Створити новий поруч із токеном в Aktar, а тоді знову виконайте aktar login з новим токеном.

Скрипти й CI

На машині для збирання пропустіть aktar login і задайте AKTAR_TOKEN (і AKTAR_PORT, якщо ви змінили порт). Вони мають пріоритет над збереженим файлом. На цій машині має бути запущений Aktar у тому самому сеансі користувача.

AKTAR_TOKEN="$AKTAR_SECRET" aktar upload dist/app.zip -d Builds
ЗміннаЩо вона робить
AKTAR_TOKENТокен з Параметри > Інтеграції в Aktar. Використовується замість збереженого.
AKTAR_PORTПорт локального API Aktar, якщо ви його змінили. --port має пріоритет над ним.
NO_COLORМалює QR-коди звичайними символами замість кольорів термінала.
XDG_CONFIG_HOMEДе лежить папка конфігурації на macOS (типово ~/.config). У Windows використовується %APPDATA%.

Команди

Усі команди звертаються до Aktar, крім aktar qr зі звичайним текстом чи посиланням. Без -d файли вивантажуються в ціль, вибрану в смузі меню Aktar, і з’являються в історії Aktar, як і будь-які інші. aktar --help виводить той самий список. З Aktar для Mac 0.14.0 або Aktar для Windows 0.7.0 чи новішими вивантаження без -d спершу дотримується правил Використовувати для у цілях, тож зображення може піти в ціль для знімків екрана, а збірка в іншу.

aktar upload

Вивантажує один або кілька файлів і виводить по одному посиланню на файл, у тому ж порядку, щойно кожен з них завершиться.

Використання

aktar upload <file>... [options]

Параметри

ПрапорецьЗначенняОпис
-d, --destination<name|id>Ціль для вивантаження, за назвою чи ID. Типово: та, що вибрана в Aktar.
-f, --format<format>Що виводити: url (типово), markdown, html або custom (ваш шаблон в Aktar).
--name<name>Вивантажити один файл під цим ім’ям. Якщо в імені немає розширення, розширення файлу зберігається.
--folder<path>Зберегти ім’я файлу й вивантажити в цю папку.
--expires<days>Доручити бакету видалити файл через 1, 7, 14 або 30 днів. 0 зберігає його.
--qrТакож вивести QR-код кожного посилання.
--jsonВивести масив JSON з усіма даними кожного вивантаження замість посилань.
--port<port>Порт локального API Aktar, лише для цієї команди. Має пріоритет над AKTAR_PORT і збереженим портом.

Варто знати

  • Кожен файл перевіряється до початку вивантаження: якщо одного з них не існує, нічого не вивантажується, а aktar завершується з кодом 2.
  • Якщо одне вивантаження не вдалося, решта все одно виконуються. Кожна помилка з’являється в stderr, а код завершення буде 1.
  • Без --folder ім’я файлу задає шаблон шляху цілі, так само як при перетягуванні на смугу меню. З --folder файл зберігає своє ім’я всередині цієї папки.
  • --name працює лише з одним файлом за раз. Скісні риски вилучаються, а якщо в імені немає розширення, додається розширення файлу: --name cover вивантажує IMG_4021.jpg як cover.jpg. З --folder це ім’я всередині папки.
  • --expires приймає 1, 7, 14 або 30 (днів) або 0, щоб зберегти файл. Без нього файл зберігається, хоч би яке значення Видалити через було вибрано в Aktar. Для цього потрібні правила автовидалення Aktar у цій цілі, і його не можна поєднувати з --folder.
  • --qr не можна поєднувати з --json, а --png працює лише з aktar qr.
  • У терміналі, поки файл вивантажується, у stderr показується поступ. Файл передається в Aktar потоком, тож його розмір не має значення, і обмеження за часом немає.

Приклади

Один файл, одне посилання.
aktar upload screenshot.png
https://files.example.com/2026/10/7f3c2a91.png
Кілька файлів у Markdown: по рядку на файл, у тому ж порядку.
aktar upload *.png -f markdown
![](https://files.example.com/2026/10/1b9e44d0.png)
![](https://files.example.com/2026/10/c2f71a5e.png)
Вивантажити під іншим ім’ям у папку.
aktar upload IMG_4021.jpg --name cover --folder blog/2026
https://files.example.com/blog/2026/cover.jpg
Такий самий файл уже був у бакеті: посилання виводиться як завжди, а примітка йде в 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

Вивантажує файл або зображення з буфера обміну, як власне клавіатурне скорочення Aktar для буфера обміну.

Використання

aktar upload --clipboard [options]

Параметри

ПрапорецьЗначенняОпис
--clipboardВивантажити вміст буфера обміну замість файлів.
-d, --destination<name|id>Ціль для вивантаження, за назвою чи ID. Типово: та, що вибрана в Aktar.
-f, --format<format>Що виводити: url (типово), markdown, html або custom (ваш шаблон в Aktar).
--expires<days>Доручити бакету видалити файл через 1, 7, 14 або 30 днів. 0 зберігає його.
--qrТакож вивести QR-код кожного посилання.
--jsonВивести масив JSON з усіма даними кожного вивантаження замість посилань.
--port<port>Порт локального API Aktar, лише для цієї команди. Має пріоритет над AKTAR_PORT і збереженим портом.

Варто знати

  • Передавайте або файли, або --clipboard, але не обидва водночас.
  • --name і --folder працюють лише з файлами. -d, -f, --expires, --qr і --json працюють так само, як із файлами.
  • З --json команда все одно виводить масив, з одним елементом.

Приклади

Знімок екрана, який ви щойно скопіювали.
aktar upload --clipboard
https://files.example.com/2026/10/9a4c03be.png
У Markdown, у ціль з назвою Blog.
aktar upload --clipboard -f markdown -d Blog
![](https://blog-assets.example.com/2026/10/e5b2c8a4.png)
Бакет видалить його через день.
aktar upload --clipboard --expires 1
https://files.example.com/tmp/1d/2026/10/38f0d7c2.png

aktar replace

Записує новий файл поверх вивантаження, тож його ключ і посилання залишаються тими самими. Усі, хто має посилання, бачать новий файл.

Використання

aktar replace <upload-id|link|key> <file> [options]

Параметри

ПрапорецьЗначенняОпис
-d, --destination<name|id>Для ключа: ціль, у бакеті якої він лежить, за назвою чи ID. Типово: та, що вибрана в Aktar.
-f, --format<format>Що виводити: url (типово), markdown, html або custom (ваш шаблон в Aktar).
--qrТакож вивести QR-код кожного посилання.
--jsonВивести масив JSON з усіма даними кожного вивантаження замість посилань.
--port<port>Порт локального API Aktar, лише для цієї команди. Має пріоритет над AKTAR_PORT і збереженим портом.

Варто знати

  • Перший аргумент - це ID вивантаження або посилання з aktar history (запис в історії Aktar оновлюється), інакше ключ у бакеті -d (якщо його не вказано, береться ціль, вибрана в Aktar). Посилання, якого немає в історії Aktar, відхиляється: натомість передайте його ключ разом з -d.
  • Aktar вилучає метадані файлу й змінює його розмір так, як задано в цілі, але ніколи не перетворює його на інший формат, тож розширення ключа залишається. Для файлу в tmp/{N}d/ відлік N днів починається знову.
  • Ключ ніколи не нумерується, і нічого іншого не вивантажується. --folder, --expires, --name і --clipboard тут не застосовуються й відхиляються.
  • Старі копії можуть якийсь час залишатися в кеші CDN. Це вирішує Короткий час кешування цілі або очищення кешу Cloudflare в Aktar.
  • Потрібен Aktar для Mac 0.14.0 або Aktar для Windows 0.7.0 чи новіші.

Приклади

Замінити вивантаження з історії за його ID; посилання не змінюється.
aktar replace 0B6C2F8E-3D1A-4C55-9E2B-7A41D0C3E9F1 report-v2.pdf
https://files.example.com/2026/09/0e7d51b3.pdf
Замінити ключ у бакеті іншої цілі й вивести його в Markdown.
aktar replace docs/guide.pdf guide.pdf -d Blog -f markdown
[guide.pdf](https://blog-assets.example.com/docs/guide.pdf)

aktar qr

Показує в терміналі QR-код посилання чи будь-якого тексту, щоб ви могли відкрити його на телефоні. Якщо передати ID вивантаження, показує посилання на це вивантаження та його QR-код.

Використання

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

Параметри

ПрапорецьЗначенняОпис
--png<file>Зберегти QR-код як файл PNG замість виводу.
--port<port>Порт локального API Aktar, лише для цієї команди. Має пріоритет над AKTAR_PORT і збереженим портом.

Варто знати

  • Передайте рівно один аргумент, а текст із пробілами візьміть у лапки.
  • ID вивантаження - це id з aktar history --json або aktar upload --json. aktar шукає його серед останніх 1000 вивантажень в історії Aktar; для звичайного тексту чи посилання Aktar узагалі не потрібен.
  • У терміналі код малюється чорним на білому, хоч би яка була тема. Коли вивід іде не в термінал або задано NO_COLOR, він малюється без кольорів.
  • --png зберігає QR-код як PNG замість того, щоб виводити його.

Приклади

QR-код для будь-якого посилання. Камера телефона його відкриє.
aktar qr https://files.example.com/2026/10/demo.mp4
Вивантаження з історії, збережене як PNG.
aktar qr 0B6C2F8E-3D1A-4C55-9E2B-7A41D0C3E9F1 --png cover-qr.png
Saved to cover-qr.png

aktar login

Перевіряє токен в Aktar і зберігає його, щоб інші команди могли підключатися.

Використання

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

Параметри

ПрапорецьЗначенняОпис
--token<token>Токен замість запиту.
--port<port>Порт Aktar, що зберігається разом із токеном. Типово 47913.

Варто знати

  • У терміналі команда запитує токен і приховує те, що ви вводите. Коли ввід передано через конвеєр, вона читає токен звідти.
  • --token пропускає запит, але токен потрапляє в історію вашої оболонки. Передача через конвеєр або AKTAR_TOKEN цього уникає.
  • Токен, який Aktar відхиляє, не зберігається, а код завершення буде 3.

Приклади

Під час введення токен не видно.
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
На Mac, з токеном, скопійованим з Aktar.
pbpaste | aktar login
Connected to Aktar 0.10.0. Saved to /Users/you/.config/aktar/cli.json
Без запиту, для зміненого порту.
aktar login --token "$AKTAR_SECRET" --port 47920
Connected to Aktar 0.10.0. Saved to /Users/you/.config/aktar/cli.json

aktar logout

Видаляє збережені токен і порт.

Використання

aktar logout

Параметри

Без параметрів.

Варто знати

  • AKTAR_TOKEN, якщо задано, працює й після aktar logout.
  • Інші клієнти при цьому не відключаються. Для цього створіть новий токен в Aktar.

Приклади

Забути токен.
aktar logout
Logged out.
Після цього команди просять увійти знову (код завершення 3).
aktar status
aktar: Not connected to Aktar yet. Run aktar login with the token from Aktar's Settings > Integrations.

aktar status

Показує, до якого Aktar ви підключені, на якому порту, яку ціль вибрано в Aktar і де лежить файл конфігурації.

Використання

aktar status [--json]

Параметри

ПрапорецьЗначенняОпис
--jsonВивести JSON замість тексту.
--port<port>Порт локального API Aktar, лише для цієї команди. Має пріоритет над AKTAR_PORT і збереженим портом.

Варто знати

  • Швидкий спосіб перевірити з’єднання в скрипті: команда завершується з кодом 3, коли Aktar недоступний або токен неправильний.

Приклади

Підключено, з вибраною ціллю.
aktar status
Aktar 0.10.0 (build 28) on port 47913
Destination: Screenshots (Cloudflare R2, screenshots)
Config: /Users/you/.config/aktar/cli.json
Те саме у JSON, для скриптів.
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

Виводить список ваших цілей з провайдером, бакетом і ID. * позначає ту, що вибрана в Aktar.

Використання

aktar destinations [--json]

Параметри

ПрапорецьЗначенняОпис
--jsonВивести JSON замість тексту.
--port<port>Порт локального API Aktar, лише для цієї команди. Має пріоритет над AKTAR_PORT і збереженим портом.

Варто знати

  • Передавайте з -d назву або ID. Назви порівнюються без урахування регістру; ID працює завжди, навіть після перейменування.
  • --json повертає для кожної id, name, provider, providerName, bucket, publicBaseURL і isDefault.

Приклади

Вибрана ціль позначена *.
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
Назва вибраної цілі, за допомогою jq.
aktar destinations --json | jq -r '.[] | select(.isDefault) | .name'
Screenshots

aktar history

Виводить останні вивантаження, від найновіших: дату, ім’я файлу й посилання. Слова після history шукаються в історії.

Використання

aktar history [search] [options]

Параметри

ПрапорецьЗначенняОпис
-n, --limit<n>Скільки вивантажень показати. Типово 20.
-d, --destination<name|id>Лише вивантаження в цю ціль, за назвою чи ID.
--jsonВивести JSON замість тексту.
--port<port>Порт локального API Aktar, лише для цієї команди. Має пріоритет над AKTAR_PORT і збереженим портом.

Варто знати

  • Виводить 20 вивантажень, якщо не передати -n.
  • --json повертає ті самі поля, що й aktar upload --json, зокрема id кожного вивантаження для aktar qr.

Приклади

Останні три вивантаження.
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
Пошук рахунків в одній цілі.
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
Посилання на останню збірку, за допомогою jq.
aktar history -d Builds -n 1 --json | jq -r '.[0].url'
https://acme-builds.s3.amazonaws.com/2026/10/app-3f9c2e1.zip

Параметри для всіх команд

ПрапорецьЗначенняОпис
-h, --helpПоказати список команд і параметрів.
-v, --versionПоказати версію aktar.
--port<port>Порт локального API Aktar, лише для цієї команди. Має пріоритет над AKTAR_PORT і збереженим портом.

Вивід

Формати

-f визначає, що виводиться для кожного вивантаження. Без нього aktar виводить звичайну URL-адресу, хоч би який формат копіювала смуга меню Aktar. Markdown і HTML вбудовують зображення, а на все інше дають посилання, так само як Aktar.

ФорматВивід для photo.jpg
-f urlhttps://files.example.com/2026/10/7f3c2a91.jpgПосилання (типово).
-f markdown![](https://files.example.com/2026/10/7f3c2a91.jpg)Зображення Markdown або, для інших файлів, посилання Markdown.
-f html<img src="https://files.example.com/2026/10/7f3c2a91.jpg" alt="">Тег <img> або, для інших файлів, посилання <a>.
-f custom![photo.jpg](https://files.example.com/2026/10/7f3c2a91.jpg)Ваш шаблон з параметрів Aktar, з підставленими {url}, {filename} та іншими змінними.

stdout і stderr

У стандартний вивід потрапляють лише посилання, по одному в рядку, у порядку файлів (і QR-коди, з --qr). Усе інше йде в стандартний потік помилок: поступ, помилки й примітки на кшталт aktar: photo.jpg: already uploaded, reused the existing link. Тож url=$(aktar upload file) і aktar upload *.png > links.txt завжди отримують чисті посилання.

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

JSON

--json виводить масив з одним елементом на кожен вивантажений файл, коли всі вони завершаться. Невдалі вивантаження туди не потрапляють (про них повідомляється в stderr), тож перевіряйте й код завершення.

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
  }
]
ПолеЗначення
idID вивантаження в історії Aktar. Його приймає aktar qr.
filenameІм’я файлу, під яким його знає Aktar: власне ім’я файлу або --name.
objectKeyДе файл лежить у бакеті.
urlПосилання.
destinationIdID цілі.
destinationNameНазва цілі.
mimeTypeТип файлу після можливого перетворення в Aktar.
sizeРозмір у байтах, як збережено.
createdAtКоли файл вивантажено (ISO 8601, UTC).
expiresAtКоли бакет його видалить, або null, якщо файл зберігається.
replacedAtКоли файл востаннє замінено (ISO 8601, UTC). Відсутнє, доки файл не замінять, і у версіях Aktar до Mac 0.14.0 та Windows 0.7.0.
formatsПосилання в усіх чотирьох форматах: url, markdown, html і custom.
reusedtrue, коли нічого не вивантажено, бо такий самий файл уже там був. Відсутнє у версіях Aktar до Mac 0.10.0 та Windows 0.3.0.

Коди завершення

КодЗначення
0Усе спрацювало.
1Принаймні одне вивантаження чи запит не вдалися; решта все одно виконалися. Власні помилки Aktar, як-от неналаштоване автовидалення, теж потрапляють сюди.
2Неправильні аргументи, файл, якого не існує, або назва цілі, якої немає в Aktar. Нічого не вивантажено.
3Вхід не виконано, Aktar не запущено, його локальний API вимкнено або токен неправильний.

Рецепти

Скопіюйте, змініть імена файлів, готово. Кожен рецепт використовує лише те, що описано вище.

Зберегти посилання у змінній

У стандартний вивід потрапляє лише посилання, тож підстановка команди отримує саме URL-адресу. || exit 1 зупиняє скрипт, якщо вивантаження не вдалося.

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

Вивантажити збірку й опублікувати посилання

Запакуйте збірку в ZIP, вивантажте її в ціль з назвою Builds під коротким хешем коміту й надішліть посилання на будь-який вебхук, що приймає JSON (канал чату, трекер задач, ваш власний ендпоінт). set -e зупиняє скрипт до надсилання, якщо вивантаження не вдалося.

#!/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\"}"

Ціль у Makefile

make share вивантажує звіт під сьогоднішньою датою й зберігає посилання в .last-link. У Makefile $$ передає оболонці $, а рядок команди починається з табуляції.

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

Вивантажувач зображень для Typora

У Typora відкрийте Settings > Image, виберіть Custom Command як вивантажувач зображень і введіть повний шлях до aktar (той, що виводить which aktar), а за ним upload. Typora передає шляхи до зображень і читає по одному посиланню в рядку.

/opt/homebrew/bin/aktar upload

Покроково, з параметром When Insert…: Вивантаження зображень з Typora в S3.

Вивантаження з Finder або Швидких команд

На Mac додайте дію Run Shell Script («Виконати скрипт оболонки») у швидку команду або у швидку дію Automator, яка отримує файли у Finder, і налаштуйте передавання вхідних даних as arguments («як аргументи»). Швидкі команди й Automator не завантажують PATH вашої оболонки, звідси перший рядок. Виберіть файли, запустіть, і посилання вже в буфері обміну.

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

Вивантажуються файли, а не папки. Кілька файлів дають кілька посилань, по одному в рядку.

Тимчасові файли

Журнал, запис екрана чи будь-що, що не повинно залишатися надовго, доручіть видалити бакету. Спершу ціль потребує правил автовидалення Aktar: налаштуйте їх один раз через Видалити через у смузі меню Aktar або в параметрах цілі.

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

Файли з терміном дії потрапляють у бакеті в tmp/1d/, tmp/7d/ тощо, і бакет видаляє їх, навіть коли Aktar не запущено.

Відкрити посилання на телефоні

--qr виводить під посиланням QR-код; наведіть на термінал камеру телефона. Щоб показати його знову пізніше, передайте ID вивантаження в aktar qr, тут це останнє вивантаження, що відповідає «demo».

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

Windows PowerShell

У PowerShell усе працює так само. $LASTEXITCODE містить код завершення, а ConvertFrom-Json читає --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

Що Aktar робить за вас

CLI лише передає файли; решту робить Aktar, з параметрами кожної цілі. Тож усе, що ви налаштували в програмі, діє й для aktar upload без жодних додаткових параметрів, а ви отримуєте посилання на файл саме в тому вигляді, в якому його збережено.

  • Шаблони шляхів

    Ім’я файлу задає шлях об’єкта в цілі, з {year}, {uuid}, {filename} та іншими змінними. {md5} і {sha256} дають файлам імена за їхнім вмістом.

  • Обробка зображень

    Якщо ціль перетворює зображення на WebP або AVIF, стискає їх чи змінює їхній розмір, вивантаження через CLI обробляються так само, а посилання веде на перетворений файл.

  • Метадані фото

    Метадані зображень у стандартних параметрах вивантаження цілі вилучають із фото локацію або всі метадані, перш ніж вони залишать ваш комп’ютер.

  • Той самий файл, те саме посилання

    Коли ввімкнено Повторно використовувати посилання для дублікатів файлів, той самий вміст у тій самій цілі отримує наявне посилання замість повторного вивантаження. aktar повідомляє про це в stderr.

  • Великі файли

    Великі файли вивантажуються частинами, без обмеження в 5 ГБ, після обриву з’єднання повторюються й продовжуються з місця зупинки. aktar передає файл в Aktar потоком, тож ніколи не завантажує його в пам’ять.

  • Публічні чи тимчасові посилання

    Чи буде посилання публічним, чи тимчасовим (presigned), що працює й для приватного бакета, вирішує ціль, як і в програмі.

Посилання для дублікатів, обробка зображень, {md5} і {sha256} та вивантаження частинами з’явилися в Aktar для Mac 0.10.0 і Windows 0.3.0: що нового у 0.10.0.

Розв’язання проблем

Повідомлення про помилки від aktar починаються з aktar: і йдуть у stderr. Код завершення підказує, що це за проблема.

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

Відкрийте Aktar і перевірте, чи ввімкнено Дозволити локальні з’єднання в Параметри > Інтеграції. Якщо ви змінили там порт, передайте його через --port або AKTAR_PORT чи знову виконайте aktar login --port. Код завершення 3.

Not connected to Aktar yet

Немає ні збереженого токена, ні AKTAR_TOKEN. Виконайте aktar login з токеном з Параметри > Інтеграції в Aktar. Код завершення 3.

The token doesn't match Aktar's anymore

Токен в Aktar створено заново, або його введено з помилкою. Знову виконайте aktar login з поточним токеном. Якщо задано AKTAR_TOKEN, він має пріоритет над збереженим токеном, тож оновіть або вилучіть і його. Код завершення 3.

Auto-delete isn't set up for this destination

Для --expires потрібні правила автовидалення в бакеті. Налаштуйте їх один раз через Видалити через у смузі меню Aktar або в параметрах цілі чи вивантажуйте без --expires. Код завершення 1.

No destination named "…"

Повідомлення перелічує назви, які є в Aktar. Перевірте написання, візьміть назви з пробілами в лапки (-d "Client work") або використайте ID з aktar destinations. Код завершення 2.

Велике вивантаження триває довго

Це швидкість провайдера сховища: aktar не обмежує вивантаження за часом і в терміналі показує поступ у stderr. Не закривайте Aktar, доки все не завершиться. Якщо з’єднання обірвалося або Aktar закрився (Aktar closed the connection before the request finished), вивантажте той самий файл ще раз: Aktar для Mac 0.10.0 і Windows 0.3.0 продовжать з останньої частини.

aktar не запускається: SyntaxError або parseArgs

Ваша версія Node.js старіша за 18. Перевірте це командою node --version і оновіть Node.js або встановіть aktar через Homebrew, який приносить власний Node.js.

PowerShell каже, що виконання скриптів вимкнено

Політика виконання PowerShell блокує скрипт, який npm встановлює для aktar. Запустіть натомість aktar.cmd або один раз дозвольте локальні скрипти командою Set-ExecutionPolicy -Scope CurrentUser RemoteSigned.