{"id":50983310,"url":"https://github.com/usausa/experimental-storage","last_synced_at":"2026-06-19T16:34:10.565Z","repository":{"id":346497217,"uuid":"1189383071","full_name":"usausa/experimental-storage","owner":"usausa","description":"S3-compatible local object storage server","archived":false,"fork":false,"pushed_at":"2026-04-22T06:22:18.000Z","size":567,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-22T08:28:54.865Z","etag":null,"topics":["aws","aws-s3","blazor","developer-tools","s3","storage"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/usausa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-03-23T09:10:34.000Z","updated_at":"2026-04-22T06:22:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/usausa/experimental-storage","commit_stats":null,"previous_names":["usausa/experimental-storage"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/usausa/experimental-storage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usausa%2Fexperimental-storage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usausa%2Fexperimental-storage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usausa%2Fexperimental-storage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usausa%2Fexperimental-storage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/usausa","download_url":"https://codeload.github.com/usausa/experimental-storage/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/usausa%2Fexperimental-storage/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34539888,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-19T02:00:06.005Z","response_time":61,"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-s3","blazor","developer-tools","s3","storage"],"created_at":"2026-06-19T16:34:08.805Z","updated_at":"2026-06-19T16:34:10.557Z","avatar_url":"https://github.com/usausa.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Storage Server\n\nS3-compatible local object storage server built with ASP.NET Core (.NET 10) and Blazor Server.  \nProvides an S3-compatible REST API and a web management UI.  \nDesigned for development and testing — point your AWS SDK at this server instead of AWS S3.\n\n## S3 API Compatibility\n\n**Legend:** ✅ Supported ⚠️ Stub ❌ Not supported\n\n\u003e **⚠️ Stub** — the request is accepted and returns a success response, but no data is stored or enforced.\n\n### Service\n\n| Operation | Status |\n|---|---|\n| ListBuckets | ✅ |\n\n### Bucket\n\n| Operation | Status | Notes |\n|---|---|---|\n| CreateBucket | ✅ | |\n| DeleteBucket | ✅ | |\n| HeadBucket | ✅ | |\n| GetBucketLocation | ✅ | Always returns `us-east-1` |\n| GetBucketVersioning | ✅ | Always returns `Enabled` |\n| PutBucketVersioning | ⚠️ | Accepted; ignored |\n| GetBucketTagging | ✅ | |\n| PutBucketTagging | ✅ | |\n| DeleteBucketTagging | ✅ | |\n| GetBucketAcl | ✅ | |\n| PutBucketAcl | ✅ | Canned ACL only |\n| GetBucketCors | ✅ | |\n| PutBucketCors | ✅ | |\n| DeleteBucketCors | ✅ | |\n| GetBucketPolicy | ⚠️ | Returns 204; no data stored |\n| PutBucketPolicy | ⚠️ | Accepted; ignored |\n| GetBucketLifecycle | ⚠️ | Returns 204; no data stored |\n| PutBucketLifecycle | ⚠️ | Accepted; ignored |\n| GetBucketLogging | ⚠️ | Returns 204; no data stored |\n| PutBucketLogging | ⚠️ | Accepted; ignored |\n| GetBucketNotification | ⚠️ | Returns 204; no data stored |\n| PutBucketNotification | ⚠️ | Accepted; ignored |\n| GetBucketEncryption | ⚠️ | Returns 204; no data stored |\n| PutBucketEncryption | ⚠️ | Accepted; ignored |\n\n### Object\n\n| Operation | Status | Notes |\n|---|---|---|\n| ListObjectsV2 | ✅ | prefix, delimiter, pagination |\n| PutObject | ✅ | user metadata, storage class, ACL header |\n| GetObject | ✅ | Range, conditional headers |\n| HeadObject | ✅ | |\n| DeleteObject | ✅ | |\n| DeleteObjects | ✅ | Bulk delete |\n| CopyObject | ✅ | COPY / REPLACE metadata directive |\n| GetObjectTagging | ✅ | |\n| PutObjectTagging | ✅ | |\n| DeleteObjectTagging | ✅ | |\n| GetObjectAcl | ✅ | |\n| PutObjectAcl | ✅ | Canned ACL only |\n\n### Multipart Upload\n\n| Operation | Status | Notes |\n|---|---|---|\n| CreateMultipartUpload | ✅ | |\n| UploadPart | ✅ | |\n| CompleteMultipartUpload | ✅ | |\n| AbortMultipartUpload | ✅ | |\n| ListMultipartUploads | ✅ | |\n| ListParts | ✅ | |\n| UploadPartCopy | ❌ | Not implemented |\n\n### Authentication \u0026 Security\n\n| Feature | Status | Notes |\n|---|---|---|\n| Signature V4 verification | ❌ | Dev tool; any credentials accepted |\n| Presigned URLs | ❌ | No signature engine |\n| Server-Side Encryption (SSE) | ❌ | Data stored as plaintext |\n| Bucket Policy enforcement | ❌ | Policy stubbed; not enforced |\n| Object Lock / WORM | ❌ | Not implemented |\n| STS / IAM | ❌ | Not applicable |\n\n### Advanced Features\n\n| Feature | Status | Notes |\n|---|---|---|\n| S3 Select | ❌ | Not implemented |\n| Transfer Acceleration | ❌ | Not applicable locally |\n| Cross-Region Replication | ❌ | Single-node only |\n| S3 Object Lambda | ❌ | Not applicable |\n| S3 Batch Operations | ❌ | Not implemented |\n| S3 Inventory | ❌ | Not implemented |\n\n## Web UI\n\nBlazor Server management UI.\n\n| Path | Screen |\n|---|---|\n| `/` | Dashboard — bucket list, create, delete, tags |\n| `/browse/{bucket}` | File browser — upload, delete, preview, metadata, versioning |\n\n\u003cimg src=\"Document/webui.png\" title=\"Web UI\" width=\"50%\"\u003e\n\n## Documentation\n\n- [Storage Structure](Document/storage-structure.md)\n- [Virtual Host Setup](Documents/virtual-host.md)\n- [Client CLI Reference](Document/client.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fusausa%2Fexperimental-storage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fusausa%2Fexperimental-storage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fusausa%2Fexperimental-storage/lists"}