Aktar CLI

Dokumentasi aktar CLI

Setiap perintah, opsi, dan output aktar, dengan contoh yang bisa langsung Anda tempel. Baru di sini? Ringkasan CLI lebih cepat dibaca.

Ringkasan

aktar adalah remote control untuk app Aktar di komputer yang sama. Anda memberinya file, ia meneruskannya ke Aktar di 127.0.0.1, dan Aktar mengunggahnya dengan tujuan, kunci, template jalur, dan pengaturan tautan yang sudah Anda atur. Tautannya kembali ke terminal Anda.

Apa itu

  • Perintah Node.js kecil untuk skrip, tugas CI di Mac atau mesin Windows Anda sendiri, dan editor seperti Typora
  • Cara untuk mengunggah file dan isi papan klip, menampilkan kode QR, serta membaca tujuan dan riwayat unggahan Anda
  • Gratis dan open source (MIT), seperti app-nya

Apa yang bukan

  • Tidak berdiri sendiri: tanpa Aktar yang berjalan, ia tidak bisa mengunggah apa pun. Ia tidak pernah menyimpan kunci penyimpanan Anda
  • Bukan untuk server Linux atau mesin jarak jauh: ia hanya berbicara dengan Aktar di komputer yang sama. Di sana, gunakan CLI milik penyedia penyimpanan Anda

Persyaratan

  • Aktar untuk Mac 0.4.0 atau lebih baru, atau Aktar untuk Windows, dengan setidaknya satu tujuan
  • Node.js 18 atau lebih baru (Homebrew menginstalnya untuk Anda)
  • --name, --qr, dan aktar qr memerlukan aktar 0.2.0 atau lebih baru
  • Menggunakan kembali tautan file yang sudah diunggah memerlukan aktar 0.2.0 dan Aktar untuk Mac 0.10.0 atau Aktar untuk Windows 0.3.0
  • aktar replace memerlukan aktar 0.3.0 dan Aktar untuk Mac 0.14.0 atau Aktar untuk Windows 0.7.0 atau lebih baru

Instalasi

Instal sekali saja, dengan npm atau Homebrew. Keduanya menaruh perintah aktar di path Anda.

Dengan npm (macOS dan Windows)

npm install -g @getaktar/cli

Dengan Homebrew (macOS)

brew install getaktar/tap/aktar-cli

Atau jalankan sekali tanpa menginstal apa pun:

npx @getaktar/cli upload file.png

Periksa versi yang Anda miliki:

aktar --version
0.3.0

Hubungkan ke Aktar

  1. Di Aktar untuk Mac atau Windows, buka Pengaturan > Integrasi dan nyalakan Izinkan koneksi lokal. Aktar lalu hanya mendengarkan di 127.0.0.1, port 47913 kecuali Anda mengubahnya di sana.
  2. Salin token yang ditampilkan di bawahnya.
  3. Jalankan aktar login dan tempel token di prompt Token:. Token tetap tersembunyi saat Anda mengetik, dan diperiksa ke Aktar sebelum disimpan, jadi salah ketik tidak akan tersimpan.
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

Tempat token disimpan

aktar login menyimpan token dan port di ~/.config/aktar/cli.json di Mac (atau $XDG_CONFIG_HOME/aktar/cli.json jika Anda mengaturnya) dan di %APPDATA%\aktar\cli.json di Windows. Hanya pengguna Anda yang bisa membacanya.

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

aktar logout menghapus file itu. Untuk memutus semua klien sekaligus, klik Buat Ulang di samping token di Aktar, lalu jalankan aktar login lagi dengan token yang baru.

Skrip dan CI

Di mesin build, lewati aktar login dan atur AKTAR_TOKEN (serta AKTAR_PORT jika Anda mengubah port). Keduanya diutamakan di atas file yang tersimpan. Aktar harus berjalan di mesin itu, dalam sesi pengguna yang sama.

AKTAR_TOKEN="$AKTAR_SECRET" aktar upload dist/app.zip -d Builds
VariabelFungsinya
AKTAR_TOKENToken dari Pengaturan > Integrasi di Aktar. Dipakai sebagai pengganti token yang tersimpan.
AKTAR_PORTPort API lokal Aktar, jika Anda mengubahnya. --port diutamakan di atasnya.
NO_COLORMenggambar kode QR dengan karakter biasa, bukan warna terminal.
XDG_CONFIG_HOMELokasi folder konfigurasi di macOS (default ~/.config). Di Windows, yang dipakai adalah %APPDATA%.

Perintah

Semua perintah berbicara dengan Aktar, kecuali aktar qr dengan teks biasa atau tautan. Tanpa -d, unggahan masuk ke tujuan yang dipilih di bar menu Aktar, dan muncul di riwayat Aktar seperti unggahan lainnya. aktar --help mencetak daftar yang sama. Dengan Aktar untuk Mac 0.14.0 atau Aktar untuk Windows 0.7.0 atau lebih baru, unggahan tanpa -d lebih dulu mengikuti aturan Gunakan untuk pada tujuan, sehingga gambar bisa masuk ke tujuan tangkapan layar Anda dan build ke tujuan lain.

aktar upload

Mengunggah satu file atau lebih dan mencetak satu tautan per file, berurutan, begitu masing-masing selesai.

Penggunaan

aktar upload <file>... [options]

Opsi

FlagNilaiDeskripsi
-d, --destination<name|id>Tujuan unggahan, berdasarkan nama atau ID. Default: tujuan yang dipilih di Aktar.
-f, --format<format>Apa yang dicetak: url (default), markdown, html, atau custom (template Anda di Aktar).
--name<name>Unggah satu file dengan nama ini. Ekstensinya dipertahankan jika nama tidak memilikinya.
--folder<path>Pertahankan nama file dan unggah ke folder ini.
--expires<days>Biarkan bucket menghapus file setelah 1, 7, 14, atau 30 hari. 0 menyimpannya.
--qrCetak juga kode QR untuk setiap tautan.
--jsonCetak array JSON berisi detail lengkap setiap unggahan, bukan tautan.
--port<port>Port API lokal Aktar, hanya untuk perintah ini. Diutamakan di atas AKTAR_PORT dan port yang tersimpan.

Perlu diketahui

  • Setiap file diperiksa sebelum ada yang diunggah: jika salah satunya tidak ada, tidak ada yang diunggah dan aktar keluar dengan kode 2.
  • Jika satu unggahan gagal, yang lain tetap berjalan. Setiap kegagalan dilaporkan di stderr, dan kode keluarnya 1.
  • Tanpa --folder, template jalur tujuan yang menamai file, sama seperti saat file dijatuhkan ke bar menu. Dengan --folder, file tetap memakai namanya di dalam folder itu.
  • --name bekerja dengan satu file sekaligus. Garis miring dihapus, dan ekstensi file ditambahkan jika nama tidak memilikinya: --name cover mengunggah IMG_4021.jpg sebagai cover.jpg. Dengan --folder, itu adalah nama di dalam folder.
  • --expires menerima 1, 7, 14, atau 30 (hari), atau 0 untuk menyimpan file. Tanpa opsi ini, file disimpan, apa pun pengaturan Hapus setelah di Aktar. Opsi ini memerlukan aturan hapus otomatis Aktar di tujuan tersebut, dan tidak bisa digabung dengan --folder.
  • --qr tidak bisa digabung dengan --json, dan --png hanya bekerja dengan aktar qr.
  • Di terminal, progres ditampilkan di stderr selama file diunggah. File dialirkan ke Aktar, jadi ukurannya tidak masalah, dan tidak ada batas waktu.

Contoh

Satu file, satu tautan.
aktar upload screenshot.png
https://files.example.com/2026/10/7f3c2a91.png
Beberapa file, sebagai Markdown: satu baris per file, berurutan.
aktar upload *.png -f markdown
![](https://files.example.com/2026/10/1b9e44d0.png)
![](https://files.example.com/2026/10/c2f71a5e.png)
Unggah dengan nama lain, ke dalam folder.
aktar upload IMG_4021.jpg --name cover --folder blog/2026
https://files.example.com/blog/2026/cover.jpg
File yang sama sudah ada di bucket: tautan dicetak seperti biasa, dan catatannya masuk ke 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

Mengunggah file atau gambar yang ada di papan klip, seperti pintasan papan klip milik Aktar sendiri.

Penggunaan

aktar upload --clipboard [options]

Opsi

FlagNilaiDeskripsi
--clipboardUnggah isi papan klip, bukan file.
-d, --destination<name|id>Tujuan unggahan, berdasarkan nama atau ID. Default: tujuan yang dipilih di Aktar.
-f, --format<format>Apa yang dicetak: url (default), markdown, html, atau custom (template Anda di Aktar).
--expires<days>Biarkan bucket menghapus file setelah 1, 7, 14, atau 30 hari. 0 menyimpannya.
--qrCetak juga kode QR untuk setiap tautan.
--jsonCetak array JSON berisi detail lengkap setiap unggahan, bukan tautan.
--port<port>Port API lokal Aktar, hanya untuk perintah ini. Diutamakan di atas AKTAR_PORT dan port yang tersimpan.

Perlu diketahui

  • Berikan file atau --clipboard, bukan keduanya.
  • --name dan --folder hanya bekerja dengan file. -d, -f, --expires, --qr, dan --json bekerja seperti pada file.
  • Dengan --json, hasilnya tetap berupa array, dengan satu entri.

Contoh

Tangkapan layar yang baru saja Anda salin.
aktar upload --clipboard
https://files.example.com/2026/10/9a4c03be.png
Sebagai Markdown, ke tujuan bernama Blog.
aktar upload --clipboard -f markdown -d Blog
![](https://blog-assets.example.com/2026/10/e5b2c8a4.png)
Dihapus oleh bucket setelah sehari.
aktar upload --clipboard --expires 1
https://files.example.com/tmp/1d/2026/10/38f0d7c2.png

aktar replace

Menulis file baru menimpa sebuah unggahan, sehingga kunci dan tautannya tetap sama. Semua orang yang punya tautannya melihat file baru.

Penggunaan

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

Opsi

FlagNilaiDeskripsi
-d, --destination<name|id>Untuk kunci: tujuan yang bucket-nya berisi kunci itu, berdasarkan nama atau ID. Default: tujuan yang dipilih di Aktar.
-f, --format<format>Apa yang dicetak: url (default), markdown, html, atau custom (template Anda di Aktar).
--qrCetak juga kode QR untuk setiap tautan.
--jsonCetak array JSON berisi detail lengkap setiap unggahan, bukan tautan.
--port<port>Port API lokal Aktar, hanya untuk perintah ini. Diutamakan di atas AKTAR_PORT dan port yang tersimpan.

Perlu diketahui

  • Argumen pertama adalah ID unggahan atau tautan dari aktar history (entri riwayat Aktar ikut diperbarui), atau selain itu sebuah kunci di bucket -d (tujuan yang dipilih di Aktar jika dikosongkan). Tautan yang tidak ada di riwayat Aktar ditolak: berikan kuncinya dengan -d sebagai gantinya.
  • Aktar menghapus metadata file dan mengubah ukurannya sesuai pengaturan tujuan, tetapi tidak pernah mengonversinya ke format lain, sehingga ekstensi kunci tetap sama. File di bawah tmp/{N}d/ memulai lagi hitungan N harinya.
  • Kunci tidak pernah diberi nomor dan tidak ada yang lain yang diunggah. --folder, --expires, --name, dan --clipboard tidak berlaku dan ditolak.
  • Salinan lama bisa tetap ada di cache CDN untuk sementara. Waktu cache singkat pada tujuan atau pembersihan cache Cloudflare di Aktar menangani hal itu.
  • Memerlukan Aktar untuk Mac 0.14.0 atau Aktar untuk Windows 0.7.0 atau lebih baru.

Contoh

Ganti unggahan dari riwayat berdasarkan ID-nya; tautannya tetap sama.
aktar replace 0B6C2F8E-3D1A-4C55-9E2B-7A41D0C3E9F1 report-v2.pdf
https://files.example.com/2026/09/0e7d51b3.pdf
Ganti kunci di bucket tujuan lain dan cetak sebagai Markdown.
aktar replace docs/guide.pdf guide.pdf -d Blog -f markdown
[guide.pdf](https://blog-assets.example.com/docs/guide.pdf)

aktar qr

Menampilkan kode QR dari tautan atau teks apa pun di terminal, agar Anda bisa membukanya di ponsel. Jika diberi ID unggahan, perintah ini menampilkan tautan unggahan itu beserta kode QR-nya.

Penggunaan

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

Opsi

FlagNilaiDeskripsi
--png<file>Simpan kode QR sebagai file PNG alih-alih mencetaknya.
--port<port>Port API lokal Aktar, hanya untuk perintah ini. Diutamakan di atas AKTAR_PORT dan port yang tersimpan.

Perlu diketahui

  • Berikan tepat satu argumen, dan beri tanda kutip pada teks yang berisi spasi.
  • ID unggahan adalah id dari aktar history --json atau aktar upload --json. aktar mencarinya di 1.000 unggahan terakhir dalam riwayat Aktar; untuk teks biasa atau tautan, ia sama sekali tidak memerlukan Aktar.
  • Kode digambar hitam di atas putih di terminal, apa pun temanya. Jika output bukan terminal, atau NO_COLOR diatur, kode digambar tanpa warna.
  • --png menyimpan kode QR sebagai PNG alih-alih mencetaknya.

Contoh

Kode QR untuk tautan apa pun. Kamera ponsel membukanya.
aktar qr https://files.example.com/2026/10/demo.mp4
Unggahan dari riwayat, disimpan sebagai PNG.
aktar qr 0B6C2F8E-3D1A-4C55-9E2B-7A41D0C3E9F1 --png cover-qr.png
Saved to cover-qr.png

aktar login

Memeriksa token ke Aktar dan menyimpannya, agar perintah lain bisa terhubung.

Penggunaan

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

Opsi

FlagNilaiDeskripsi
--token<token>Token, sebagai pengganti prompt.
--port<port>Port Aktar, disimpan bersama token. Default 47913.

Perlu diketahui

  • Di terminal, perintah ini meminta token dan menyembunyikan yang Anda ketik. Jika input dialirkan lewat pipe, token dibaca dari sana.
  • --token melewati prompt, tetapi token jadi tercatat di riwayat shell Anda. Mengalirkannya lewat pipe atau memakai AKTAR_TOKEN menghindari hal itu.
  • Token yang ditolak Aktar tidak disimpan, dan kode keluarnya 3.

Contoh

Token tetap tersembunyi saat Anda mengetiknya.
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
Di Mac, dengan token yang disalin dari Aktar.
pbpaste | aktar login
Connected to Aktar 0.10.0. Saved to /Users/you/.config/aktar/cli.json
Tanpa prompt, untuk port yang diubah.
aktar login --token "$AKTAR_SECRET" --port 47920
Connected to Aktar 0.10.0. Saved to /Users/you/.config/aktar/cli.json

aktar logout

Menghapus token dan port yang tersimpan.

Penggunaan

aktar logout

Opsi

Tanpa opsi.

Perlu diketahui

  • AKTAR_TOKEN, jika diatur, tetap berfungsi setelah aktar logout.
  • Perintah ini tidak memutus klien lain. Untuk itu, buat ulang token di Aktar.

Contoh

Lupakan token.
aktar logout
Logged out.
Setelah itu, perintah meminta Anda masuk lagi (kode keluar 3).
aktar status
aktar: Not connected to Aktar yet. Run aktar login with the token from Aktar's Settings > Integrations.

aktar status

Menampilkan Aktar mana yang terhubung dengan Anda, di port berapa, tujuan yang dipilih di Aktar, dan lokasi file konfigurasi.

Penggunaan

aktar status [--json]

Opsi

FlagNilaiDeskripsi
--jsonCetak JSON, bukan teks.
--port<port>Port API lokal Aktar, hanya untuk perintah ini. Diutamakan di atas AKTAR_PORT dan port yang tersimpan.

Perlu diketahui

  • Cara cepat untuk memeriksa koneksi dalam skrip: perintah ini keluar dengan kode 3 jika Aktar tidak bisa dijangkau atau tokennya salah.

Contoh

Terhubung, dengan tujuan yang dipilih.
aktar status
Aktar 0.10.0 (build 28) on port 47913
Destination: Screenshots (Cloudflare R2, screenshots)
Config: /Users/you/.config/aktar/cli.json
Sama, dalam bentuk JSON untuk skrip.
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

Menampilkan daftar tujuan Anda beserta penyedia, bucket, dan ID-nya. * menandai tujuan yang dipilih di Aktar.

Penggunaan

aktar destinations [--json]

Opsi

FlagNilaiDeskripsi
--jsonCetak JSON, bukan teks.
--port<port>Port API lokal Aktar, hanya untuk perintah ini. Diutamakan di atas AKTAR_PORT dan port yang tersimpan.

Perlu diketahui

  • Gunakan nama atau ID dengan -d. Nama dicocokkan tanpa memedulikan huruf besar-kecil; ID selalu berfungsi, bahkan setelah diganti nama.
  • --json memberikan id, name, provider, providerName, bucket, publicBaseURL, dan isDefault untuk masing-masing.

Contoh

Tujuan yang dipilih ditandai dengan *.
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
Nama tujuan yang dipilih, dengan jq.
aktar destinations --json | jq -r '.[] | select(.isDefault) | .name'
Screenshots

aktar history

Menampilkan daftar unggahan terbaru, dari yang paling baru: tanggal, nama file, dan tautan. Kata-kata setelah history mencari di riwayat.

Penggunaan

aktar history [search] [options]

Opsi

FlagNilaiDeskripsi
-n, --limit<n>Jumlah unggahan yang ditampilkan. Default 20.
-d, --destination<name|id>Hanya unggahan ke tujuan ini, berdasarkan nama atau ID.
--jsonCetak JSON, bukan teks.
--port<port>Port API lokal Aktar, hanya untuk perintah ini. Diutamakan di atas AKTAR_PORT dan port yang tersimpan.

Perlu diketahui

  • Menampilkan 20 unggahan kecuali Anda memberikan -n.
  • --json memberikan field yang sama dengan aktar upload --json, termasuk id setiap unggahan untuk aktar qr.

Contoh

Tiga unggahan terakhir.
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
Cari faktur di satu tujuan.
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
Tautan build terbaru, dengan jq.
aktar history -d Builds -n 1 --json | jq -r '.[0].url'
https://acme-builds.s3.amazonaws.com/2026/10/app-3f9c2e1.zip

Opsi untuk setiap perintah

FlagNilaiDeskripsi
-h, --helpTampilkan daftar perintah dan opsi.
-v, --versionTampilkan versi aktar.
--port<port>Port API lokal Aktar, hanya untuk perintah ini. Diutamakan di atas AKTAR_PORT dan port yang tersimpan.

Output

Format

-f memilih apa yang dicetak untuk setiap unggahan. Tanpa opsi ini, aktar mencetak URL biasa, apa pun format yang disalin bar menu Aktar. Markdown dan HTML menyematkan gambar dan menautkan file lainnya, sama seperti yang dilakukan Aktar.

FormatDicetak untuk photo.jpg
-f urlhttps://files.example.com/2026/10/7f3c2a91.jpgTautannya (default).
-f markdown![](https://files.example.com/2026/10/7f3c2a91.jpg)Gambar Markdown, atau tautan Markdown untuk file lain.
-f html<img src="https://files.example.com/2026/10/7f3c2a91.jpg" alt="">Tag <img>, atau tautan <a> untuk file lain.
-f custom![photo.jpg](https://files.example.com/2026/10/7f3c2a91.jpg)Template Anda dari pengaturan Aktar, dengan {url}, {filename}, dan variabel lainnya sudah terisi.

stdout dan stderr

Output standar hanya menerima tautan, satu per baris, sesuai urutan file (dan kode QR, dengan --qr). Semua yang lain masuk ke error standar: progres, kesalahan, dan catatan seperti aktar: photo.jpg: already uploaded, reused the existing link. Jadi url=$(aktar upload file) dan aktar upload *.png > links.txt selalu mendapatkan tautan yang bersih.

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

JSON

--json mencetak array dengan satu entri per file yang diunggah, setelah semuanya selesai. Unggahan yang gagal tidak disertakan (dilaporkan di stderr), jadi periksa juga kode keluarnya.

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
  }
]
FieldArti
idID unggahan di riwayat Aktar. aktar qr menerimanya.
filenameNama file yang dikenal Aktar: nama asli file, atau --name.
objectKeyLokasi file di bucket.
urlTautannya.
destinationIdID tujuan.
destinationNameNama tujuan.
mimeTypeJenis file, setelah konversi apa pun oleh Aktar.
sizeUkuran dalam byte, seperti yang disimpan.
createdAtWaktu diunggah (ISO 8601, UTC).
expiresAtWaktu bucket menghapusnya, atau null jika disimpan.
replacedAtWaktu file terakhir diganti (ISO 8601, UTC). Tidak disertakan sampai file diganti, dan oleh versi Aktar sebelum Mac 0.14.0 dan Windows 0.7.0.
formatsTautan dalam keempat format: url, markdown, html, dan custom.
reusedtrue jika tidak ada yang diunggah karena file yang sama sudah ada. Tidak disertakan oleh versi Aktar sebelum Mac 0.10.0 dan Windows 0.3.0.

Kode keluar

KodeArti
0Semuanya berhasil.
1Setidaknya satu unggahan atau permintaan gagal; yang lain tetap berjalan. Kesalahan dari Aktar sendiri, seperti hapus otomatis yang belum diatur, juga berakhir di sini.
2Argumen salah, file yang tidak ada, atau nama tujuan yang tidak dimiliki Aktar. Tidak ada yang diunggah.
3Belum masuk, Aktar tidak berjalan, API lokalnya mati, atau tokennya salah.

Resep

Salin, sesuaikan nama file, selesai. Setiap resep hanya memakai hal yang didokumentasikan di atas.

Simpan tautan dalam variabel

Hanya tautan yang sampai ke output standar, jadi substitusi perintah mendapatkan URL-nya saja. || exit 1 menghentikan skrip jika unggahan gagal.

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

Unggah build dan kirim tautannya

Zip sebuah build, unggah ke tujuan bernama Builds dengan hash pendek commit sebagai namanya, lalu kirim tautannya ke webhook apa pun yang menerima JSON (kanal chat, issue tracker, endpoint Anda sendiri). set -e berhenti sebelum mengirim jika unggahan gagal.

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

Target Makefile

make share mengunggah laporan dengan tanggal hari ini sebagai nama dan menyimpan tautannya di .last-link. Di Makefile, $$ meneruskan $ ke shell, dan baris perintah diawali dengan tab.

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

Pengunggah gambar Typora

Di Typora, buka Settings > Image, pilih Custom Command sebagai pengunggah gambar, dan masukkan path lengkap ke aktar (yang dicetak oleh which aktar) diikuti upload. Typora meneruskan path gambar dan membaca satu tautan per baris.

/opt/homebrew/bin/aktar upload

Langkah demi langkah, dengan pengaturan When Insert…: Unggah gambar Typora ke S3.

Unggah dari Finder atau Pintasan

Di Mac, tambahkan tindakan Run Shell Script ke sebuah Pintasan, atau ke Tindakan Cepat Automator yang menerima file di Finder, dan atur agar input diteruskan as arguments. Pintasan dan Automator tidak memuat PATH shell Anda, karena itulah ada baris pertama. Pilih file, jalankan, dan tautannya sudah ada di papan klip.

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

Ini mengunggah file, bukan folder. Beberapa file menghasilkan beberapa tautan, satu per baris.

File sementara

Untuk log, rekaman layar, atau apa pun yang tidak perlu disimpan lama, biarkan bucket menghapusnya. Tujuan perlu aturan hapus otomatis Aktar terlebih dahulu: atur sekali dari Hapus setelah di bar menu Aktar atau dari pengaturan tujuan.

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

File yang kedaluwarsa masuk ke tmp/1d/, tmp/7d/, dan seterusnya di bucket, dan bucket menghapusnya bahkan saat Aktar tidak berjalan.

Buka tautan di ponsel Anda

--qr mencetak kode QR di bawah tautan; arahkan kamera ponsel Anda ke terminal. Untuk menampilkannya lagi nanti, berikan ID unggahan ke aktar qr, di sini unggahan terbaru yang cocok dengan “demo”.

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

Windows PowerShell

Hal yang sama juga berfungsi di PowerShell. $LASTEXITCODE berisi kode keluar, dan ConvertFrom-Json membaca --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

Yang dikerjakan Aktar untuk Anda

CLI hanya meneruskan file; sisanya dikerjakan Aktar, dengan pengaturan masing-masing tujuan. Jadi semua yang Anda atur di app juga berlaku untuk aktar upload, tanpa opsi tambahan, dan tautan yang Anda dapatkan adalah tautan untuk file sebagaimana disimpan.

  • Template jalur

    Jalur objek tujuan yang menamai file, dengan {year}, {uuid}, {filename}, dan lainnya. {md5} dan {sha256} menamai file berdasarkan isinya.

  • Pemrosesan gambar

    Jika tujuan mengonversi gambar ke WebP atau AVIF, mengompres, atau mengubah ukurannya, unggahan dari CLI mendapat perlakuan yang sama, dan tautannya mengarah ke file hasil konversi.

  • Metadata foto

    Metadata gambar di pengaturan unggahan default tujuan menghapus lokasi dari foto, atau semua metadata, sebelum foto meninggalkan komputer Anda.

  • File sama, tautan sama

    Dengan Gunakan kembali tautan untuk file duplikat menyala, isi yang sama di tujuan yang sama mendapatkan tautan yang sudah ada alih-alih diunggah dua kali. aktar mencatatnya di stderr.

  • File besar

    File besar diunggah per bagian, tanpa batas 5 GB, dicoba lagi setelah koneksi terputus, dan dilanjutkan dari titik terakhir. aktar mengalirkan file ke Aktar, jadi file tidak pernah dimuat ke memori.

  • Tautan publik atau sementara

    Apakah tautannya publik atau sementara (presigned) yang juga berfungsi untuk bucket pribadi ditentukan oleh tujuan, sama seperti di app.

Tautan untuk duplikat, pemrosesan gambar, {md5} dan {sha256}, serta unggahan per bagian hadir di Aktar untuk Mac 0.10.0 dan Windows 0.3.0: yang baru di 0.10.0.

Pemecahan masalah

Pesan kesalahan dari aktar diawali dengan aktar: dan masuk ke stderr. Kode keluar memberi tahu jenis masalahnya.

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

Buka Aktar dan pastikan Izinkan koneksi lokal menyala di Pengaturan > Integrasi. Jika Anda mengubah port di sana, berikan dengan --port atau AKTAR_PORT, atau jalankan lagi aktar login --port. Kode keluar 3.

Not connected to Aktar yet

Tidak ada token tersimpan dan tidak ada AKTAR_TOKEN. Jalankan aktar login dengan token dari Pengaturan > Integrasi di Aktar. Kode keluar 3.

The token doesn't match Aktar's anymore

Token sudah dibuat ulang di Aktar, atau salah ketik. Jalankan lagi aktar login dengan token yang berlaku. Jika AKTAR_TOKEN diatur, variabel itu diutamakan di atas token tersimpan, jadi perbarui atau hapus juga. Kode keluar 3.

Auto-delete isn't set up for this destination

--expires memerlukan aturan hapus otomatis pada bucket. Atur sekali dari Hapus setelah di bar menu Aktar atau dari pengaturan tujuan, atau unggah tanpa --expires. Kode keluar 1.

No destination named "…"

Pesannya mencantumkan nama-nama yang dimiliki Aktar. Periksa ejaannya, beri tanda kutip pada nama yang berisi spasi (-d "Client work"), atau gunakan ID dari aktar destinations. Kode keluar 2.

Unggahan besar butuh waktu lama

Itu kecepatan penyedia penyimpanan: aktar tidak punya batas waktu untuk unggahan dan menampilkan progres di stderr di terminal. Biarkan Aktar berjalan sampai selesai. Jika koneksi terputus atau Aktar tertutup (Aktar closed the connection before the request finished), unggah lagi file yang sama: Aktar untuk Mac 0.10.0 dan Windows 0.3.0 melanjutkan dari bagian terakhir.

aktar tidak mau berjalan: SyntaxError atau parseArgs

Node.js Anda lebih lama dari versi 18. Periksa dengan node --version lalu perbarui, atau instal aktar dengan Homebrew, yang membawa Node.js sendiri.

PowerShell menyatakan bahwa menjalankan skrip dinonaktifkan

Kebijakan eksekusi PowerShell memblokir skrip yang diinstal npm untuk aktar. Jalankan aktar.cmd sebagai gantinya, atau izinkan skrip lokal sekali saja dengan Set-ExecutionPolicy -Scope CurrentUser RemoteSigned.