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.4.0 ya da sonrası veya Windows için Aktar
  • 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

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

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.

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

Ö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

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

Ö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 token shell geçmişine düşer. 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 login --token "$AKTAR_SECRET" --port 47920
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

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",
    "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ı.
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.
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.

Çı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ı ya da token yanlış.

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

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.