DroplineDownload

Hosts overview

A host profile is one upload target: an endpoint, credentials, and the rules for turning a response into a link. You can keep as many as you like side by side, switch the default at any time, and upload to several concurrently.

This page is the reference for what the fields mean. Each service then has its own page with the exact values to type.

Pick a host

Your situation Use
You already have an AWS account Amazon S3
You want zero egress fees Cloudflare R2
Your users are in mainland China Aliyun OSS or Tencent COS
You run your own storage MinIO
You want a free image host, no account SM.MS
You want a free image host with an API key Imgur
You self-host an image gallery Lsky Pro / Chevereto or EasyImage
Your API is not on this list Custom multipart or Custom binary PUT

The three engines

The Upload method picker at the top of the profile editor chooses one of three request shapes. Everything below it changes to match.

multipart/form-data

A normal HTML form post — the file as one part, optional extra fields alongside it. This is what almost every image-host API speaks.

Field Meaning
Upload URL The endpoint. Templated, so {{key}} and friends work
Method POST, PUT or PATCH — POST for nearly everything
File field name The form field the file goes in: file, image, smfile
Custom headers Extra request headers; values are templated
Extra form fields Extra parts alongside the file; values are templated
JSON path Where the link is in the response — see Reading the response
Final URL template Optional rewrite of that value

The multipart part's filename is the last path segment of your rendered object key. Most hosts ignore it and assign their own name.

Binary PUT / POST

The file's bytes are the entire request body, with a Content-Type derived from the extension. There is no form, so there are no form fields and no file field name.

This is the engine for WebDAV-style endpoints and small self-hosted receivers, where the path decides the name:

text
Upload URL   https://files.example.com/{{key}}
Method       PUT
JSON path    (empty)
Final URL    https://files.example.com/{{key}}

S3-compatible (AWS SigV4)

A signed PUT of the object, using AWS Signature Version 4. Dropline always signs path-style requests — endpoint/bucket/key — which is what R2, MinIO and self-hosted gateways expect, and which AWS still accepts.

Field Meaning
Endpoint The service origin. Leave empty for AWS, which then uses https://s3.<region>.amazonaws.com
Region auto, us-east-1, oss-cn-hangzhou…
Bucket The bucket name, on its own — never part of the endpoint
Access Key ID Not secret; stored in the config file
Secret Access Key Secret; stored in the keychain
Public base URL Optional. Empty means the link is endpoint/bucket/key

There is no JSON path here: S3 replies with an empty body on success, so the URL is constructed rather than parsed.

The five authentication kinds

For the multipart and binary engines. The secret itself always goes to the keychain, whichever kind you pick.

Kind What Dropline sends
None Nothing. Used when a token rides in a form field instead
Bearer Token Authorization: Bearer <secret>
Basic Authorization: Basic base64(<username>:<secret>)
Custom header <header name>: <secret> — verbatim, no prefix added
URL query parameter ?<parameter name>=<secret> appended to the upload URL

Custom header is the escape hatch. Because the value is sent verbatim, an API wanting Authorization: Client-ID abc123 is configured by setting the header name to Authorization and the value to the whole string Client-ID abc123.

Managing profiles

  • + adds a profile from a preset. − deletes the selected one.
  • Set as Default marks which profile new uploads use; the default carries a green tick in the list.
  • Test Upload sends an 8×8 PNG through the profile and reports the URL or the error. Use it after every change.
  • Deleting a profile deletes its keychain entry with it.

All presets at a glance

Preset Engine Auth JSON path
Amazon S3 S3 SigV4 —
Cloudflare R2 S3 SigV4 —
Aliyun OSS S3 SigV4 —
Tencent COS S3 SigV4 —
MinIO S3 SigV4 —
SM.MS multipart Custom header data.url
Imgur multipart Custom header data.link
Lsky Pro / Chevereto multipart Bearer data.links.url
EasyImage multipart form field url
Custom HTTP multipart any url
Custom binary PUT binary any (empty)
On this page