Caddy plugin to generate file indexes of S3 buckets to browse via Web Client
This will provide directory listing for an S3 bucket (you are able to use minio, or other S3 providers).
Note: For performance reasons, the file listing is fetched once every 5 minutes to reduce load on S3. You can force a refresh by sending a POST request to the plugin.
Use xcaddy to build.
Example:
$ xcaddy build --output ./caddy --with github.com/techknowlogick/caddy-s3browser@main
See Caddyfile.tmpl
for a template.
option | type | default | help |
---|---|---|---|
site_name | string | S3 Browser | Site display name |
endpoint | string | S3 hostname | |
region | string | empty | S3 region (optional) |
key | string | S3 access key | |
secret | string | S3 secret key | |
secure | bool | true |
Use TLS when connection to S3 |
bucket | string | S3 bucket | |
refresh_interval | string | 5m |
Time between periodic refresh |
refresh_api_secret | string | empty | A key to protect the refresh API. (optional) |
debug | bool | false |
Output debug information |
signed_url_redirect | bool | false |
Output debug information |
You can trigger a force refresh by making a POST request to the server:
curl -X POST "$HOST"
When refresh_api_secret
is set, you must use HTTP basic auth:
curl -X POST "api:$SECRET@$HOST" # the username can be anything