Download files

Download a file

You can either use the UI and click the download symbol of any file you want to download or you could use a command line tool like curl or wget to retrieve the file on a command line. If you click the file name it could be opened in the browser to view the content directly depending on the file type.

Download from UI Download from UI

$ curl localhost:8000/test.txt
test

Resumable & seekable downloads

Downloads support HTTP Range requests, so transfers can be paused and resumed instead of restarting from the beginning — useful for large files over flaky links. The same mechanism lets browsers seek within media files (audio/video) served by goshs without downloading the whole file first.

Browsers and download managers use this automatically. On the command line you can request a byte range explicitly:

# fetch only bytes 0-99 (server replies 206 Partial Content)
$ curl -r 0-99 localhost:8000/bigfile.bin -o part1

# resume an interrupted download from where it stopped
$ curl -C - localhost:8000/bigfile.bin -o bigfile.bin

Range support also applies to shared single-file links and captured SMTP attachments.

Retrieve json

You can retrieve the file listing in json format like so curl -s localhost:8000/?json | jq.

[
  {
    "name": "test.txt",
    "is_dir": false,
    "is_symlink": false,
    "symlink_target": "",
    "extension": ".txt",
    "size_bytes": 5,
    "last_modified": 1685541810000,
    "ReadOnly": false
  }
]

Bulk download files

You can also select several or all files by using the checkboxes. Then you can click the download button that gets shown to retrieve the files as a compressed archive (zip file).