[{"data":1,"prerenderedAt":201},["ShallowReactive",2],{"nav-docs":3,"nav-api":60,"docs-sending-files":89},[4],{"title":5,"path":6,"stem":7,"children":8},"Docs","\u002Fdocs","docs",[9,12,16,20,24,28,32,36,40,44,48,52,56],{"title":10,"path":6,"stem":11},"Installation","docs\u002Findex",{"title":13,"path":14,"stem":15},"Sending files","\u002Fdocs\u002Fsending-files","docs\u002F02.sending-files",{"title":17,"path":18,"stem":19},"Receiving files","\u002Fdocs\u002Freceiving-files","docs\u002F03.receiving-files",{"title":21,"path":22,"stem":23},"Passwords, galleries and backgrounds","\u002Fdocs\u002Fshare-options","docs\u002F04.share-options",{"title":25,"path":26,"stem":27},"Expiry and deletion","\u002Fdocs\u002Fexpiry","docs\u002F05.expiry",{"title":29,"path":30,"stem":31},"Users","\u002Fdocs\u002Fusers","docs\u002F06.users",{"title":33,"path":34,"stem":35},"Configuration","\u002Fdocs\u002Fconfiguration","docs\u002F07.configuration",{"title":37,"path":38,"stem":39},"Colours and branding","\u002Fdocs\u002Fcolors","docs\u002F08.colors",{"title":41,"path":42,"stem":43},"Docker","\u002Fdocs\u002Fdocker","docs\u002F09.docker",{"title":45,"path":46,"stem":47},"API keys","\u002Fdocs\u002Fapi-keys","docs\u002F10.api-keys",{"title":49,"path":50,"stem":51},"MCP server","\u002Fdocs\u002Fmcp-server","docs\u002F11.mcp-server",{"title":53,"path":54,"stem":55},"Troubleshooting","\u002Fdocs\u002Ftroubleshooting","docs\u002F12.troubleshooting",{"title":57,"path":58,"stem":59},"Contributing","\u002Fdocs\u002Fcontributing","docs\u002F13.contributing",[61],{"title":62,"path":63,"stem":64,"children":65},"Api","\u002Fapi","api",[66,69,73,77,81,85],{"title":67,"path":63,"stem":68},"REST API","api\u002Findex",{"title":70,"path":71,"stem":72},"Transfers","\u002Fapi\u002Ftransfers","api\u002F02.transfers",{"title":74,"path":75,"stem":76},"Uploading files","\u002Fapi\u002Fupload","api\u002F03.upload",{"title":78,"path":79,"stem":80},"Sending a transfer","\u002Fapi\u002Fsend","api\u002F04.send",{"title":82,"path":83,"stem":84},"Downloading","\u002Fapi\u002Fdownload","api\u002F05.download",{"title":86,"path":87,"stem":88},"Recipients","\u002Fapi\u002Frecipients","api\u002F06.recipients",{"id":90,"title":13,"body":91,"description":195,"extension":196,"meta":197,"navigation":198,"path":14,"seo":199,"stem":15,"__hash__":200},"docs\u002Fdocs\u002F02.sending-files.md",{"type":92,"value":93,"toc":187},"minimark",[94,98,107,112,115,137,145,149,152,159,162,166,173,177,184],[95,96,13],"h1",{"id":97},"sending-files",[99,100,101,102,106],"p",{},"Sign in, press ",[103,104,105],"strong",{},"New transfer",", and drop files on the dropzone. Up to 50 files\nper transfer by default, each up to 2 GB — both configurable.",[108,109,111],"h2",{"id":110},"how-an-upload-actually-works","How an upload actually works",[99,113,114],{},"The composer does three things in order, and it is worth knowing because it is\nwhat makes large transfers survivable:",[116,117,118,125,131],"ol",{},[119,120,121,124],"li",{},[103,122,123],{},"A draft is created."," An empty transfer row, with no files yet and nothing\ne-mailed.",[119,126,127,130],{},[103,128,129],{},"Each file is uploaded in its own request",", streamed straight to disk\nrather than buffered in memory. A 20 GB transfer costs the same working\nset as a 20 MB one, you get real per-file progress, and a single failed\nfile can be retried without starting the whole thing again.",[119,132,133,136],{},[103,134,135],{},"The transfer is sent."," Only now is anything e-mailed, and only now does\nthe retention clock start — an upload that took an hour doesn't eat an hour\nof the recipient's download window.",[99,138,139,140,144],{},"A draft that is never sent is swept after ",[141,142,143],"code",{},"NUXT_DRAFT_MAX_AGE_HOURS"," (24 by\ndefault), so an abandoned upload doesn't quietly fill the disk.",[108,146,148],{"id":147},"recipients-or-none-at-all","Recipients, or none at all",[99,150,151],{},"Type one or more addresses and each gets an e-mail with a download button. You\nget a receipt with the same link, so you have your own copy.",[99,153,154,155,158],{},"Leave the list ",[103,156,157],{},"empty"," and nothing is e-mailed: you get the link on screen and\npass it on yourself, by message or chat or your own mail client. This is the\nright choice when you don't have the address, or when the recipient is a group.",[99,160,161],{},"A transfer can address at most 25 recipients. Each one is an outbound e-mail,\nand that cap is what stops the instance being used as a mail relay.",[108,163,165],{"id":164},"the-message","The message",[99,167,168,169,172],{},"The subject and message you type appear on the download page and in the e-mail.\nReplies to that e-mail go to ",[103,170,171],{},"you",", not to the system mailbox — which is what\na recipient will try first.",[108,174,176],{"id":175},"what-the-recipient-sees","What the recipient sees",[99,178,179,180,183],{},"A page with your name, your message, the file list and a ",[103,181,182],{},"Download all as ZIP","\nbutton. The zip is streamed and stored rather than compressed, so it starts\nimmediately even on a multi-gigabyte transfer instead of making the recipient\nwait while the server packs an archive.",[99,185,186],{},"Filenames are reattached on the way out. On disk every file has a random name,\nwhich removes path traversal, reserved Windows names and case-insensitive\noverwrites as a class of problem rather than sanitising them one at a time.",{"title":188,"searchDepth":189,"depth":189,"links":190},"",2,[191,192,193,194],{"id":110,"depth":189,"text":111},{"id":147,"depth":189,"text":148},{"id":164,"depth":189,"text":165},{"id":175,"depth":189,"text":176},"Sign in, press New transfer, and drop files on the dropzone. Up to 50 files\nper transfer by default, each up to 2 GB — both configurable.","md",{},true,{"title":13,"description":195},"FVMpAv09xGYvFgYNqx_ZNheoGo6TUEp9wrQUWRmL_Bg",1790104591922]