Aktar CLI

aktar CLIドキュメント

aktarのすべてのコマンド、オプション、出力を、そのまま貼り付けて使える例とともに紹介します。初めての方は、CLIの概要のほうが手早く読めます。

概要

aktarは、同じコンピュータ上のAktarアプリを操作するリモコンです。ファイルを渡すと127.0.0.1上のAktarに送られ、Aktarがすでに設定済みのアップロード先、キー、パステンプレート、リンクの設定でアップロードします。リンクはターミナルに返ってきます。

できること

  • スクリプト、自分のMacやWindowsマシンでのCIジョブ、Typoraのようなエディタで使える小さなNode.jsコマンド
  • ファイルやクリップボードのアップロード、QRコードの表示、アップロード先とアップロード履歴の確認
  • アプリと同じく無料のオープンソース(MIT)

できないこと

  • 単体では動きません。Aktarが起動していなければ何もアップロードできず、ストレージのキーを持つこともありません
  • Linuxサーバーやリモートマシン向けではありません。通信するのは同じコンピュータ上のAktarだけです。そうした環境では、ストレージプロバイダ公式のCLIを使ってください

動作環境

  • Mac版Aktar 0.4.0以降、またはWindows版Aktar(アップロード先を1つ以上設定済み)
  • Node.js 18以降(Homebrewなら自動でインストールされます)
  • --name、--qr、aktar qrにはaktar 0.2.0以降が必要です
  • アップロード済みファイルのリンクの再利用には、aktar 0.2.0と、Mac版Aktar 0.10.0またはWindows版Aktar 0.3.0が必要です

インストール

npmかHomebrewで一度インストールするだけです。どちらでもaktarコマンドにパスが通ります。

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.2.0

Aktarと接続する

  1. Mac版またはWindows版のAktarで設定 → 連携を開き、ローカル接続を許可をオンにします。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は、トークンとポートをMacでは~/.config/aktar/cli.json(設定していれば$XDG_CONFIG_HOME/aktar/cli.json)に、Windowsでは%APPDATA%\aktar\cli.jsonに保存します。読み取れるのは自分のユーザーだけです。

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

aktar logoutでこのファイルを削除できます。すべてのクライアントを一度に締め出すには、Aktarでトークンの横にあるRegenerate(再生成)をクリックし、新しいトークンでaktar loginをもう一度実行します。

スクリプトとCI

ビルドマシンではaktar loginを使わず、AKTAR_TOKEN(ポートを変更した場合はAKTAR_PORTも)を設定します。これらは保存されたファイルより優先されます。そのマシンでは、同じユーザーセッションにサインインした状態でAktarが起動している必要があります。

AKTAR_TOKEN="$AKTAR_SECRET" aktar upload dist/app.zip -d Builds
変数役割
AKTAR_TOKENAktarの設定 → 連携に表示されるトークン。保存されたトークンの代わりに使われます。
AKTAR_PORTAktarのローカルAPIのポート(変更した場合)。--portのほうが優先されます。
NO_COLORQRコードをターミナルの色を使わず、プレーンな文字で描きます。
XDG_CONFIG_HOMEmacOSでの設定フォルダの場所(既定は~/.config)。Windowsでは%APPDATA%が使われます。

コマンド

プレーンテキストやリンクを渡したaktar qrを除き、すべてのコマンドはAktarと通信します。-dを付けなければ、Aktarのメニューバーで選択中のアップロード先にアップロードされ、ほかのアップロードと同じくAktarの履歴に残ります。aktar --helpでも同じ一覧が表示されます。

aktar upload

1つ以上のファイルをアップロードし、完了するたびにファイルの順にリンクを1つずつ出力します。

使い方

aktar upload <file>... [options]

オプション

フラグ値説明
-d, --destination<name|id>アップロード先を名前かIDで指定します。既定はAktarで選択中のアップロード先です。
-f, --format<format>出力の形式:url(既定)、markdown、html、custom(Aktarで作ったテンプレート)。
--name<name>1つのファイルをこの名前でアップロードします。名前に拡張子がなければ元の拡張子が付きます。
--folder<path>ファイル名をそのままにして、このフォルダにアップロードします。
--expires<days>1、7、14、30日後にバケットがファイルを削除します。0なら残します。
--qr各リンクのQRコードも出力します。
--jsonリンクの代わりに、各アップロードの詳細をまとめたJSON配列を出力します。
--port<port>このコマンドだけで使うAktarのローカルAPIのポート。AKTAR_PORTや保存されたポートより優先されます。

知っておきたいこと

  • アップロードを始める前にすべてのファイルを確認します。存在しないファイルが1つでもあれば何もアップロードせず、aktarは終了コード2で終了します。
  • 1つのアップロードが失敗しても、ほかはそのまま続きます。失敗はそれぞれstderrに出力され、終了コードは1になります。
  • --folderを付けなければ、メニューバーにドロップしたときと同じく、アップロード先のパステンプレートでファイル名が決まります。--folderを付けると、そのフォルダの中で元のファイル名のままになります。
  • --nameは1回に1ファイルだけに使えます。スラッシュは取り除かれ、名前に拡張子がなければ元のファイルの拡張子が付きます。--name coverならIMG_4021.jpgがcover.jpgとしてアップロードされます。--folderと組み合わせると、フォルダ内での名前になります。
  • --expiresには1、7、14、30(日)、またはファイルを残す0を指定します。付けなければ、Aktarの削除までの設定にかかわらずファイルは残ります。そのアップロード先にAktarの自動削除ルールが必要で、--folderとは併用できません。
  • --qrは--jsonと併用できず、--pngはaktar qrでのみ使えます。
  • ターミナルでは、アップロード中の進行状況がstderrに表示されます。ファイルはストリーミングでAktarに送られるので、サイズは問題にならず、時間制限もありません。

例

ファイル1つでリンク1つ。
aktar upload screenshot.png
https://files.example.com/2026/10/7f3c2a91.png
複数のファイルをMarkdownで。ファイルの順に1行ずつ出力されます。
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>このコマンドだけで使うAktarのローカルAPIのポート。AKTAR_PORTや保存されたポートより優先されます。

知っておきたいこと

  • ファイルか--clipboardのどちらか一方を指定します。両方は指定できません。
  • --nameと--folderはファイルでのみ使えます。-d、-f、--expires、--qr、--jsonはファイルのときと同じように使えます。
  • --jsonを付けた場合も、出力は要素が1つの配列です。

例

コピーしたばかりのスクリーンショット。
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)
1日後にバケットが削除します。
aktar upload --clipboard --expires 1
https://files.example.com/tmp/1d/2026/10/38f0d7c2.png

aktar qr

リンクや任意のテキストのQRコードをターミナルに表示し、スマートフォンで開けるようにします。アップロードIDを渡すと、そのアップロードのリンクとQRコードを表示します。

使い方

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

オプション

フラグ値説明
--png<file>QRコードを表示する代わりにPNGファイルとして保存します。
--port<port>このコマンドだけで使うAktarのローカルAPIのポート。AKTAR_PORTや保存されたポートより優先されます。

知っておきたいこと

  • 引数はちょうど1つ渡します。スペースを含むテキストは引用符で囲んでください。
  • アップロードIDは、aktar history --jsonやaktar upload --jsonのidです。aktarはAktarの履歴の直近1,000件から探します。プレーンテキストやリンクなら、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>このコマンドだけで使うAktarのローカルAPIのポート。AKTAR_PORTや保存されたポートより優先されます。

知っておきたいこと

  • スクリプトで接続を手早く確認できます。Aktarに接続できないかトークンが正しくない場合は、終了コード3で終了します。

例

接続済みで、選択中のアップロード先も表示。
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>このコマンドだけで使うAktarのローカルAPIのポート。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>このコマンドだけで使うAktarのローカルAPIのポート。AKTAR_PORTや保存されたポートより優先されます。

知っておきたいこと

  • -nを指定しなければ20件表示します。
  • --jsonではaktar upload --jsonと同じフィールドが得られ、aktar qrで使える各アップロードのidも含まれます。

例

直近3件のアップロード。
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
1つのアップロード先で請求書を検索。
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, --versionaktarのバージョンを表示します。
--port<port>このコマンドだけで使うAktarのローカルAPIのポート。AKTAR_PORTや保存されたポートより優先されます。

出力

形式

-fで、各アップロードについて出力する内容を選びます。付けなければ、Aktarのメニューバーでコピーする形式にかかわらず、aktarはプレーンなURLを出力します。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

標準出力に書き出されるのはリンクだけで、ファイルの順に1行に1つずつです(--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は、すべてのアップロードが終わってから、アップロードしたファイルごとに1要素の配列を出力します。失敗したアップロードは含まれない(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
  }
]
フィールド意味
idAktarの履歴でのアップロードのID。aktar qrに渡せます。
filenameAktarでのファイル名。元のファイル名か、--nameで指定した名前です。
objectKeyバケット内でのファイルの場所。
urlリンク。
destinationIdアップロード先のID。
destinationNameアップロード先の名前。
mimeTypeAktarによる変換後のファイルの種類。
size保存されたサイズ(バイト)。
createdAtアップロードされた日時(ISO 8601、UTC)。
expiresAtバケットがファイルを削除する日時。残す場合はnull。
formats4つの形式すべてのリンク:url、markdown、html、custom。
reused同じファイルがすでにあったため何もアップロードしなかった場合はtrue。Mac版0.10.0、Windows版0.3.0より前のAktarでは含まれません。

終了コード

コード意味
0すべて成功しました。
11つ以上のアップロードまたはリクエストが失敗しました(ほかは成功)。自動削除が設定されていないなど、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を受け付ける任意のWebhook(チャットのチャンネル、課題管理ツール、自分のエンドポイントなど)にリンクを投稿します。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は画像のパスを渡し、1行に1つずつリンクを読み取ります。

/opt/homebrew/bin/aktar upload

When Insert…(画像挿入時)の設定も含めた手順は、Typoraの画像をS3にアップロードする方法をご覧ください。

Finderやショートカットからアップロードする

Macでは、ショートカット、またはFinderでファイルを受け取るAutomatorのクイックアクションにRun Shell Script(シェルスクリプトを実行)アクションを追加し、入力を引数として渡すように設定します。ショートカットとAutomatorはシェルのPATHを読み込まないため、1行目が必要です。ファイルを選んで実行すれば、リンクがクリップボードに入ります。

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

アップロードできるのはファイルだけで、フォルダはできません。複数のファイルなら、1行に1つずつ複数のリンクになります。

一時的なファイル

ログや画面収録など、残しておく必要のないファイルはバケットに削除させましょう。まずアップロード先に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に入り、--jsonの出力はConvertFrom-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 GBの上限はありません。接続が切れても再試行し、止まったところから再開します。aktarはファイルをストリーミングでAktarに送るので、メモリに読み込むことはありません。

  • 公開リンクと期限付きリンク

    リンクが公開リンクになるか、非公開バケットでも使える期限付き(署名付き)リンクになるかは、アプリと同じくアップロード先の設定で決まります。

重複ファイルのリンク、画像処理、{md5}と{sha256}、分割アップロードは、Mac版Aktar 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の設定 → 連携に表示されるトークンでaktar loginを実行してください。終了コードは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")か、aktar destinationsで表示されるIDを使ってください。終了コードは2です。

大きなファイルのアップロードに時間がかかる

これはストレージプロバイダの速度によるものです。aktarにはアップロードの時間制限がなく、ターミナルではstderrに進行状況を表示します。完了するまでAktarを起動したままにしてください。接続が切れたりAktarが終了したりした場合(Aktar closed the connection before the request finished)は、同じファイルをもう一度アップロードしてください。Mac版Aktar 0.10.0とWindows版0.3.0では、最後に終わった部分の続きから再開します。

aktarが起動しない:SyntaxErrorまたはparseArgs

Node.jsのバージョンが18より古いためです。node --versionで確認してアップデートするか、独自のNode.jsを同梱するHomebrew版のaktarをインストールしてください。

PowerShellでスクリプトの実行が無効になっていると表示される

PowerShellの実行ポリシーが、npmがaktar用にインストールしたスクリプトをブロックしています。代わりにaktar.cmdを実行するか、Set-ExecutionPolicy -Scope CurrentUser RemoteSignedでローカルのスクリプトを一度許可してください。