コマンドライン

aktarでターミナルからアップロード

コマンド1つでリンクが1つ。aktar upload report.pdfを実行すると、Aktarアプリ経由でファイルが自分のバケットに送られ、URL、Markdown、または詳細なJSONが出力されます。スクリプト、CIジョブ、Typoraのようなエディタのために作りました。

npmでインストール
npm install -g @getaktar/cli
Homebrewでインストール
brew install getaktar/tap/aktar-cli

インストールせずに試すこともできます:npx @getaktar/cli upload file.png

ターミナルでaktar uploadを実行し、リンク、Markdownの画像、JSONを出力している様子

コマンド

  • aktar upload <file>…

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

  • --format markdown

    URLの代わりに、Markdown、HTML、またはAktarで作ったカスタムテンプレートの形式で出力します。

  • --json

    URL、すべての形式、オブジェクトキー、サイズ、ファイルの有効期限をまとめてJSONで出力します。

  • -d --folder --expires

    アップロード先を名前で指定したり、フォルダにアップロードしたり、1日、7日、14日、30日後にバケットがファイルを削除するよう設定したりできます。

  • --clipboard

    クリップボードにあるファイルや画像をアップロードします。

  • aktar login

    Aktarの設定に表示されるトークンを、動作を確認したうえで保存します。

  • status destinations history

    接続状況、アップロード先の一覧、検索できるアップロード履歴を表示します。

1分でセットアップ

  1. Mac版またはWindows版のAktarで設定 → 連携を開き、ローカル接続を許可をオンにします。
  2. 表示されたトークンをコピーします。
  3. aktar loginを実行し、トークンを貼り付けます。これで完了です。以降、aktar uploadはAktarで選択中のアップロード先を使います。

Typoraの画像を自分のバケットに

aktarをTyporaのカスタム画像アップローダーに設定すると、ドキュメントに貼り付けた画像がすべて自分のバケットにアップロードされ、そのリンクがMarkdownに書き込まれます。

Typoraを設定する

スクリプトで使いやすく

リンクは1行に1つずつ標準出力に、それ以外はすべて標準エラー出力に書き出されるので、URL=$(aktar upload build.zip)がそのまま動きます。--jsonを付ければ詳細な情報がすべて得られ、終了コードで結果がわかります。CIでは、ログインする代わりにAKTAR_TOKENを設定してください。

終了コード
0すべてアップロードされた
11つ以上のアップロードが失敗した(ほかは成功)
2引数が正しくないかファイルが見つからないため、何もアップロードされなかった
3Aktarに接続できないか、トークンが正しくない

キーはAktarの中に

CLIがストレージの認証情報を見ることはありません。ファイルは127.0.0.1上のAktarアプリに送られ、Aktarがキーチェーンまたは資格情報マネージャーに保存されたキーを使ってアップロードします。

AktarのローカルAPIは自分でオンにするまでオフで、ほかのコンピュータからの接続は一切受け付けず、すべてのリクエストにトークンが必要です。CLIはトークンを自分だけが読めるファイルに保存します。

動作環境

  • Mac版Aktar 0.4.0以降、またはWindows版Aktar(アップロード先を1つ以上設定済み)
  • Node.js 18以降(Homebrewなら自動でインストールされます)
  • オープンソース(MIT)、GitHubで公開

よくある質問

CLIはAktarアプリなしでも使えますか?

いいえ。CLIはアプリのリモコンのようなものです。ストレージのキーを保管してアップロードを行うのはAktarなので、ローカル接続を許可をオンにした状態でAktarを起動しておく必要があります。CLIがアクセスキーを一切必要としないのもそのためです。

CIやサーバーで使えますか?

CLIは同じマシン上のAktarと通信するので、使えるのはAktarが動いている環境だけです。MacやWindowsのビルドエージェントなら問題なく使えます。Linuxサーバーでは、プロバイダ公式のCLIを使ってください。

どのストレージに対応していますか?

Aktarが対応しているものすべてです。Amazon S3、Cloudflare R2、Backblaze B2、DigitalOcean Spaces、MinIO、そしてあらゆるS3互換サービスに対応しています。設定ガイドをご覧ください。

トークンはどこに保存されますか?

Macでは~/.config/aktar/cli.json(Windowsでは%APPDATA%\aktar\cli.json)に保存され、自分のユーザーだけが読み取れます。aktar logoutで削除でき、Aktarでトークンを再生成するとすべてのクライアントの接続が解除されます。