# 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: aB3kL9mX ·✧★◉ Thank goodness, secret.pdf is in orbit (1.2 MB) IMPORTANT! Save your password — required to download and decrypt the file. Password: aB3kL9mX 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.
$ brew install tweenietomatoes/ttl/ttl
$ scoop bucket add ttl https://github.com/tweenietomatoes/scoop-ttl $ scoop install ttl
# a platformodnak megfelelő verzió letöltése a kiadásokból $ curl -Lo ttl.tar.gz \ https://github.com/tweenietomatoes/ttl/releases/latest/download/ttl_linux_amd64.tar.gz $ tar xzf ttl.tar.gz && sudo mv ttl /usr/local/bin/
$ go install github.com/tweenietomatoes/ttl/cmd/ttl@latest
$ git clone https://github.com/tweenietomatoes/ttl $ cd ttl && go build -o ttl ./cmd/ttl/ $ sudo mv ttl /usr/local/bin/
$ ttl version ttl v1.3.0
# 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.
$ ttl send -p mySecretPass -t 1h document.pdf
# a fájl véglegesen törlődik az első letöltés után $ ttl send -b photo.jpg
$ 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)
$ 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.
# a teljes URL helyett csak a 10 karakteres tokent is használhatod $ ttl get aBcDeFgHiJ Enter password: ******** Password verified ◉★✧· Phew, document.pdf landed safe and sound (4.2 MB)
$ 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.
$ ttl get -p mySecretPass https://ttl.space/aBcDeFgHiJ
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 titkosítási könyvtárat használja, és jelszót kér. Nem szükséges szoftver telepítése.
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. Öt módon adhatod meg:
$ ttl send notes.txt No password provided. Generate one? [Y/n]: y Generated password: aB3kL9mX
Kriptográfiailag biztonságos, 8 karakteres jelszót generál a [0-9A-Za-z] készletből. Csak a send parancsnál érhető el terminálban.
$ 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.
-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.--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).
--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.
ttl.passwordHa 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ó.
-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ó | Leírás | Alapértelmezett |
|---|---|---|
-p, --password P | Titkosítási jelszó | interaktív |
--password-stdin | Jelszó beolvasása stdin-ről | |
--password-file F | Jelszó beolvasása fájlból | |
-t, --ttl DUR | Élettartam | 7d |
-b, --burn | Megsemmisítés olvasás után (egyszeri letöltés) | ki |
--timeout DUR | Átviteli időkorlát | automatikus |
--server URL | Szerver URL | https://ttl.space |
-h3, --http3 | HTTP/3 (QUIC) próbálása, visszaesés TCP-re | ki |
--json | JSON kimenet az stdout-ra (szkriptekhez és mesterséges intelligencia ügynököknek) | ki |
| Kapcsoló | Leírás | Alapértelmezett |
|---|---|---|
-p, --password P | Visszafejtési jelszó | interaktív |
--password-stdin | Jelszó beolvasása stdin-ről | |
--password-file F | Jelszó beolvasása fájlból | |
-o, --output DIR | Kimeneti könyvtár | aktuális könyvtár |
--timeout DUR | Átviteli időkorlát | automatikus |
-h3, --http3 | HTTP/3 (QUIC) próbálása, visszaesés TCP-re | ki |
--json | JSON kimenet az stdout-ra (szkriptekhez és mesterséges intelligencia ügynököknek) | ki |
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
Alapértelmezett: automatikus — a fájlméretből becsülve 1 Mbps feltételezésével + 2 perc ráhagyás (minimum 5 perc). Felülírható a --timeout 10m vagy --timeout 1h kapcsolóval.
#!/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
$ ttl send -p mypass123 file.pdf | pbcopy
$ ttl send -p mypass123 file.pdf | xclip -sel clip
$ 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
# 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,"password":"aB3kL9mX"} # letöltés $ ttl --json get -p aB3kL9mX 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 nagyobb fájlokat (10 GB), hosszabb megőrzést (30 nap) és fájlkezelést (listázás és törlés) biztosít.
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 $ ttl activate ttl_orbit_aBcDeFgHiJ... Orbit plan activated. Key saved to /usr/local/bin/ttl.key # csomag és használat ellenőrzése $ ttl plan Plan: orbit Max file size: 10.0 GB Max TTL: 30 days Uploads per day: Unlimited Usage: Uploads today: 3 Active storage: 1.2 GB / 250.0 GB # küldés meghosszabbított TTL-lel $ ttl send -t 30d large-backup.tar.gz # 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
ttl send / ttl get parancsot vagy a --json módot. Az alábbi végpontok az Orbit fájlkezeléshez valók.$ 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}]}
Visszaadja az ezzel a kulccsal feltöltött összes fájlt. Orbit csomag szükséges.
$ 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.
| Állapot | Jelentés |
|---|---|
401 | Érvénytelen vagy lejárt API-kulcs |
403 | A funkció Orbit csomagot igényel |
404 | Fájl nem található vagy nem tartozik ehhez a kulcshoz |
429 | Kéréskorlát túllépve |
| Korlátozás | Ingyenes | Orbit |
|---|---|---|
| Max. fájlméret | 2 GB | 10 GB |
| Max. TTL | 7 nap | 30 nap |
| Feltöltés naponta | 10 | 50 |
| Tárhelykvóta | — | 250 GB |
| Listázás & törlés | — | ✓ |
| Min. jelszóhossz | 8 karakter | |
| Kérések IP-nként | 30 per 10 másodperc | |
| Kapcsolatok IP-nként | 10 egyidejű | |
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.
| Komponens | Algoritmus / Érték |
|---|---|
| Kulcsszármaztatás | Argon2id (time=3, memory=64 MB, 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.