Skip to content

Alos-no/s3-presigned-upload-tester

Repository files navigation

S3 Content-Length Enforcement Tester

Automated compliance testing for S3-compatible storage providers.

When you generate a presigned URL with a signed Content-Length, does your provider actually enforce it? This tool finds out.

View Live Dashboard


What It Tests

Test Expected Purpose
Upload matches signed size Accept Baseline: valid uploads work
Body larger than signed Reject Prevents quota bypass
Body smaller than signed Reject Prevents truncation attacks
Header/body mismatch Reject Prevents header spoofing

Tests run against both multipart uploads (UploadPart) and single-part uploads (PutObject).


Providers Tested

Provider Status
AWS S3 AWS
Cloudflare R2 R2
Backblaze B2 B2
Google Cloud Storage GCS

Quick Start

# Install
pip install -e .

# Configure (copy and edit)
cp config.example.json config.json

# Run tests
python run.py

API

Results are available as JSON for integration into your own monitoring:

GET /data/latest.json    # Current test results
GET /data/history.json   # Historical data + changelog
GET /data/badges/*.svg   # Status badges per provider

Architecture

src/
├── runner.py          # Test orchestration
├── test_cases.py      # Test definitions
├── s3_client.py       # Provider interactions
└── site_generator/    # Dashboard data generation

site/                  # Static dashboard (GitHub Pages)

Background

This project validates the Manifested Multipart Upload pattern for enforcing upload quotas at the storage edge without proxying data through your servers.


License

MIT

Releases

No releases published

Packages

 
 
 

Contributors