{"id":31078108,"url":"https://github.com/adarsh-agrawal123/cloud-computing___ec2_s3","last_synced_at":"2026-05-03T22:32:56.288Z","repository":{"id":314577944,"uuid":"1056036495","full_name":"adarsh-agrawal123/Cloud-computing___EC2_S3","owner":"adarsh-agrawal123","description":"A Flask-based web app to securely upload files to AWS S3 and generate expiring shareable links.","archived":false,"fork":false,"pushed_at":"2025-09-13T09:27:27.000Z","size":4803,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-13T12:23:21.179Z","etag":null,"topics":["aws","aws-ec2","aws-s3","boto3","cloud-storage","file-sharing","flask","presigned-url","python","secure-file-transfer","webapp"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adarsh-agrawal123.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-13T09:01:46.000Z","updated_at":"2025-09-13T09:49:59.000Z","dependencies_parsed_at":"2025-09-13T12:23:22.355Z","dependency_job_id":"e083cf93-9843-4a68-8eb3-f0b341e4ab21","html_url":"https://github.com/adarsh-agrawal123/Cloud-computing___EC2_S3","commit_stats":null,"previous_names":["adarsh-agrawal123/cloud-computing___ec2_s3"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/adarsh-agrawal123/Cloud-computing___EC2_S3","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adarsh-agrawal123%2FCloud-computing___EC2_S3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adarsh-agrawal123%2FCloud-computing___EC2_S3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adarsh-agrawal123%2FCloud-computing___EC2_S3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adarsh-agrawal123%2FCloud-computing___EC2_S3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adarsh-agrawal123","download_url":"https://codeload.github.com/adarsh-agrawal123/Cloud-computing___EC2_S3/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adarsh-agrawal123%2FCloud-computing___EC2_S3/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275384116,"owners_count":25454910,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-16T02:00:10.229Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aws","aws-ec2","aws-s3","boto3","cloud-storage","file-sharing","flask","presigned-url","python","secure-file-transfer","webapp"],"created_at":"2025-09-16T08:03:33.613Z","updated_at":"2025-09-16T08:03:35.513Z","avatar_url":"https://github.com/adarsh-agrawal123.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🚀 Simple File Sharing (AWS EC2 + S3)\n\nA lightweight **Flask web app** that lets you upload files to **Amazon S3** and instantly get a **temporary (pre-signed) download link**.  \nPerfect for sharing files securely without exposing your S3 bucket.\n\n---\n\n## ✨ Features\n- 📤 Upload files directly from your browser  \n- 🔒 Files are stored in a **private S3 bucket**  \n- ⏱️ Generates **pre-signed download links** with expiration  \n- ⚡ Deployable on **AWS EC2** in minutes  \n- 🐍 Simple Python + Flask stack  \n\n---\n\n## 🛠️ Run Locally (optional)\n\n```bash\n# Create and activate a virtual environment\npython3 -m venv .venv\nsource .venv/bin/activate   # Windows: .venv\\Scripts\\activate\n\n# Install dependencies\npip install -r requirements.txt\n\n# Set environment variables\nexport BUCKET_NAME=your-bucket-name\nexport AWS_REGION=ap-south-1   # change if needed\n\n# Run the app\npython app.py\n```\n\nNow open 👉 [http://127.0.0.1:5000/](http://127.0.0.1:5000/)  \n\n\u003e ⚠️ If running locally, make sure AWS credentials are configured (`aws configure`) or provided via environment variables.  \n\u003e On **EC2**, use an **IAM instance role** (no hardcoded keys!).  \n\n---\n\n## ⚙️ Environment Variables\n\n| Variable                | Required | Default       | Description |\n|--------------------------|----------|---------------|-------------|\n| `BUCKET_NAME`            | ✅ Yes   | —             | Your S3 bucket name |\n| `AWS_REGION`             | ❌ No    | ap-south-1    | AWS region |\n| `DEFAULT_EXPIRY_SECONDS` | ❌ No    | 3600 (1h)     | Default link lifetime |\n| `MAX_EXPIRY_SECONDS`     | ❌ No    | 86400 (24h)   | Max link lifetime |\n| `MAX_CONTENT_LENGTH`     | ❌ No    | 50MB          | Max upload size |\n\n---\n\n## 🔐 Security Notes\n- Keep the S3 bucket **private** (`Block Public Access = ON`)  \n- Files are only accessible through **pre-signed URLs**  \n- For production:\n  - Use **Gunicorn + Nginx** (instead of Flask’s dev server)  \n  - Enable **HTTPS** (e.g., via Let’s Encrypt)  \n\n---\n\n## 📦 Tech Stack\n- [Python 3](https://www.python.org/)  \n- [Flask](https://flask.palletsprojects.com/)  \n- [Boto3](https://boto3.amazonaws.com/)  \n- [AWS S3 + EC2](https://aws.amazon.com/)  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadarsh-agrawal123%2Fcloud-computing___ec2_s3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadarsh-agrawal123%2Fcloud-computing___ec2_s3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadarsh-agrawal123%2Fcloud-computing___ec2_s3/lists"}