mirror of
https://github.com/saltbo/zpan.git
synced 2026-09-01 15:49:00 +08:00
8e079abaa60b48e6993b7a3659fe0ddf137562fa
better-auth defers `user.create.after` hooks until after the transaction commits, but the session cookie cache is written inside the transaction. This caused `activeOrganizationId` to be null on first load after sign-up, breaking features that depend on an active organization (e.g. Image Host). Solution: create the personal org in `session.create.before` (which runs inside the transaction, after user INSERT) and set `activeOrganizationId` on the session before it's cached. Also keep idempotent org creation in `user.create.after` so orgs are created even without auto sign-in (e.g. when email verification is required). Additionally fix an ambiguous Playwright locator in image-host.spec.ts that matched multiple elements. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
ZPan
The open-source, S3-native file hosting platform.
Image bed, file sharing, and backup — powered by S3, deployed anywhere.
What is ZPan?
ZPan is a lightweight file hosting platform built on top of S3-compatible storage. Files upload directly from the client to S3, bypassing server bandwidth entirely.
Three scenarios, one platform:
- Image Bed — Upload via PicGo / ShareX / API, get a URL instantly
- File Sharing — Upload files, generate share links, distribute to anyone
- File Backup — CLI agent syncs local directories to S3/R2
Deploy
Cloudflare Workers (Recommended)
One-click deploy with zero server management. Free tier covers personal use.
Docker
docker compose up -d
Documentation
Why ZPan?
- Zero bandwidth bottleneck — files transfer directly between client and S3
- Zero ops option — deploy to Cloudflare Workers for free, no server needed
- Self-host friendly — Docker deployment with any S3-compatible storage
- Tool ecosystem — works with PicGo, ShareX, Flameshot out of the box
- Open source — free forever for self-hosted users
v1
Looking for ZPan v1 (Go version)? See the v1 branch.
Contributing
See CONTRIBUTING.md for details.
Thank you to all the people who contributed to ZPan!
License
ZPan is under the GPL 3.0 license. See the LICENSE file for details.
Languages
TypeScript
92.7%
Go
6.5%
JavaScript
0.5%
CSS
0.1%