# Send en fil — adgangskode genereres automatisk, link + adgangskode vises $ 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 # Download — adgangskode indtastes interaktivt $ ttl get https://ttl.space/aBcDeFgHiJ Enter password: ******** Password verified ◉★✧· Phew, secret.pdf landed safe and sound (1.2 MB)
CLI'en krypterer, uploader, downloader og dekrypterer automatisk. Serveren ser aldrig din adgangskode eller dine ukrypterede data.
$ brew install tweenietomatoes/ttl/ttl
$ scoop bucket add ttl https://github.com/tweenietomatoes/scoop-ttl $ scoop install ttl
# Download til din platform fra releases $ 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
# Generer adgangskode automatisk, standard-TTL 7d $ ttl send report.xlsx
Hvis der ikke angives en adgangskode i terminalen, spørger CLI'en:
No password provided. Generate one? [Y/n]:
Tryk Enter eller skriv y for at generere automatisk.
$ ttl send -p mySecretPass -t 1h document.pdf
# Filen slettes permanent efter første download $ ttl send -b photo.jpg
$ ttl send -t 5m temp-credentials.txt # udløber om 5 minutter $ ttl send -t 30m meeting-link.txt # udløber om 30 minutter $ ttl send -t 6h backup.tar.gz # udløber om 6 timer $ ttl send -t 1d daily-report.pdf # udløber om 1 dag $ ttl send -t 3d project-archive.zip # udløber om 3 dage $ ttl send -t 5d design-assets.zip # udløber om 5 dage $ ttl send report.xlsx # udløber om 7 dage (standard)
$ ttl get https://ttl.space/aBcDeFgHiJ Enter password: ******** Password verified ◉★✧· Phew, document.pdf landed safe and sound (4.2 MB)
Adgangskoden vises ikke. Det originale filnavn gendannes.
# Du kan bruge det 10-tegns token i stedet for den fulde URL $ ttl get aBcDeFgHiJ Enter password: ******** Password verified ◉★✧· Phew, document.pdf landed safe and sound (4.2 MB)
$ ttl get -o ~/Downloads aBcDeFgHiJ
Som standard gemmes filer i den aktuelle mappe. Brug -o / --output til at angive en anden mappe.
$ ttl get -p mySecretPass https://ttl.space/aBcDeFgHiJ
Du kan også downloade og dekryptere filer i din browser ved at besøge linket direkte. Webgrænsefladen bruger det samme krypteringsbibliotek og beder om din adgangskode. Ingen softwareinstallation nødvendig.
Adgangskoden bruges som grundlag for krypteringsnøglen. Den forlader aldrig din enhed og sendes aldrig til serveren. Der er fem måder at angive den på:
$ ttl send notes.txt No password provided. Generate one? [Y/n]: y Generated password: aB3kL9mX
Genererer en kryptografisk tilfældig adgangskode på 8 tegn fra [0-9A-Za-z]. Kun tilgængelig ved send i terminalen.
$ ttl send notes.txt No password provided. Generate one? [Y/n]: n Enter password: ******** Confirm password: ******** $ ttl get https://ttl.space/aBcDeFgHiJ Enter password: ********
Adgangskoden vises ikke og gemmes ikke i shell-historikken. Ved send vælger du først, om den skal genereres automatisk. Ved get bliver du bedt om at indtaste den direkte.
-p / --password$ ttl send -p mySecretPass file.zip $ ttl get --password mySecretPass https://ttl.space/aBcDeFgHiJ
-p / --password er synlig i ps aux-output og kan gemmes i shell-historikken (~/.bash_history). Undgå brug i delte miljøer og scripts. Brug --password-stdin eller --password-file i stedet.--password-stdin# Videresend via echo $ echo "mySecretPass" | ttl send --password-stdin backup.tar.gz # Videresend fra password manager $ pass show ttl/key | ttl send --password-stdin data.zip # Videresend fra en miljøvariabel $ printenv MY_SECRET | ttl get --password-stdin https://ttl.space/aBcDeFgHiJ # Heredoc $ ttl send --password-stdin report.pdf <<<"mySecretPass"
Læser den første linje fra stdin. Nyttigt i scripts, CI/CD-pipelines og automatisering. Hvis stdin ikke er en terminal, og der ikke er angivet en adgangskodekilde, afsluttes CLI'en med en fejl (medmindre --json bruges, som automatisk genererer en adgangskode).
--password-file$ ttl send --password-file /run/secrets/key report.xlsx $ ttl get --password-file ~/.ttl-key https://ttl.space/aBcDeFgHiJ
Læser den første linje i filen (afsluttende linjeskift fjernes). Kompatibel med Docker Secrets (/run/secrets/), Vault-agentfiler og lignende mønstre.
ttl.passwordHvis der ikke angives en eksplicit adgangskode, søger CLI efter en ttl.password-fil ved siden af programmet, derefter ~/.ttl/password. Første linje bruges som adgangskode.
-p / --password, --password-stdin og --password-file kan ikke kombineres. Den automatisk registrerede ttl.password-fil kontrolleres kun, når ingen af disse er angivet. Minimumlængde: 8 tegn.| Flag | Beskrivelse | Standard |
|---|---|---|
-p, --password P | Krypteringsadgangskode | interaktiv |
--password-stdin | Læs adgangskode fra stdin | |
--password-file F | Læs adgangskode fra fil | |
-t, --ttl DUR | Gyldighedsperiode | 7d |
-b, --burn | Slet efter læsning (engangsdownload) | fra |
--timeout DUR | Overførselstimeout | auto |
--server URL | Server-URL | https://ttl.space |
-h3, --http3 | Forsøg HTTP/3 (QUIC), fallback til TCP | fra |
--json | JSON-output til stdout (til scripts og AI-agenter) | fra |
| Flag | Beskrivelse | Standard |
|---|---|---|
-p, --password P | Dekrypteringsadgangskode | interaktiv |
--password-stdin | Læs adgangskode fra stdin | |
--password-file F | Læs adgangskode fra fil | |
-o, --output DIR | Outputmappe | aktuel mappe |
--timeout DUR | Overførselstimeout | auto |
-h3, --http3 | Forsøg HTTP/3 (QUIC), fallback til TCP | fra |
--json | JSON-output til stdout (til scripts og AI-agenter) | fra |
Gratis: 5m 10m 15m 30m 1h 2h 3h 6h 12h 24h 1d 2d 3d 4d 5d 6d 7d
Orbit tilføjer: 14d 15d 28d 30d
Standard: auto — estimeret ud fra filstørrelsen med en antaget hastighed på 1 Mbps + 2 minutters buffer (minimum 5 minutter). Tilsidesæt med --timeout 10m eller --timeout 1h.
#!/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 # Linket virker kun én gang og udløber efter 5 minutter
# send — adgangskode genereres automatisk i JSON-tilstand $ ttl --json send report.pdf {"ok":true,"link":"https://ttl.space/xK9mQ2vLpA","filename":"report.pdf","size":2097152,"ttl":"7d","burn":false,"password":"aB3kL9mX"} # download $ ttl --json get -p aB3kL9mX xK9mQ2vLpA {"ok":true,"filename":"report.pdf","size":2097152,"saved_to":"/home/user/report.pdf"} # fejl returnerer ok:false {"ok":false,"error":"Link not found"}
I --json-tilstand er al output struktureret JSON på stdout. Hvis der ikke angives en adgangskode ved afsendelse, genereres en automatisk og inkluderes i svaret. Exitkode er 0 ved succes og 1 ved fejl.
Orbit giver adgang til større filer (10 GB), længere opbevaring (30 dage) og filhåndtering (liste og slet).
API-nøglen registreres automatisk: miljøvariablen TTL_API_KEY, ttl.key ved siden af programmet eller ~/.ttl/key. Brug ttl activate til at gemme nøglen eller skriv den manuelt til en af disse placeringer.
# aktiver din nøgle $ ttl activate ttl_orbit_aBcDeFgHiJ... Orbit plan activated. Key saved to /usr/local/bin/ttl.key # kontroller plan og forbrug $ 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 # send med forlænget TTL $ ttl send -t 30d large-backup.tar.gz # list seneste uploads $ 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 # slet en fil $ ttl delete xK9mQ2vLpA Deleted: xK9mQ2vLpA # fjern gemt nøgle $ ttl deactivate Key file removed: /usr/local/bin/ttl.key
ttl send / ttl get eller --json-tilstand. Nedenstående endpunkter er til Orbit-filhåndtering.$ 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}]}
Returnerer alle filer uploadet med denne nøgle. Kræver Orbit-plan.
$ curl -X DELETE https://ttl.space/v1/files/xK9mQ2vLpA -H "X-API-Key: ttl_orbit_..."
Returnerer 204 No Content ved succes. Kræver Orbit-plan. Filen skal tilhøre denne nøgle.
| Status | Betydning |
|---|---|
401 | Ugyldig eller udløbet API-nøgle |
403 | Funktionen kræver Orbit-plan |
404 | Fil ikke fundet eller tilhører ikke denne nøgle |
429 | Anmodningsgrænse overskredet |
| Begrænsning | Gratis | Orbit |
|---|---|---|
| Maks. filstørrelse | 2 GB | 10 GB |
| Maks. TTL | 7 dage | 30 dage |
| Uploads pr. dag | 10 | 50 |
| Lagerkvote | — | 250 GB |
| Liste & slet | — | ✓ |
| Min. adgangskodelængde | 8 tegn | |
| Anmodninger pr. IP | 30 pr. 10 sekunder | |
| Forbindelser pr. IP | 10 samtidige | |
Filer krypteres på din enhed, før de uploades. Serveren gemmer kun chiffertekst og kan ikke dekryptere dine filer.
| Komponent | Algoritme / værdi |
|---|---|
| Nøgleafledning | Argon2id (time=3, memory=64 MB, parallelism=1) |
| Chiffer | XChaCha20-Poly1305 AEAD |
Enhver ændring af chifferteksten medfører, at dekrypteringen fejler. Serveren verificerer, at den, der downloader, kender den korrekte adgangskode, før chifferteksten frigives, ved hjælp af et envejs-token afledt af krypteringsnøglen.