Aktar CLI

aktar CLI dokümantasyonu

aktar'ın tüm komutları, seçenekleri ve çıktıları, kopyalayıp yapıştırabileceğin örneklerle. Yeni misin? CLI'a genel bakış daha hızlı bir okuma.

Genel bakış

aktar, aynı bilgisayardaki Aktar uygulamasının uzaktan kumandasıdır. Dosyaları ona verirsin, o da onları 127.0.0.1 üzerinden Aktar'a iletir; Aktar da zaten kurduğun hedefler, anahtarlar, yol şablonları ve bağlantı ayarlarıyla yükler. Bağlantı terminaline geri gelir.

Ne işe yarar

  • Script'ler, kendi Mac ya da Windows makinendeki CI işleri ve Typora gibi editörler için küçük bir Node.js komutu
  • Dosyaları ve panoyu yüklemenin, QR kodu göstermenin, hedeflerini ve yükleme geçmişini okumanın bir yolu
  • Uygulama gibi ücretsiz ve açık kaynak (MIT)

Ne değildir

  • Tek başına çalışmaz: Aktar çalışmıyorsa hiçbir şey yükleyemez. Depolama anahtarlarını hiçbir zaman tutmaz
  • Linux sunucular ya da uzak makineler için değil: yalnızca aynı bilgisayardaki Aktar'la konuşur. Oralarda depolama sağlayıcının kendi CLI'ını kullan

Gereksinimler

  • En az bir hedefi olan Mac için Aktar 0.18.0 ya da Windows için Aktar 0.11.0 veya sonrası. aktar 0.5.0 ve öncesi, Mac için Aktar 0.4.0 ya da sonrasıyla çalışır
  • Node.js 18 ya da sonrası (Homebrew senin için kurar)
  • --name, --qr ve aktar qr için aktar 0.2.0 ya da sonrası gerekir
  • Zaten yüklenmiş bir dosyanın bağlantısını yeniden kullanmak için aktar 0.2.0 ile Mac için Aktar 0.10.0 ya da Windows için Aktar 0.3.0 gerekir
  • aktar replace için aktar 0.3.0 ile Mac için Aktar 0.14.0 ya da Windows için Aktar 0.7.0 ve sonrası gerekir
  • --short, --no-short ve aktar short için aktar 0.5.0 ile Mac için Aktar 0.17.0 ya da Windows için Aktar 0.10.0 ve hedefte kurulu bir bağlantı kısaltıcı gerekir

Kurulum

npm ya da Homebrew ile bir kez kur. İkisi de aktar komutunu PATH'ine ekler.

npm ile (macOS ve Windows)

npm install -g @getaktar/cli

Homebrew ile (macOS)

brew install getaktar/tap/aktar-cli

Ya da hiçbir şey kurmadan bir kez çalıştır:

npx @getaktar/cli upload file.png

Hangi sürümün olduğunu kontrol et:

aktar --version
0.6.0

Aktar'a bağlan

  1. Mac ya da Windows için Aktar'da Ayarlar > Entegrasyonlar bölümünü aç ve Yerel bağlantılara izin ver seçeneğini aç. Aktar bundan sonra yalnızca 127.0.0.1 üzerinde dinler; orada değiştirmediğin sürece port 47913'tür.
  2. Altında gösterilen token'ı kopyala.
  3. aktar login komutunu çalıştır ve token'ı Token: isteminde yapıştır. Yazarken gizli kalır ve kaydedilmeden önce Aktar'la kontrol edilir; yani yanlış yazılmış bir token saklanmaz.
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

Token nerede saklanır

aktar login token'ı ve portu Mac'te ~/.config/aktar/cli.json dosyasına (tanımladıysan $XDG_CONFIG_HOME/aktar/cli.json), Windows'ta %APPDATA%\aktar\cli.json dosyasına kaydeder. Onu yalnızca senin kullanıcın okuyabilir.

aktar, token'ı göndermeden önce porttaki uygulamadan aynı token'ın onda da olduğunu kanıtlamasını ister; token bu sırada gönderilmez. Yani Aktar çalışmıyorsa ve portunu başka bir program dinliyorsa, o program ne token'ı ne de dosyalarını alabilir. Bunun için Mac için Aktar 0.18.0 ya da Windows için Aktar 0.11.0 veya sonrası gerekir; daha eski bir Aktar'la aktar durur ve güncellemeni ister.

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

aktar logout bu dosyayı siler. Tüm istemcilerin erişimini tek seferde kesmek için Aktar'da token'ın yanındaki Regenerate'e tıkla; sonra yeni token'la aktar login komutunu yeniden çalıştır.

Script'ler ve CI

Bir build makinesinde aktar login yerine AKTAR_TOKEN değişkenini (portu değiştirdiysen AKTAR_PORT'u da) tanımla. Bunlar kayıtlı dosyanın önüne geçer. Aktar o makinede, aynı kullanıcı oturumunda çalışıyor olmalı.

AKTAR_TOKEN="$AKTAR_SECRET" aktar upload dist/app.zip -d Builds
DeğişkenNe yapar
AKTAR_TOKENAktar'ın Ayarlar > Entegrasyonlar bölümündeki token. Kayıtlı olanın yerine kullanılır.
AKTAR_PORTDeğiştirdiysen Aktar'ın yerel API portu. --port bunun önüne geçer.
NO_COLORQR kodlarını terminal renkleri yerine düz karakterlerle çizer.
XDG_CONFIG_HOMEmacOS'te ayar klasörünün yeri (varsayılan ~/.config). Windows'ta %APPDATA% kullanılır.

Komutlar

Düz metin ya da bağlantıyla kullanılan aktar qr dışında tüm komutlar Aktar'la konuşur. -d olmadan yüklemeler Aktar'ın menü çubuğunda seçili hedefe gider ve diğer yüklemeler gibi Aktar'ın geçmişinde görünür. aktar --help aynı listeyi yazdırır. Mac için Aktar 0.14.0 ya da Windows için Aktar 0.7.0 ve sonrasında -d olmayan bir yükleme önce hedeflerin Kullanım kurallarına uyar; böylece bir görsel ekran görüntüsü hedefine, bir build başka birine gidebilir.

aktar upload

Bir ya da birden fazla dosya yükler ve her biri bittikçe, sırayla, her dosya için bir bağlantı yazdırır.

Kullanım

aktar upload <file>... [options]

Seçenekler

SeçenekDeğerAçıklama
-d, --destination<name|id>Yüklenecek hedef, adı ya da ID'siyle. Varsayılan: Aktar'da seçili olan.
-f, --format<format>Ne yazdırılacağı: url (varsayılan), markdown, html ya da custom (Aktar'daki şablonun).
--name<name>Tek bir dosyayı bu adla yükle. Adda uzantı yoksa dosyanın uzantısı korunur.
--folder<path>Dosya adını koru ve bu klasöre yükle.
--expires<days>Dosyayı 1, 7, 14 ya da 30 gün sonra bucket silsin. 0 dosyayı korur.
--shortHedefin kuralları bu yüklemeyi atlayacak olsa bile hedefin bağlantı kısaltıcısıyla kısa bağlantı oluştur.
--no-shortBu sefer kısa bağlantı oluşturma.
--qrHer bağlantının QR kodunu da yazdır.
--jsonBağlantılar yerine her yüklemenin tüm ayrıntılarını içeren bir JSON dizisi yazdır.
--port<port>Yalnızca bu komut için Aktar'ın yerel API portu. AKTAR_PORT'un ve kayıtlı portun önüne geçer.

Bilmekte fayda var

  • Hiçbir şey yüklenmeden önce tüm dosyalar kontrol edilir: biri yoksa hiçbir şey yüklenmez ve aktar 2 koduyla çıkar.
  • Bir yükleme başarısız olursa diğerleri yine yüklenir. Her hata stderr'e yazılır ve çıkış kodu 1 olur.
  • --folder olmadan dosyayı, tıpkı menü çubuğuna bırakılan bir dosyada olduğu gibi, hedefin yol şablonu adlandırır. --folder ile dosya o klasörün içinde kendi adını korur.
  • --name tek seferde tek dosyayla çalışır. Eğik çizgiler kaldırılır ve adda uzantı yoksa dosyanın uzantısı eklenir: --name cover, IMG_4021.jpg dosyasını cover.jpg olarak yükler. --folder ile birlikte klasörün içindeki ad olur.
  • --expires 1, 7, 14 ya da 30 (gün) alır; dosyayı korumak için 0. Verilmezse Aktar'da Silinme ne olursa olsun dosya korunur. O hedefte Aktar'ın otomatik silme kurallarının kurulu olması gerekir ve --folder ile birlikte kullanılamaz.
  • --qr, --json ile birlikte kullanılamaz; --png ise yalnızca aktar qr ile çalışır.
  • Terminalde dosya yüklenirken ilerleme stderr'de gösterilir. Dosya Aktar'a akış olarak gönderilir; bu yüzden boyutu önemli değildir ve süre sınırı yoktur.
  • Hedefte Aktar'da kurulu bir bağlantı kısaltıcı varsa kısa bağlantı yazdırılır; --format ve --qr da onu kullanır. --short, hedefin kuralları bu yüklemeyi atlayacak olsa bile kısa bağlantı oluşturur; --no-short hiç oluşturmaz. Aktar kısa bağlantıyı oluşturamazsa orijinal bağlantı yazdırılır ve nedeni stderr'e yazılır.

Örnekler

Tek dosya, tek bağlantı.
aktar upload screenshot.png
https://files.example.com/2026/10/7f3c2a91.png
Birkaç dosya, Markdown olarak: sırayla, her dosya için bir satır.
aktar upload *.png -f markdown
![](https://files.example.com/2026/10/1b9e44d0.png)
![](https://files.example.com/2026/10/c2f71a5e.png)
Başka bir adla, bir klasöre yükle.
aktar upload IMG_4021.jpg --name cover --folder blog/2026
https://files.example.com/blog/2026/cover.jpg
Aynı dosya bucket'ta zaten vardı: bağlantı her zamanki gibi yazdırılır, not stderr'e gider.
aktar upload photo.jpg
aktar: photo.jpg: already uploaded, reused the existing link
https://files.example.com/2026/09/4d2a8c61.jpg
Hedefte bir bağlantı kısaltıcı varken kısa bağlantı yazdırılır.
aktar upload talk.pdf --short
https://s.example.com/k3Tq9

aktar upload --clipboard

Panodaki dosyayı ya da görseli, Aktar'ın kendi pano kısayolu gibi yükler.

Kullanım

aktar upload --clipboard [options]

Seçenekler

SeçenekDeğerAçıklama
--clipboardDosyalar yerine panodakini yükle.
-d, --destination<name|id>Yüklenecek hedef, adı ya da ID'siyle. Varsayılan: Aktar'da seçili olan.
-f, --format<format>Ne yazdırılacağı: url (varsayılan), markdown, html ya da custom (Aktar'daki şablonun).
--expires<days>Dosyayı 1, 7, 14 ya da 30 gün sonra bucket silsin. 0 dosyayı korur.
--shortHedefin kuralları bu yüklemeyi atlayacak olsa bile hedefin bağlantı kısaltıcısıyla kısa bağlantı oluştur.
--no-shortBu sefer kısa bağlantı oluşturma.
--qrHer bağlantının QR kodunu da yazdır.
--jsonBağlantılar yerine her yüklemenin tüm ayrıntılarını içeren bir JSON dizisi yazdır.
--port<port>Yalnızca bu komut için Aktar'ın yerel API portu. AKTAR_PORT'un ve kayıtlı portun önüne geçer.

Bilmekte fayda var

  • Ya dosya ver ya --clipboard, ikisini birden değil.
  • --name ve --folder yalnızca dosyalarla çalışır. -d, -f, --expires, --qr ve --json dosyalarla olduğu gibi çalışır.
  • --json ile yine tek elemanlı bir dizi yazdırır.

Örnekler

Az önce kopyaladığın ekran görüntüsü.
aktar upload --clipboard
https://files.example.com/2026/10/9a4c03be.png
Markdown olarak, Blog adlı bir hedefe.
aktar upload --clipboard -f markdown -d Blog
![](https://blog-assets.example.com/2026/10/e5b2c8a4.png)
Bir gün sonra bucket tarafından silinir.
aktar upload --clipboard --expires 1
https://files.example.com/tmp/1d/2026/10/38f0d7c2.png

aktar replace

Bir yüklemenin üzerine yeni bir dosya yazar, böylece key'i ve bağlantısı aynı kalır. Bağlantıya sahip herkes yeni dosyayı görür.

Kullanım

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

Seçenekler

SeçenekDeğerAçıklama
-d, --destination<name|id>Bir key için: bucket'ında bulunduğu hedef, adıyla ya da ID'siyle. Varsayılan: Aktar'da seçili olan.
-f, --format<format>Ne yazdırılacağı: url (varsayılan), markdown, html ya da custom (Aktar'daki şablonun).
--qrHer bağlantının QR kodunu da yazdır.
--jsonBağlantılar yerine her yüklemenin tüm ayrıntılarını içeren bir JSON dizisi yazdır.
--port<port>Yalnızca bu komut için Aktar'ın yerel API portu. AKTAR_PORT'un ve kayıtlı portun önüne geçer.

Bilmekte fayda var

  • İlk argüman aktar history'den bir yükleme ID'si ya da bağlantısıdır (Aktar'ın geçmiş kaydı güncellenir); değilse -d ile verilen hedefin bucket'ındaki bir key'dir (verilmezse Aktar'da seçili hedef). Aktar'ın geçmişinde olmayan bir bağlantı reddedilir; onun yerine key'ini -d ile ver.
  • Aktar dosyanın meta verilerini kaldırır ve hedefin ayarına göre boyutlandırır, ama başka bir biçime asla dönüştürmez; key'in uzantısı aynı kalır. tmp/{N}d/ altındaki bir dosyanın N günü yeniden başlar.
  • Key asla numaralandırılmaz ve başka hiçbir şey yüklenmez. --folder, --expires, --name ve --clipboard burada geçerli değildir ve reddedilir.
  • Eski kopyalar bir süre CDN önbelleğinde kalabilir. Aktar'da hedefin Kısa önbellek süresi ya da Cloudflare önbellek temizliği bunu halleder.
  • Mac için Aktar 0.14.0 ya da Windows için Aktar 0.7.0 ve sonrası gerekir.

Örnekler

Geçmişteki bir yüklemeyi ID'siyle değiştir; bağlantı aynı kalır.
aktar replace 0B6C2F8E-3D1A-4C55-9E2B-7A41D0C3E9F1 report-v2.pdf
https://files.example.com/2026/09/0e7d51b3.pdf
Başka bir hedefin bucket'ındaki bir key'i değiştir ve Markdown olarak yazdır.
aktar replace docs/guide.pdf guide.pdf -d Blog -f markdown
[guide.pdf](https://blog-assets.example.com/docs/guide.pdf)

aktar short

Geçmişteki bir yükleme için hedefin bağlantı kısaltıcısıyla kısa bağlantı oluşturur ve yazdırır. Yüklemenin zaten bir kısa bağlantısı varsa o yazdırılır.

Kullanım

aktar short <upload-id|link> [--json | --qr]

Seçenekler

SeçenekDeğerAçıklama
--jsonKısa bağlantının ayrıntılarını JSON olarak yazdır: sağlayıcı, durum ve tıklamalar.
--qrKısa bağlantının QR kodunu da yazdır.
--port<port>Yalnızca bu komut için Aktar'ın yerel API portu. AKTAR_PORT'un ve kayıtlı portun önüne geçer.

Bilmekte fayda var

  • Bir yükleme ID'si ya da aktar history çıktısındaki bir bağlantıyı ver; kısa bağlantısı da olur. aktar onu son 1.000 yüklemede arar.
  • Hedefin, Aktar'daki Kısa Bağlantılar bölümünde bir bağlantı kısaltıcısı olmalı: Shlink, YOURLS, Kutt, Dub, Short.io ya da özel bir istek. Kısa bağlantıyı o kısaltıcı oluşturur; bağlantıların ve tıklama verilerin kendi altyapında kalır.
  • --json kısa bağlantının ayrıntılarını yazdırır: sağlayıcı, durum ve kısaltıcı sayıyorsa tıklamalar ile son tıklama. --qr QR kodunu ekler. İkisi birlikte kullanılamaz.
  • Mac için Aktar 0.17.0 ya da Windows için Aktar 0.10.0 gerekir. Daha eski sürümler henüz kısa bağlantı oluşturmadıklarını söyler.

Örnekler

Geçmişteki bir yükleme için kısa bağlantı.
aktar short 0B6C2F8E-3D1A-4C55-9E2B-7A41D0C3E9F1
https://s.example.com/Qm3xZ

aktar qr

Bir bağlantının ya da herhangi bir metnin QR kodunu terminalde gösterir, böylece onu telefonda açabilirsin. Bir yükleme ID'si verirsen o yüklemenin bağlantısını ve QR kodunu gösterir.

Kullanım

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

Seçenekler

SeçenekDeğerAçıklama
--png<file>QR kodunu yazdırmak yerine PNG dosyası olarak kaydet.
--port<port>Yalnızca bu komut için Aktar'ın yerel API portu. AKTAR_PORT'un ve kayıtlı portun önüne geçer.

Bilmekte fayda var

  • Tam olarak bir argüman ver; boşluk içeren metni tırnak içine al.
  • Yükleme ID'si, aktar history --json ya da aktar upload --json çıktısındaki id'dir. aktar onu Aktar'ın geçmişindeki son 1.000 yüklemede arar; düz metin ya da bağlantı için Aktar'a hiç ihtiyaç duymaz.
  • Kod, terminalin teması ne olursa olsun beyaz üzerine siyah çizilir. Çıktı bir terminal değilse ya da NO_COLOR tanımlıysa renksiz çizilir.
  • --png, QR kodunu yazdırmak yerine PNG olarak kaydeder.
  • Kısa bağlantısı olan bir yükleme için kısa bağlantıyı gösterir.

Örnekler

Herhangi bir bağlantı için QR kodu. Telefonun kamerası onu açar.
aktar qr https://files.example.com/2026/10/demo.mp4
Geçmişten bir yükleme, PNG olarak kaydedilir.
aktar qr 0B6C2F8E-3D1A-4C55-9E2B-7A41D0C3E9F1 --png cover-qr.png
Saved to cover-qr.png

aktar login

Bir token'ı Aktar'la kontrol eder ve kaydeder; böylece diğer komutlar bağlanabilir.

Kullanım

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

Seçenekler

SeçenekDeğerAçıklama
--token<token>İstem yerine token.
--port<port>Aktar'ın portu, token'la birlikte kaydedilir. Varsayılan 47913.

Bilmekte fayda var

  • Terminalde token'ı sorar ve yazdığını gizler. Girdi pipe ile geliyorsa token'ı oradan okur.
  • --token istemi atlar ama komut çalışırken token'ı başka programlar görebilir ve token shell geçmişine düşer; bu yüzden aktar seni uyarır. Pipe ile vermek ya da AKTAR_TOKEN kullanmak bunu önler.
  • Aktar'ın reddettiği bir token kaydedilmez ve çıkış kodu 3 olur.

Örnekler

Token yazarken gizli kalır.
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'te, Aktar'dan kopyalanan token'la.
pbpaste | aktar login
Connected to Aktar 0.10.0. Saved to /Users/you/.config/aktar/cli.json
İstem olmadan, değiştirilmiş bir port için. aktar, token'ın görünür olduğu konusunda uyarır.
aktar login --token "$AKTAR_SECRET" --port 47920
aktar: warning: a token on the command line can be seen by other programs (ps) and stays in your shell history. Next time, run aktar login without --token and paste it, or pipe it in.
Connected to Aktar 0.10.0. Saved to /Users/you/.config/aktar/cli.json

aktar logout

Kayıtlı token'ı ve portu siler.

Kullanım

aktar logout

Seçenekler

Seçenek yok.

Bilmekte fayda var

  • Tanımlıysa AKTAR_TOKEN, aktar logout sonrasında da çalışmaya devam eder.
  • Diğer istemcilerin bağlantısını kesmez. Bunun için token'ı Aktar'da yeniden oluştur.

Örnekler

Token'ı unut.
aktar logout
Logged out.
Bundan sonra komutlar yeniden giriş yapmanı ister (çıkış kodu 3).
aktar status
aktar: Not connected to Aktar yet. Run aktar login with the token from Aktar's Settings > Integrations.

aktar status

Hangi Aktar'a, hangi portta bağlı olduğunu, Aktar'da seçili hedefi ve ayar dosyasının nerede olduğunu gösterir.

Kullanım

aktar status [--json]

Seçenekler

SeçenekDeğerAçıklama
--jsonMetin yerine JSON yazdır.
--port<port>Yalnızca bu komut için Aktar'ın yerel API portu. AKTAR_PORT'un ve kayıtlı portun önüne geçer.

Bilmekte fayda var

  • Bir script'te bağlantıyı kontrol etmenin hızlı yolu: Aktar'a ulaşılamazsa ya da token yanlışsa 3 koduyla çıkar.

Örnekler

Bağlı, seçili hedefle birlikte.
aktar status
Aktar 0.10.0 (build 28) on port 47913
Destination: Screenshots (Cloudflare R2, screenshots)
Config: /Users/you/.config/aktar/cli.json
Script'ler için aynısı, JSON olarak.
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

Hedeflerini sağlayıcısı, bucket'ı ve ID'siyle listeler. *, Aktar'da seçili olanı gösterir.

Kullanım

aktar destinations [--json]

Seçenekler

SeçenekDeğerAçıklama
--jsonMetin yerine JSON yazdır.
--port<port>Yalnızca bu komut için Aktar'ın yerel API portu. AKTAR_PORT'un ve kayıtlı portun önüne geçer.

Bilmekte fayda var

  • -d ile bir ad ya da ID kullan. Adlar büyük/küçük harf ayrımı yapılmadan eşleşir; ID her zaman, yeniden adlandırmadan sonra bile çalışır.
  • --json her biri için id, name, provider, providerName, bucket, publicBaseURL ve isDefault verir.

Örnekler

Seçili hedef * ile işaretlenir.
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 ile seçili hedefin adı.
aktar destinations --json | jq -r '.[] | select(.isDefault) | .name'
Screenshots

aktar history

Son yüklemeleri en yeniden başlayarak listeler: tarih, dosya adı ve bağlantı. history'den sonraki kelimeler geçmişte arama yapar.

Kullanım

aktar history [search] [options]

Seçenekler

SeçenekDeğerAçıklama
-n, --limit<n>Kaç yüklemenin listeleneceği. Varsayılan 20.
-d, --destination<name|id>Yalnızca bu hedefe yapılan yüklemeler, adı ya da ID'siyle.
--jsonMetin yerine JSON yazdır.
--port<port>Yalnızca bu komut için Aktar'ın yerel API portu. AKTAR_PORT'un ve kayıtlı portun önüne geçer.

Bilmekte fayda var

  • -n vermediğin sürece 20 yükleme listeler.
  • --json, aktar upload --json ile aynı alanları verir; aktar qr için her yüklemenin id'si de dahil.

Örnekler

Son üç yükleme.
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
Tek bir hedefte faturaları ara.
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 ile en son build'in bağlantısı.
aktar history -d Builds -n 1 --json | jq -r '.[0].url'
https://acme-builds.s3.amazonaws.com/2026/10/app-3f9c2e1.zip

aktar mcp

Bir Model Context Protocol (MCP) sunucusu çalıştırır; böylece Claude, Cursor, VS Code ve Codex gibi yapay zeka ajanları Aktar üzerinden dosya yükleyebilir, eski yüklemeleri bulabilir ve bağlantı oluşturabilir. Ajanına bir kez ekle; ajan gerektiğinde onu kendisi başlatır.

Kullanım

aktar mcp [--root <folder>]... [--read-only | --allow-replace | --allow-delete] [--max-link-minutes <n>] [--log <file>]

Seçenekler

SeçenekDeğerAçıklama
--root<folder>Yalnızca bu klasördeki dosyaları yükle. Daha fazla klasör için tekrarla. Varsayılan: sunucunun çalıştığı klasör; bu klasör ana klasörün ya da diskin en üstüyse hiçbiri.
--read-onlyYalnızca bucket'ta hiçbir şeyi değiştirmeyen araçları sun: arama, listeler, geçici bağlantılar ve küçük resimler.
--allow-replaceAyrıca bucket'taki bir dosyanın üzerine yazan replace_file aracını da sun.
--allow-deleteAyrıca bir dosyayı bucket'ından silen delete_upload aracını ve replace_file'ı da sun.
--max-link-minutes<n>Geçici bir bağlantının en fazla kaç dakika çalışabileceği. Varsayılan 60, en fazla 10080 (7 gün).
--log<file>Her araç çağrısını (zaman, araç, argümanlar, sonuç) yalnızca senin okuyabildiğin bu dosyanın sonuna ekle.
--port<port>Yalnızca bu komut için Aktar'ın yerel API portu. AKTAR_PORT'un ve kayıtlı portun önüne geçer.

Bilmekte fayda var

  • Önce aktar login çalıştır. Sunucu kayıtlı token'ı her çağrıda okur; bu yüzden yeniden giriş yapmak, ajanı yeniden başlatmadan çalışır.
  • Yükleme bir dosyayı yayınlar: bağlantısı olan herkes açabilir. Sen izin vermedikçe ajanlar bir aracı çağırmadan önce sorar.
  • Dosyalar yalnızca --root ile verdiğin klasörlerden, o yoksa sunucunun çalıştığı klasörden yüklenir. Bu klasör, bazı uygulamalarda olduğu gibi ana klasörün ya da diskin en üstüyse, --root ekleyene kadar hiçbir yerel dosya yüklenmez. Gerçekten istiyorsan --root ~ tüm ana klasörüne izin verir. Yollar, sembolik bağlantılar dahil, kontrol edilmeden önce çözülür.
  • Gizli bilgiler, nerede olurlarsa olsunlar asla yüklenmez: SSH ve özel anahtarlar, .env dosyaları, bulut ve paket yöneticisi kimlik bilgileri (~/.aws, ~/.kube, ~/.npmrc ve diğerleri), Aktar'ın kendi yapılandırması, Anahtar Zinciri, tarayıcı profilleri ve parola veritabanları. Birden fazla sabit bağlantısı (hard link) olan dosyalar da reddedilir. Bunlardan birini paylaşmak için aktar upload ile kendin yükle.
  • --read-only yalnızca bucket'ta hiçbir şeyi değiştirmeyen araçları sunar. replace_file bir dosyanın üzerine yazar, bu da silmekle aynı etkiyi yaratır; bu yüzden yalnızca --allow-replace ile, delete_upload ise yalnızca --allow-delete ile sunulur (bu, replace_file'ı da sunar).
  • create_temporary_link, --max-link-minutes daha fazlasına izin vermedikçe en fazla 60 dakikalık bağlantılar oluşturur. Pano her şeyi içerebileceği için --root verdiğinde upload_clipboard dışarıda bırakılır.
  • Araç sonuçları, içlerindeki dosya adlarının, anahtarların ve mesajların talimat değil veri olduğunu belirten bir notla başlar; --log ise her çağrının kaydını tutar. Aynı anda en fazla 4 araç çağrısı çalıştırır.
  • Global kurulum yoksa komut olarak npx -y @getaktar/cli mcp --root ~/Projects kullan.
  • Güncel MCP sürümünü (2026-07-28) ve initialize ile başlayan önceki sürümleri (2024-11-05 ile 2025-11-25) stdio üzerinden konuşur. aktar 0.4.0 gerekir; yukarıdaki sınırlar aktar 0.6.0 ile gelir.

Araçlar

AraçNe yapar
upload_fileBir dosya yükler ve bağlantısını, Markdown'ını ve HTML'ini döndürür. Hedef, ad, klasör ve sona erme isteğe bağlıdır. short kısa bağlantı ister ya da istemez.
upload_clipboardPanodaki dosyayı veya görseli yükler. short kısa bağlantı ister ya da istemez. --root verildiğinde sunulmaz.
replace_fileBir yüklemenin ya da bucket'taki herhangi bir dosyanın üzerine yeni bir dosya yazar, bağlantısını korur. Yalnızca --allow-replace ya da --allow-delete ile sunulur. Mac için Aktar 0.14.0 veya Windows için 0.7.0 gerekir.
create_short_linkBir yükleme için hedefin bağlantı kısaltıcısıyla kısa bağlantı oluşturur ya da var olanı döndürür. --read-only ile verilmez. Mac için Aktar 0.17.0 veya Windows için 0.10.0 gerekir.
search_uploadsYükleme geçmişinde arama yapar.
list_destinationsHedefleri ve her birinin hangi dosya türleri için kullanıldığını listeler.
list_bucketBir bucket'ın klasörlerini ve dosyalarını listeler; Aktar ile yüklenmemiş dosyalar dahil.
create_temporary_linkBir süre sonra çalışmayı bırakan bir bağlantı oluşturur (presigned URL). O zamana kadar bağlantıya sahip herkes dosyayı, özel bir bucket'tan bile indirebilir. --max-link-minutes daha fazlasına izin vermedikçe en fazla 60 dakika.
get_thumbnailAjana bir yüklemenin önizlemesini gösterir. Mac için Aktar 0.13.0 veya Windows için 0.6.0 gerekir.
list_watched_foldersİzlenen klasörleri ve durumlarını listeler.
get_statusAktar'a bağlantıyı kontrol eder.
delete_uploadBir yüklemeyi bucket'ından siler. Yalnızca --allow-delete ile.

Örnekler

Aktar'ı Claude Code'a veya Codex'e ekle.
claude mcp add aktar -- aktar mcp --root ~/Projects
codex mcp add aktar -- aktar mcp --root ~/Projects
Ajan iki klasörden yükleyebilsin ve dosyaları değiştirebilsin.
claude mcp add aktar -- aktar mcp --root ~/Projects --root ~/Desktop --allow-replace
Ajanın ne yaptığının kaydını tut.
claude mcp add aktar -- aktar mcp --root ~/Projects --log ~/aktar-mcp.log

aktar skill

Ajanlara aktar komutunu --json ile kullanmayı öğreten bir ajan skill'i (SKILL.md) yazdırır: ne çalıştırılacağı, sonucun nasıl okunacağı ve yalnızca paylaşmanı istediğin şeyin yükleneceği. Skill kullanan ama MCP kullanmayan ajanlar için.

Kullanım

aktar skill

Seçenekler

Seçenek yok.

Bilmekte fayda var

  • Ajanının skill aradığı yere kaydet; örneğin Claude Code için ~/.claude/skills/aktar/.

Örnekler

Skill'i Claude Code için kur.
mkdir -p ~/.claude/skills/aktar
aktar skill > ~/.claude/skills/aktar/SKILL.md

Tüm komutlar için seçenekler

SeçenekDeğerAçıklama
-h, --helpKomutların ve seçeneklerin listesini göster.
-v, --versionaktar'ın sürümünü göster.
--port<port>Yalnızca bu komut için Aktar'ın yerel API portu. AKTAR_PORT'un ve kayıtlı portun önüne geçer.

Çıktı

Formatlar

-f her yükleme için neyin yazdırılacağını seçer. Verilmezse aktar, Aktar'ın menü çubuğu hangi formatı kopyalarsa kopyalasın düz URL'yi yazdırır. Markdown ve HTML, tıpkı Aktar'daki gibi görselleri gömer, diğer her şeye bağlantı verir.

Formatphoto.jpg için yazdırılan
-f urlhttps://files.example.com/2026/10/7f3c2a91.jpgBağlantı (varsayılan).
-f markdown![](https://files.example.com/2026/10/7f3c2a91.jpg)Bir Markdown görseli, diğer dosyalar için Markdown bağlantısı.
-f html<img src="https://files.example.com/2026/10/7f3c2a91.jpg" alt="">Bir <img> etiketi, diğer dosyalar için <a> bağlantısı.
-f custom![photo.jpg](https://files.example.com/2026/10/7f3c2a91.jpg)Aktar'ın ayarlarındaki şablonun; {url}, {filename} ve diğer değişkenler doldurulmuş olarak.

stdout ve stderr

Standart çıktıya yalnızca bağlantılar gider: dosyaların sırasıyla, her satıra bir tane (--qr ile QR kodları da). Geri kalan her şey standart hataya gider: ilerleme, hatalar ve aktar: photo.jpg: already uploaded, reused the existing link gibi notlar. Böylece url=$(aktar upload file) ve aktar upload *.png > links.txt her zaman temiz bağlantılar alır.

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

JSON

--json, tüm dosyalar bittikten sonra yüklenen her dosya için bir eleman içeren bir dizi yazdırır. Başarısız yüklemeler dahil edilmez (stderr'e yazılır), bu yüzden çıkış kodunu da kontrol et.

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",
    "shortUrl": null,
    "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
  }
]
AlanAnlamı
idYüklemenin Aktar'ın geçmişindeki ID'si. aktar qr bunu alır.
filenameAktar'ın dosyayı tanıdığı ad: dosyanın kendi adı ya da --name.
objectKeyDosyanın bucket'taki yeri.
urlBağlantı.
shortUrlKısa bağlantı ya da yoksa null. formats onu zaten kullanır.
destinationIdHedefin ID'si.
destinationNameHedefin adı.
mimeTypeAktar'ın yaptığı olası dönüştürmeden sonra dosyanın türü.
sizeSaklandığı haliyle bayt cinsinden boyut.
createdAtNe zaman yüklendiği (ISO 8601, UTC).
expiresAtBucket'ın onu ne zaman sileceği; korunuyorsa null.
replacedAtDosyanın en son ne zaman değiştirildiği (ISO 8601, UTC). Değiştirilene kadar ve Mac 0.14.0 ve Windows 0.7.0 öncesi Aktar sürümlerinde yer almaz.
formatsBağlantının dört formatı: url, markdown, html ve custom.
reusedAynı dosya zaten orada olduğu için hiçbir şey yüklenmediyse true. Mac 0.10.0 ve Windows 0.3.0 öncesi Aktar sürümleri bu alanı vermez.
shortLinkErrorAktar'ın kısa bağlantıyı neden oluşturamadığı; bu durumda url orijinal bağlantıdır. Sorun yoksa verilmez.

Çıkış kodları

KodAnlamı
0Her şey çalıştı.
1En az bir yükleme ya da istek başarısız oldu; diğerleri yine de yapıldı. Otomatik silmenin kurulu olmaması gibi Aktar'ın kendi hataları da burada biter.
2Hatalı argümanlar, var olmayan bir dosya ya da Aktar'da olmayan bir hedef adı. Hiçbir şey yüklenmedi.
3Giriş yapılmamış, Aktar çalışmıyor, yerel API'si kapalı, token yanlış ya da porttaki uygulama Aktar olduğunu kanıtlayamadı (veya bunun için fazla eski).

Tarifler

Kopyala, dosya adlarını uyarla, bitti. Her tarif yalnızca yukarıda anlatılanları kullanır.

Bağlantıyı bir değişkende tut

Standart çıktıya yalnızca bağlantı ulaştığı için komut ikamesi tam olarak URL'yi alır. || exit 1, yükleme başarısız olursa script'i durdurur.

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

Bir build yükle ve bağlantıyı paylaş

Bir build'i zip'le, commit'in kısa hash'iyle Builds adlı bir hedefe yükle ve bağlantıyı JSON kabul eden herhangi bir webhook'a gönder (bir sohbet kanalı, bir issue tracker, kendi endpoint'in). set -e, yükleme başarısız olursa göndermeden önce durur.

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

Bir Makefile hedefi

make share raporu bugünün tarihiyle yükler ve bağlantıyı .last-link dosyasında tutar. Makefile'da $$, shell'e bir $ geçirir ve komut satırı bir tab ile başlar.

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

Typora görsel yükleyicisi

Typora'da Settings > Image bölümünü aç, görsel yükleyici olarak Custom Command'ı seç ve aktar'ın tam yolunu (which aktar komutunun yazdırdığı) ve ardından upload gir. Typora görsel yollarını verir ve her satırdan bir bağlantı okur.

/opt/homebrew/bin/aktar upload

When Insert… ayarıyla birlikte adım adım: Typora görsellerini S3'e yükleme.

Finder'dan ya da Kestirmeler'den yükle

Mac'te bir Kestirme'ye ya da Finder'da dosya alan bir Automator Hızlı İşlemi'ne Run Shell Script eylemi ekle ve girdiyi as arguments olarak iletecek şekilde ayarla. Kestirmeler ve Automator shell'inin PATH'ini yüklemez, ilk satır bu yüzden var. Dosyaları seç, çalıştır; bağlantılar panoda.

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

Klasörleri değil, dosyaları yükler. Birkaç dosya, her satırda bir tane olmak üzere birkaç bağlantı verir.

Geçici dosyalar

Bir log, bir ekran kaydı ya da kalıcı olmaması gereken herhangi bir şey için silme işini bucket'a bırak. Hedefte önce Aktar'ın otomatik silme kurallarının kurulu olması gerekir: Aktar'ın menü çubuğundaki ya da hedefin ayarlarındaki Silinme'den bir kez kur.

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

Süreli dosyalar bucket'ta tmp/1d/, tmp/7d/ gibi klasörlere gider ve bucket onları Aktar çalışmıyorken bile siler.

Bir bağlantıyı telefonunda aç

--qr bağlantının altına bir QR kodu yazdırır; telefonunun kamerasını terminale tut. Daha sonra yeniden göstermek için bir yüklemenin ID'sini aktar qr'a ver; burada "demo" ile eşleşen en son yükleme.

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

Windows PowerShell

Aynısı PowerShell'de de çalışır. $LASTEXITCODE çıkış kodunu tutar, ConvertFrom-Json da --json çıktısını okur.

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'ı Claude Desktop, Cursor veya VS Code'da kullan

MCP sunucuları için JSON yapılandırması alan uygulamalar (Claude Desktop, Cursor, Windsurf ve diğerleri) bu girdiye ihtiyaç duyar. VS Code aynı girdiyi .vscode/mcp.json içinde servers altında kullanır. Sonra ajanından bir dosya yüklemesini, geçen haftanın ekran görüntülerini bulmasını veya geçici bir bağlantı oluşturmasını iste.

JSON
{
  "mcpServers": {
    "aktar": { "command": "aktar", "args": ["mcp", "--root", "/Users/you/Projects"] }
  }
}

Uygulama aktar'ı bulamazsa tam yolunu (which aktar) kullan ya da argüman olarak ["-y", "@getaktar/cli", "mcp", "--root", "/Users/you/Projects"] ile npx kullan. --root'tan sonra ajanının yükleme yapabileceği klasörü yaz (Windows'ta C:\\Users\\you\\Projects gibi).

Aktar senin için ne yapar

CLI yalnızca dosyaları iletir; gerisini Aktar her hedefin ayarlarıyla yapar. Yani uygulamada kurduğun her şey, ek bir seçenek gerekmeden aktar upload için de geçerlidir ve aldığın bağlantı dosyanın saklandığı haline aittir.

  • Yol şablonları

    Dosyayı hedefin nesne yolu adlandırır: {year}, {uuid}, {filename} ve diğerleriyle. {md5} ve {sha256} dosyaları içeriklerine göre adlandırır.

  • Görsel işleme

    Hedef görselleri WebP ya da AVIF'e dönüştürüyor, sıkıştırıyor ya da yeniden boyutlandırıyorsa CLI yüklemeleri de aynı işlemden geçer ve bağlantı dönüştürülmüş dosyayı gösterir.

  • Fotoğraf meta verileri

    Hedefin yükleme varsayılanlarındaki Görsel meta verileri, fotoğraflar bilgisayarından çıkmadan önce konumu ya da tüm meta verileri siler.

  • Aynı dosya, aynı bağlantı

    Yinelenen dosyaların bağlantısını yeniden kullan açıkken aynı hedefteki aynı içerik ikinci kez yüklenmez, mevcut bağlantıyı alır. aktar bunu stderr'de belirtir.

  • Büyük dosyalar

    Büyük dosyalar parça parça yüklenir, 5 GB sınırı yoktur, kopan bağlantıdan sonra yeniden denenir ve kaldığı yerden devam eder. aktar dosyayı Aktar'a akış olarak gönderir, yani hiçbir zaman belleğe yüklemez.

  • Herkese açık ya da süreli bağlantılar

    Bağlantının herkese açık mı, yoksa gizli bucket'ta da çalışan süreli (imzalı) bir bağlantı mı olacağı, uygulamadaki gibi hedefin seçimidir.

Yinelenen dosyaların bağlantıları, görsel işleme, {md5} ile {sha256} ve parça parça yüklemeler Mac için Aktar 0.10.0 ve Windows için 0.3.0 ile geldi: 0.10.0'daki yenilikler.

Sorun giderme

aktar'ın hata mesajları aktar: ile başlar ve stderr'e gider. Çıkış kodu sorunun türünü söyler.

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

Aktar'ı aç ve Ayarlar > Entegrasyonlar bölümünde Yerel bağlantılara izin ver seçeneğinin açık olduğunu kontrol et. Portu orada değiştirdiysen onu --port ya da AKTAR_PORT ile ver veya aktar login --port komutunu yeniden çalıştır. Çıkış kodu 3.

Not connected to Aktar yet

Kayıtlı bir token da AKTAR_TOKEN da yok. Aktar'ın Ayarlar > Entegrasyonlar bölümündeki token'la aktar login komutunu çalıştır. Çıkış kodu 3.

The token doesn't match Aktar's anymore

Token Aktar'da yeniden oluşturulmuş ya da yanlış yazılmış. Güncel token'la aktar login komutunu yeniden çalıştır. AKTAR_TOKEN tanımlıysa kayıtlı token'ın önüne geçer, onu da güncelle ya da kaldır. Çıkış kodu 3.

The app on port … couldn't prove it's Aktar

Aktar'ın portunda bir şey yanıt verdi ama token'ına sahip olduğunu gösteremedi, bu yüzden token gönderilmedi. Aktar çalışıyorsa token'ı büyük ihtimalle değişmiştir: aktar login komutunu yeniden çalıştır. Aktar çalışmıyorsa aç. Çıkış kodu 3.

This version of Aktar can't prove it's Aktar

aktar 0.6.0 ve sonrası token'ı göndermeden önce uygulamayı kontrol eder; bunun için Mac için Aktar 0.18.0 ya da Windows için Aktar 0.11.0 veya sonrası gerekir. Aktar'ı güncelle (güncellemeleri kendisi sunar), komut yeniden çalışır. Çıkış kodu 3.

MCP: This server doesn't upload local files

Ajan aktar mcp'yi ana klasöründe ya da diskin en üstünde başlattı ve --root yok. Sunucunun komutuna ya da yapılandırmasına, dosyaların gelebileceği klasörle birlikte --root ekle (örneğin aktar mcp --root ~/Projects) ve ajanı yeniden başlat.

Auto-delete isn't set up for this destination

--expires için bucket'ın otomatik silme kuralları gerekir. Bunları Aktar'ın menü çubuğundaki ya da hedefin ayarlarındaki Silinme'den bir kez kur veya --expires olmadan yükle. Çıkış kodu 1.

No destination named "…"

Mesaj, Aktar'daki adları listeler. Yazımı kontrol et, boşluk içeren adları tırnak içine al (-d "Client work") ya da aktar destinations çıktısındaki ID'yi kullan. Çıkış kodu 2.

Büyük bir yükleme uzun sürüyor

Bu, depolama sağlayıcısının hızı: aktar'ın yüklemeler için süre sınırı yoktur ve terminalde ilerlemeyi stderr'de gösterir. İş bitene kadar Aktar'ı açık tut. Bağlantı koparsa ya da Aktar kapanırsa (Aktar closed the connection before the request finished), aynı dosyayı yeniden yükle: Mac için Aktar 0.10.0 ve Windows için 0.3.0 son parçadan devam eder.

aktar başlamıyor: SyntaxError ya da parseArgs

Node.js sürümün 18'den eski. node --version ile kontrol edip güncelle ya da aktar'ı kendi Node.js'ini getiren Homebrew ile kur.

PowerShell script çalıştırmanın devre dışı olduğunu söylüyor

PowerShell'in yürütme ilkesi, npm'in aktar için kurduğu script'i engelliyor. Bunun yerine aktar.cmd çalıştır ya da yerel script'lere bir kez Set-ExecutionPolicy -Scope CurrentUser RemoteSigned ile izin ver.