Tools100% 로컬
← 모든 도구

임시 파일 공유

30분–24시간 · 최대 10개 파일 · 각 50MB · AI 에이전트 친화적

Drop up to 10 files at once (50 MB each). Pick a lifetime between 30 minutes and 24 hours and each upload comes back with a public URL that auto-expires. Result rows include an agent prompt variant for AI models that fetch URLs but won't on their own — it tells them to download and read the file. URL guessing gets the source IP banned for 30 days.
유효기간

작동 방식

Each file is sent to a Cloudflare R2 bucket through the Pages Functions endpoint at /api/upload, along with the lifetime you picked. The object is written with a custom expiresAt timestamp; /f/<id> reads it on every download and returns 410 Gone once it elapses. A 1-day R2 lifecycle rule physically removes the object as a backstop.

AI 에이전트를 위한 설계

Many language-model agents can call fetch or a browsing tool, but they won't proactively download a URL you paste — they treat it as an opaque string. The Agent prompt variant on every result row prepends a short instruction ("Please download and read this file") in the active language, so the model sees a clear directive next to the URL and reaches for its fetch tool.

Anti-enumeration

URL IDs are 16 base62 characters (~95 bits of entropy), so the chance of guessing a live link is essentially zero. On top of that, every 404/410 from /f/* increments a per-IP miss counter in KV. After 10 misses the IP gets pushed onto a ban list with a 30-day TTL and is blocked from both /f/* and /api/upload until the marker expires.

어떤 파일을 올릴 수 있나요?

Any file, any size up to 50 MB. Type isn't restricted because downloads are always served with Content-Disposition: attachment and X-Content-Type-Options: nosniff — the browser saves the file instead of rendering it, so an uploaded HTML/SVG/JS file can't run as a script on this origin.

제한 및 속도

개인정보

Treat each URL as shared with whoever holds the link, not as private storage. The id is unguessable in practice and the ban list stops casual brute force, but anyone you share the URL with can fetch the file until it expires. We hash IPs (SHA-256) before using them as a KV key, never persist them on the R2 object, and serve every download with noindex, nofollow.