Használati útmutató

Magyar

Gyors indulás

# fájl küldése: a jelszó automatikusan generálódik, kiírja a linket + jelszót
$ ttl send secret.pdf
No password provided. Generate one? [Y/n]:
Generated password: aB3kL9mXq7Rt
·✧★◉ Thank goodness, secret.pdf is in orbit (1.2 MB)
IMPORTANT! Save your password — required to download and decrypt the file.
Password: aB3kL9mXq7Rt
https://ttl.space/aBcDeFgHiJ

# letöltés: interaktívan kéri a jelszót
$ ttl get https://ttl.space/aBcDeFgHiJ
Enter password: ********
Password verified
◉★✧· Phew, secret.pdf landed safe and sound (1.2 MB)

A CLI kezeli a titkosítást, feltöltést, letöltést és visszafejtést. A szerver soha nem látja a jelszavad vagy a titkosítatlan adataidat.

Telepítés

Homebrew (macOS)

$ brew install tweenietomatoes/ttl/ttl

Scoop (Windows)

$ scoop bucket add ttl https://github.com/tweenietomatoes/scoop-ttl
$ scoop install ttl

Előre lefordított bináris

# a platformodnak megfelelő verzió letöltése a kiadásokból
$ curl -Lo ttl.tar.gz \
  https://github.com/tweenietomatoes/ttl/releases/download/v1.6.0/ttl_1.6.0_linux_amd64.tar.gz
$ tar xzf ttl.tar.gz && sudo mv ttl /usr/local/bin/

Go install

$ go install github.com/tweenietomatoes/ttl/cmd/ttl@latest

Forrásból

$ git clone https://github.com/tweenietomatoes/ttl
$ cd ttl && go build -o ttl ./cmd/ttl/
$ sudo mv ttl /usr/local/bin/

Ellenőrzés

$ ttl version
ttl 1.6.0

Fájlok küldése

Egyszerű küldés

# automatikus jelszógenerálás, alapértelmezett 7 napos TTL
$ ttl send report.xlsx

Ha terminálban nem adsz meg jelszót, a CLI megkérdezi:

No password provided. Generate one? [Y/n]:

Nyomj Entert vagy írd be az y betűt az automatikus generáláshoz.

Egyéni jelszó

$ ttl send -p mySecretPass -t 1h document.pdf

Megsemmisítés olvasás után

# az első letöltés indulásának pillanatában elhasználódik; megszakadás után csak ez a letöltés folytatódhat
$ ttl send -b photo.jpg

Egyéni TTL

$ ttl send -t 5m temp-credentials.txt   # 5 perc múlva lejár
$ ttl send -t 30m meeting-link.txt      # 30 perc múlva lejár
$ ttl send -t 6h backup.tar.gz          # 6 óra múlva lejár
$ ttl send -t 1d daily-report.pdf       # 1 nap múlva lejár
$ ttl send -t 3d project-archive.zip    # 3 nap múlva lejár
$ ttl send -t 5d design-assets.zip      # 5 nap múlva lejár
$ ttl send report.xlsx                  # 7 nap múlva lejár (alapértelmezett)

Fájlok letöltése

Interaktív (terminál)

$ ttl get https://ttl.space/aBcDeFgHiJ
Enter password: ********
Password verified
◉★✧· Phew, document.pdf landed safe and sound (4.2 MB)

A jelszó nem jelenik meg a terminálban. Az eredeti fájlnév megőrződik; ha ilyen nevű fájl már létezik a kimeneti könyvtárban, a fájl felülírás helyett name (1).ext néven mentődik.

Csak token

# a teljes URL helyett csak a 10 karakteres tokent is használhatod
$ ttl get aBcDeFgHiJ

Kimeneti könyvtár

$ ttl get -o ~/Downloads aBcDeFgHiJ

Alapértelmezés szerint a fájlok az aktuális könyvtárba kerülnek. Használd a -o / --output kapcsolót más könyvtár megadásához.

Jelszó kapcsolóval

$ ttl get -p mySecretPass https://ttl.space/aBcDeFgHiJ

Böngésző

A fájlokat a böngészőben is letöltheti és visszafejtheti a link közvetlen megnyitásával. A webes felület ugyanazt a fájlformátumot és ugyanazokat az algoritmusokat (Argon2id, XChaCha20-Poly1305) használja, és jelszót kér. Nem szükséges szoftver telepítése.

Jelszókezelés

A jelszó a titkosítási kulcs alapja. Soha nem hagyja el az eszközödet, és soha nem kerül elküldésre a szerverre. Hat módon adhatod meg:

1. Automatikus generálás (csak küldésnél)

$ ttl send notes.txt
No password provided. Generate one? [Y/n]: y
Generated password: aB3kL9mXq7Rt

Kriptográfiailag biztonságos, 12 karakteres jelszót generál a [0-9A-Za-z] készletből. Csak a send parancsnál érhető el (interaktívan, vagy --json módban automatikusan).

2. Interaktív kérés

$ ttl send notes.txt
No password provided. Generate one? [Y/n]: n
Enter password: ********
Confirm password: ********

$ ttl get https://ttl.space/aBcDeFgHiJ
Enter password: ********

A jelszó nem jelenik meg. A send parancsnál először választhatsz, hogy generáljon-e jelszót. A get parancsnál közvetlenül kéri a jelszót.

3. Kapcsoló: -p / --password

$ ttl send -p mySecretPass file.zip
$ ttl get --password mySecretPass https://ttl.space/aBcDeFgHiJ
-p / --password látható a ps aux kimenetben és elmenthető a shell előzményeibe (~/.bash_history). Kerüld a használatát megosztott környezetekben és szkriptekben. Használd helyette a --password-stdin vagy --password-file opciót.

4. Stdin: --password-stdin

# átadás echo-val
$ echo "mySecretPass" | ttl send --password-stdin backup.tar.gz

# átadás jelszókezelőből
$ pass show ttl/key | ttl send --password-stdin data.zip

# átadás környezeti változóból
$ printenv MY_SECRET | ttl get --password-stdin https://ttl.space/aBcDeFgHiJ

# heredoc
$ ttl send --password-stdin report.pdf <<<"mySecretPass"

Az stdin első sorát olvassa be. Hasznos szkriptekben, CI/CD-csővezetékekben és automatizálásban. Ha az stdin nem terminál és nem adtak meg jelszóforrást, a CLI hibával kilép (kivéve --json használatakor, amely automatikusan generál jelszót).

5. Fájl: --password-file

$ ttl send --password-file /run/secrets/key report.xlsx
$ ttl get --password-file ~/.ttl-key https://ttl.space/aBcDeFgHiJ

A fájl első sorát olvassa be (a záró sortörés eltávolításra kerül). Kompatibilis Docker titkokkal (/run/secrets/), Vault agent fájlokkal és hasonló megoldásokkal.

6. Automatikusan észlelt fájl: ttl.password

Ha nincs megadva explicit jelszó, a CLI a program melletti ttl.password fájlt keresi, majd a ~/.ttl/password fájlt. Az első sor lesz a jelszó.

Egyszerre csak egy explicit jelszóforrás használható. A -p / --password, --password-stdin és --password-file nem kombinálhatók. Az automatikusan észlelt ttl.password fájl csak akkor kerül ellenőrzésre, ha ezek egyike sincs megadva. Minimális hossz: 8 karakter.

Kapcsolók referencia

Küldés kapcsolói

KapcsolóLeírásAlapértelmezett
-p, --password PTitkosítási jelszóinteraktív
--password-stdinJelszó beolvasása stdin-ről
--password-file FJelszó beolvasása fájlból
-t, --ttl DURÉlettartam7d
-b, --burnMegsemmisítés olvasás után (egyszeri letöltés)ki
-u, --uploader-onlyCsak a saját API-kulcsod töltheti le (Orbit; álneve --private)ki
--timeout DURÁtviteli időkorlátnincs
--server URLSzerver URLhttps://ttl.space
-h3, --http3HTTP/3 (QUIC) próbálása, visszaesés TCP-reki
--jsonJSON kimenet az stdout-ra (szkriptekhez és mesterséges intelligencia ügynököknek)ki

Letöltés kapcsolói

KapcsolóLeírásAlapértelmezett
-p, --password PVisszafejtési jelszóinteraktív
--password-stdinJelszó beolvasása stdin-ről
--password-file FJelszó beolvasása fájlból
-o, --output DIRKimeneti könyvtáraktuális könyvtár
--timeout DURÁtviteli időkorlátnincs
-h3, --http3HTTP/3 (QUIC) próbálása, visszaesés TCP-reki
--jsonJSON kimenet az stdout-ra (szkriptekhez és mesterséges intelligencia ügynököknek)ki

TTL értékek

Ingyenes: 5m 10m 15m 30m 1h 2h 3h 6h 12h 24h 1d 2d 3d 4d 5d 6d 7d

Orbit hozzáad: 14d 15d 28d 30d permanent

Időkorlát

Alapértelmezett: nincs. Az elakadt átvitel magától folytatódik, és leáll, ha nem tud továbbhaladni. Korlátot a --timeout 30m vagy --timeout 2h kapcsolóval állíthat be.

Példák

Szkript: mentés és feltöltés

#!/bin/bash
tar czf /tmp/backup.tar.gz /data
echo "$BACKUP_KEY" | ttl send --password-stdin -t 6h /tmp/backup.tar.gz
rm /tmp/backup.tar.gz

Link másolása vágólapra (macOS)

$ ttl send -p mypass123 file.pdf | pbcopy

Link másolása vágólapra (Linux)

$ ttl send -p mypass123 file.pdf | xclip -sel clip

Megsemmisítés: egyszeri titok

$ echo "$DB_PASSWORD" | ttl send --password-stdin -b -t 5m credentials.env
# a link pontosan egyszer működik, 5 perc után lejár

JSON mód (szkriptek & MI ügynökök)

# küldés: jelszó automatikusan generálódik JSON módban
$ ttl --json send report.pdf
{"ok":true,"link":"https://ttl.space/xK9mQ2vLpA","filename":"report.pdf","size":2097152,"ttl":"7d","burn":false,"uploader_only":false,"is_permanent":false,"password":"aB3kL9mXq7Rt"}

# letöltés
$ ttl --json get -p aB3kL9mXq7Rt xK9mQ2vLpA
{"ok":true,"filename":"report.pdf","size":2097152,"saved_to":"/home/user/report.pdf"}

# hibák ok:false-t adnak vissza
{"ok":false,"error":"Link not found"}

--json módban az összes kimenet strukturált JSON az stdout-on. Ha küldéskor nem adtál meg jelszót, automatikusan generálódik és szerepel a válaszban. A kilépési kód sikernél 0, hibánál 1.

Orbit csomag

Az Orbit nagyobb fájlokat (10 GB), hosszabb megőrzést (30 nap vagy állandó), csak a feltöltő által letölthető fájlokat (csak a te API-kulcsoddal tölthetők le) és fájlkezelést (listázás és törlés) biztosít. Teljes összehasonlítás: Features.

Az API-kulcs automatikusan észlelődik: TTL_API_KEY környezeti változó, a program melletti ttl.key vagy ~/.ttl/key. Használja a ttl activate parancsot a kulcs mentéséhez, vagy írja be kézzel ezek egyikébe.

# kulcs aktiválása: rejtett bevitellel kéri, így nem kerül a shell előzményeibe
$ ttl activate
Enter Orbit API key: ********
Orbit plan activated. Key saved to /usr/local/bin/ttl.key
# nem interaktív: ttl activate --key-stdin  |  ttl activate --key-file F

# csomag és használat ellenőrzése
$ ttl plan
Plan: orbit
Max file size: 10.0 GB
Max TTL: 30 days (or permanent)
Uploads per day: 1000000

Usage:
  Uploads today: 3
  Active storage: 1.2 GB / 500.0 GB

# küldés meghosszabbított TTL-lel
$ ttl send -t 30d large-backup.tar.gz
# állandó fájl (csak Orbittal): nincs lejárat, addig megmarad, amíg nem törlöd, vagy amíg az előfizetésed véget nem ér
$ ttl send -t permanent archive.tar.gz
# privát fájl küldése: csak a te API-kulcsod töltheti le (csak Orbittal)
$ ttl send -u payroll.xlsx

# legutóbbi feltöltések listázása
$ ttl list
  xK9mQ2vLpA    4.2 MB  2026-03-16 10:30 → 2026-04-15 10:30  [active]
  https://ttl.space/xK9mQ2vLpA
  rT7bNw3KpF  912.0 KB  2026-03-15 14:20 → 2026-03-17 14:20  [active (burn)]
  https://ttl.space/rT7bNw3KpF

# fájl törlése
$ ttl delete xK9mQ2vLpA
Deleted: xK9mQ2vLpA

# mentett kulcs eltávolítása
$ ttl deactivate
Key file removed: /usr/local/bin/ttl.key

HTTP API

A feltöltés és letöltés a CLI titkosítási csővezetékét igényli (Argon2id + XChaCha20-Poly1305 + blokkos AEAD). Szkriptekhez használja a ttl send / ttl get parancsot vagy a --json módot. Az alábbi végpontok az Orbit fájlkezeléshez valók.

Fájlok listázása (Orbit)

$ curl https://ttl.space/v1/files -H "X-API-Key: ttl_orbit_..."
{"files":[{"token":"xK9mQ2vLpA","link":"https://ttl.space/xK9mQ2vLpA","size_bytes":1048576,"created_at":1711800600,"expires_at":1714392600,"burn":false,"expired":false,"uploader_only":false,"is_permanent":false,"is_note":false,"perm_grace_until":0}],"has_more":false}

# következő oldal: csak ha a has_more értéke true; az előző válasz next_cursor értékét kell átadni
$ curl "https://ttl.space/v1/files?cursor=1711800600123456" -H "X-API-Key: ttl_orbit_..."

Visszaadja az ezzel a kulccsal feltöltött fájlokat, a legújabbal kezdve, oldalanként 20-at. Ha a has_more értéke true, a válasz a next_cursor mezőt is tartalmazza; add át ?cursor= paraméterként a következő oldal lekéréséhez. Orbit csomag szükséges.

Fájl törlése (Orbit)

$ curl -X DELETE https://ttl.space/v1/files/xK9mQ2vLpA -H "X-API-Key: ttl_orbit_..."

Siker esetén 204 No Content választ ad. Orbit csomag szükséges. A fájlnak ehhez a kulcshoz kell tartoznia.

Hibaválaszok

ÁllapotJelentés
401Érvénytelen vagy lejárt API-kulcs
403A funkció Orbit csomagot igényel
404Fájl nem található vagy nem tartozik ehhez a kulcshoz
429Kéréskorlát túllépve
500Belső szerverhiba, próbáld újra később
502A tárhely átmenetileg nem érhető el, próbáld újra később

Korlátok

KorlátozásIngyenesOrbit
Max. fájlméret2 GB10 GB
Max. TTL7 nap30 nap vagy állandó
Feltöltés naponta10Korlátlan
Feltöltési mennyiség naponta (IP-nként)10 GBKorlátlan
Egyidejű feltöltések1 IP-nként1 IP-nként és API-kulcsonként
Tárhelykvóta✗500 GB
Fájllista✗✓
Korai törlés✓✓
Csak a feltöltő által letölthető fájlok✗✓
Min. jelszóhossz8 karakter
Kérések IP-nként30 per 10 másodperc
Kapcsolatok IP-nként10 egyidejű

Titkosítás

A fájlok feltöltés előtt az eszközödön titkosítódnak. A szerver csak titkosított adatot tárol, és nem tudja visszafejteni a fájljaidat.

KomponensAlgoritmus / Érték
KulcsszármaztatásArgon2id (time=3, memory=64 MiB, parallelism=1)
RejtjelezőXChaCha20-Poly1305 AEAD

A titkosított szöveg bármilyen módosítása visszafejtési hibát okoz. A szerver ellenőrzi, hogy a letöltő ismeri-e a helyes jelszót, mielőtt kiadná a titkosított szöveget, egy egyirányú tokennel, amely a titkosítási kulcsból származik.