Skip to content

Latest commit

 

History

History
71 lines (46 loc) · 2.04 KB

README.md

File metadata and controls

71 lines (46 loc) · 2.04 KB

🛡 Go Secure Folder Backup To S3

GitHub license Go Version

A Go application that zips, encrypts, and securely backup folder to an AWS S3 Bucket.


🌟 Features

  • 🔒 Secure: Uses trusted public keys for encryption and server's private keys for signing.
  • 🗂 Batch Processing: Zips an entire folder for encrypted transfer.
  • ☁️ Cloud Ready: Easily uploads to AWS S3 Bucket.

📦 Prerequisites

  • Go (version 1.21 or higher)
  • AWS CLI (configured with required access permissions)
  • PGP keys (a trusted public key for encryption and a private key for server authentication)

🚀 Quick Start

Clone the repository

git clone https://github.com/thomasdseao/go-secure-backup-s3.git

Navigate and build

cd go-secure-backup-s3
go build .

Execute

./go-secure-backup-s3 -folder="/tmp/testpath" -tpubkey="/tmp/public_key.asc" -sprivkey="/tmp/private_key.asc" -bucket="backup-timestamp" -s3key="testbackup" -aws-access-key="XXXXXXXXXXXXXXXXX" -aws-secret-key="XXXXXXXXXXXXXX" -aws-region="eu-north-1" -signingpassword="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"

CLI Flags

  • folder: Path to the folder you want to zip.
  • tpubkey: Path to the trusted public key for encryption.
  • sprivkey: Path to the server's private key for signing.
  • signingpassword: Password for the server's private key.
  • bucket: Name of the S3 bucket where the file will be uploaded.
  • s3key: Key name to use in S3.
  • aws-access-key: AWS access key for S3 authentication.
  • aws-secret-key: AWS secret key for S3 authentication.

📃 License

This project is licensed under the MIT License.


🙋‍♂️ Questions

For questions and support, please create an issue.