v1.1.0
The upload response changed
One shape for every upload, whether it carried one file or ten:
{
"files": [
{ "url": "https://files.example.com/f/20260815-143022-8f4e…/photo.jpg",
"name": "photo.jpg",
"size_bytes": 12345 }
]
}The same URL now also comes back in the Location header, where HTTP puts the
address of a thing a POST just created.
Breaking: the top-level url is gone, and so are id and mime, which
the URL already contains. size is now size_bytes, because a number without
a unit is a guess. A client that read .url should read .files[0].url.
Uploads can expire
curl -X POST -H "Authorization: Bearer $GODROP_TOKEN" \
-H "X-Expires-In: 7d" -F "file=@invoice.pdf" https://files.example.com/upload30m, 12h, 7d, 30d. ?expires= does the same for clients that cannot
set a header. The response then carries expires_at, the file stops answering
when it runs out, and the instance's retention period is the cap.
Setup asks less and finishes the job
godrop initnow checks the things that used to fail at the very end
(the data directory, docker, systemd, the port) before it asks anything, so
a setup that cannot work says so on the first screen rather than the last.- It runs
docker compose up -dand the health check itself instead of
printing them for you to paste. - Compose deployments no longer ask where to keep the files: they get a named
volume. - Everything it writes goes to
~/.godrop(%APPDATA%\GoDropon Windows),
not the directory you happened to be standing in. - On macOS every question took two presses of enter. One now.
godrop uninstall
Removes what godrop init created, lists it first, and asks. It only deletes
generated files it can prove it wrote, and it refuses outright when the binary
came from apt, dnf, brew or scoop, pointing at those instead. --purge adds
the uploaded files.
Install
curl -fsSL https://godrop.sh/install.sh | shOr with Docker:
docker run -d --name godrop --restart always -p 8747:8747 \
-e GODROP_TOKENS=$(openssl rand -hex 16) \
-v godrop-data:/data ghcr.io/fatihbaltaci/godrop:v1.1.0Debian and RPM packages are attached below; they set up the systemd service
for you. Every archive's checksum is listed in SHA256SUMS.