Simple Windows Setup Guide -------------------------- No IIS, PHP, MySQL, Apache, or local web server required -------------------------------------------------------- This uploader is designed for people who want the efficient workflow without building a full development server. You do **not** need: - IIS - PHP - MySQL - Apache - Node.js - a local database - a custom web application - S3 Browser manual upload steps You only need: - Windows 11 - PowerShell, already included with Windows - AWS CLI v2 - AWS credentials that can upload to your S3 bucket - this uploader folder What it does ------------ When you download a verified MyAnythingList daily build ZIP, this tool can: 1. notice the ZIP in your Downloads folder 2. confirm it is really a MyAnythingList build 3. reject unrelated Chrome downloads 4. extract only the approved app/defaults/docs files 5. place them in your local `_daily-builds/YYYY-MM-DD/` folder 6. mirror that folder to S3 Then you test the hosted page. What it does not do ------------------- It does not run a web server. It does not edit your app. It does not create a database. It does not upload arbitrary files from Downloads. It does not replace the standalone public beta. The public beta still works as one HTML file. Step 1 — Install AWS CLI v2 --------------------------- Install AWS CLI v2 from Amazon. Then open PowerShell and test: aws --version You should see something like: aws-cli/2.x.x Step 2 — Configure AWS access ----------------------------- In PowerShell: aws configure Enter: AWS Access Key ID AWS Secret Access Key Default region Default output format For output format, `json` is fine. Then test: aws sts get-caller-identity If that returns account information, AWS CLI is working. Step 3 — Edit settings ---------------------- Open: config\settings.ps1 Set your bucket: $Settings.S3Bucket = "YOUR-BUCKET-NAME" Set your S3 path template: $Settings.S3PrefixTemplate = "beta/_daily-builds/{date}/" Set your local folder: $Settings.LocalDailyBuildsRoot = "$env:USERPROFILE\Downloads\_daily-builds" Leave dry-run on for the first test: $Settings.DryRun = $true Step 4 — Test one time ---------------------- Download a real build ZIP such as: index_beta_2026-06-29-v057.zip Run: powershell -ExecutionPolicy Bypass -File .\scripts\run-once.ps1 Because dry-run is on, it should show what it would upload without changing S3. Step 5 — Turn on real upload ---------------------------- After the dry-run looks correct, edit: $Settings.DryRun = $false Run again: powershell -ExecutionPolicy Bypass -File .\scripts\run-once.ps1 Step 6 — Optional background watcher ------------------------------------ Install the watcher at Windows login: powershell -ExecutionPolicy Bypass -File .\scripts\install-scheduled-task.ps1 After that, the workflow is: download approved MyAnythingList ZIP watcher extracts locally watcher mirrors to S3 open hosted daily-build URL and test Safety rules ------------ The uploader only processes filenames like: index_beta_YYYY-MM-DD-v###.zip And it only accepts this payload: index_beta_YYYY-MM-DD-v###.html _MyAnythingList-defaults.txt docs/YYYY-MM-DD/v###/en-us/controllable-parameters.html Everything else is ignored or rejected. Recommended folder model ------------------------ Local: Downloads\_daily-builds\YYYY-MM-DD\ S3: s3://YOUR-BUCKET/beta/_daily-builds/YYYY-MM-DD/ Public URL: https://YOUR-DOMAIN/beta/_daily-builds/YYYY-MM-DD/ Why this avoids IIS/PHP/MySQL ----------------------------- The uploader is only a file mover and mirror tool. It watches a folder, extracts a ZIP, and calls: aws s3 sync That is enough for static S3/CloudFront daily builds. A future PHP backend can generate translations and defaults, but this uploader does not require that backend.