This project was design to allow anyone to drop a digital package in front of your digital front porch. Ideal when someone has a an issue sending a big file that dosen't fit an email, or when less technical people don't know how to share a file using Dropbox or other similar services.
Just send your personal Frontporch URL, and that is it.
As security measure, not everyone will be able to drop a package. The site will query a special JSON file in S3 which have to contain a list of emails that can be used in the To
filed. If no email is found the file upload won't work.
Lastly thanks to a SNS topic you will be notified every time there is a new file uploaded.
This stack is available to anyone at no cost, but on an as-is basis. 0x4447, LLC. is not responsible for damages or costs of any kind that may occur when you use the stack. You take full responsibility when you use it.
All you need to do to deploy this stack is click the button to the left and follow the instructions that CloudFormation provides in your AWS Dashboard. Alternatively you can download the CF file from here.
This deployment will create the following resources:
- 1x CloudFront
- 1x CodeBuilds
- 1x CodePipelines
- 1x Cognito Identity Pool
- 1x IAM Group
- 3x S3 Buckets
- 1x SNS
All project resources can be found here.
After you deploy the stack, you will get a special bucket with a name that ends with -database
. This bucket needs to contain a file called emails.json
. The file should look something like this:
{
"bob_example_com": "[email protected]",
"sara_example_com": "[email protected]"
}
The key of the object is the simplified version of the email, and the value is he full email. The S3 query will take the email in the To
field from the site, strip it all out of the unnecessary characters, and then perform a query to see if we get something back. If we get back a result, we know the email is know to the sender and we will allow the upload process.
To update the file, download it from S3, add the new email or edit an existing one, and re-upload it by overwriting the original file in S3.
Add your email to the created SNS subscription to receive notifications when a new file gets uploaded.
All resources deployed via this stack will cost you money based on requests to the site and amount of file stored in S3.
When you want to deploy the stack, the only file you should be interested in is the CloudFormation.json
file. If you'd like to modify the stack, we recommend that you use the Grapes framework, which was designed to make it easier to work with the CloudFormation file. If you'd like to keep your sanity, never edit the main CF file ๐คช.
If you enjoyed this project, please consider giving it a ๐. And check out our 0x4447 GitHub account, where you'll find additional resources you might find useful or interesting.
This project is brought to you by 0x4447 LLC, a software company specializing in building custom solutions on top of AWS. Follow this link to learn more: https://0x4447.com. Alternatively, send an email to [email protected].