Skip to content

romanzdk/s3-web-browser

Repository files navigation

S3 Web Browser

Python version Last Commit GitHub stars

Flask AWS S3 Docker

S3 Web Browser is a Flask-based web application that allows users to browse AWS S3 buckets and their contents via a simple web interface. This project leverages Boto3, AWS's SDK for Python, to interact with S3.

S3 web browser page preview

S3 web browser page preview

S3 web browser page preview

Features

  • List S3 Buckets: View all S3 buckets available to the AWS account.
  • Browse Bucket Contents: Navigate through the contents of any S3 bucket, including folders and files.
  • Generate Presigned URLs: Securely generate temporary URLs for S3 objects, making them accessible for a limited time.

Run

In Docker

  1. Specify AWS credentials in .env file:
  2. docker build -t s3-browser .
  3. docker run -it --rm -p 8000:8000 --network=host --env-file .env s3-browser
  4. Go to http://127.0.0.1:8000/ to browse through your files

Development

  1. Setup - poetry install

  2. Run CQ - make cq

  3. Run tests - make test

  4. Export AWS credentials as environment variables

    export AWS_ACCESS_KEY_ID="your_access_key_id"
    export AWS_SECRET_ACCESS_KEY="your_secret_access_key"
  5. Run app - gunicorn app:app

  6. Access the app at http://127.0.0.1:8000/

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements

  • Flask for providing the web framework.
  • AWS Boto3 for interfacing with Amazon S3.

About

A Flask-based S3 Browser for navigating AWS S3 buckets and files with secure, temporary URL generation for object sharing.

Topics

Resources

License

Stars

Watchers

Forks