Skip to content

Mentioned in Awesome Go Go Doc Github Actions Go Report Card

Coverage Status Docker Pulls GitHub license GitHub release (latest by date)

Why ?

First of all, yes, this is another S3 proxy written in Golang.

I've created this project because I couldn't find any other that allow to proxy multiple S3 buckets or to have custom templates with OpenID Connect authentication and also to get, upload and delete files.

Features

  • Multi S3 bucket proxy
  • Index document (display index document instead of listing when found)
  • Custom templates
  • AWS S3 Login from files or environment variables
  • Custom S3 endpoints supported
  • Basic Authentication support
  • Multiple Basic Authentication support
  • OpenID Connect Authentication support
  • Multiple OpenID Connect Provider support
  • Redirect to original host and path with OpenID Connect authentication
  • Target mount point configuration with hostname and multiple path support
  • Authentication by path and http method on each bucket
  • Allow to publish files on S3 bucket
  • Allow to delete files on S3 bucket
  • Open Policy Agent integration for authorizations
  • Configuration hot reload
  • CORS support
  • Prometheus metrics
  • S3 Key Rewrite possibility

See more information on these features in the "Feature Guide".

Advanced interfaces

Looking for more advanced interfaces. Take a look on this project: s3-proxy-interfaces.

Provided interfaces in the project are really simple and based on NGinX template. Those are React based, with Material design and with customization.

Want to contribute ?

Inspired by

Thanks

  • My wife BH to support me doing this

Author

  • Oxyno-zeta (Havrileck Alexandre)

License

Apache 2.0 (See in LICENSE)