命令行

用 aktar 在终端里上传文件

一条命令,一个链接: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>…

    上传一个或多个文件,每完成一个就输出一个链接,每个文件一行。

  • --format markdown

    输出 Markdown、HTML 或你在 Aktar 中设置的自定义模板,而不是纯 URL。

  • --json

    以 JSON 输出全部信息:URL、各种格式、对象键、文件大小以及文件的到期时间。

  • -d --folder --expires

    按名称选择上传目标、上传到指定文件夹,或让存储桶在 1、7、14 或 30 天后删除文件。

  • --clipboard

    上传剪贴板中的文件或图片。

  • aktar login

    保存 Aktar 设置中显示的令牌,保存前会先验证它是否可用。

  • status destinations history

    查看连接状态、你的上传目标,以及可搜索的上传记录。

一分钟完成设置

  1. 在 Mac 或 Windows 版 Aktar 中打开设置 → 集成,开启允许本地连接。
  2. 复制那里显示的令牌。
  3. 运行 aktar login 并粘贴令牌。就这么简单:之后 aktar upload 会使用你在 Aktar 中选择的上传目标。

Typora 图床,用你自己的存储桶

把 aktar 设为 Typora 的自定义图片上传命令,粘贴到文档里的每张图片都会上传到你的存储桶,链接直接写进 Markdown。

设置 Typora

为脚本而生

链接输出到标准输出,每行一个,其他信息都输出到标准错误,所以 URL=$(aktar upload build.zip) 可以直接使用。--json 提供完整信息,退出码告诉你发生了什么。在 CI 中,设置 AKTAR_TOKEN 即可,无需登录。

退出码
0全部上传成功
1至少有一个上传失败,其余已上传成功
2参数有误或文件不存在,没有上传任何文件
3无法连接 Aktar,或令牌不正确

密钥始终留在 Aktar 中

CLI 永远看不到你的存储凭证。它把文件交给运行在 127.0.0.1 上的 Aktar 应用,由 Aktar 使用保存在钥匙串或凭据管理器中的密钥完成上传。

Aktar 的本地 API 在你开启之前处于关闭状态,绝不接受来自其他电脑的连接,而且每个请求都需要你的令牌。CLI 把令牌保存在只有你能读取的文件中。

系统要求

  • Aktar for Mac 0.4.0 或更高版本,或 Aktar for Windows,且至少设置了一个上传目标
  • Node.js 18 或更高版本(使用 Homebrew 安装时会自动安装)
  • 在 GitHub 上开源(MIT)

常见问题

没有 Aktar 应用,CLI 能用吗?

不能。它是 Aktar 应用的遥控器:存储密钥由 Aktar 保管,上传也由 Aktar 完成,所以 Aktar 必须在运行,并开启允许本地连接。这也是 CLI 从来不需要你的访问密钥的原因。

可以在 CI 或服务器上使用吗?

只能在运行 Aktar 的机器上使用,因为 CLI 要和同一台机器上的 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 中重新生成令牌会断开所有客户端的连接。