Diagrams是一个云系统架构原型图制作库,它的诞生是为了在没有任何设计工具的情况下对新的系统架构进行原型设计。您还可以描述或可视化现有系统架构,Diagram as Code允许您跟踪任何版本控制系统中的架构图更改。相比于在 UI 上面对各种图标进行拖拽和调整,这种方式更符合我们程序员的使用习惯。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Tomas Dvorak d8b0a87870
feat(desktop): manual reconnect for drives with lost event push (#156)
2 weeks ago
.build chore: phase A maintenance automation and dev infrastructure 2 weeks ago
.github feat(desktop): port cross-platform full-sync (Linux/macOS) from upstream PR#50 2 weeks ago
android feat: monorepo restructure — vendor frontend + desktop, scaffold android, rewrite CI/CD 2 weeks ago
application fix(migrator): honor DatabaseURL connection string in v3 migrator 2 weeks ago
cmd feat(encryption): add UI and settings for file encryption 11 months ago
desktop feat(desktop): manual reconnect for drives with lost event push (#156) 2 weeks ago
ent feat(admin): record and filter task creator IP 2 weeks ago
frontend fix(locales): reindent en-US remote-download quota keys 2 weeks ago
inventory feat(admin): CIDR/exact matching for task creator-IP filter 2 weeks ago
middleware refactor(conf): route remaining global config reads through provider 2 weeks ago
pkg fix(downloader): drain yt-dlp pipes before Wait to avoid output loss 2 weeks ago
routers refactor(controllers): collapse error-response skeletons into respond helpers 2 weeks ago
service feat(download): remote-download quotas per count and per volume 2 weeks ago
.gitignore security(oauth): drop hardcoded secrets from built-in public clients 2 weeks ago
.goreleaser.yaml Publish a slim Docker image without LibreOffice/aria2/media tooling 2 weeks ago
CONTRIBUTING.md docs: rewrite README and project docs for the community fork 2 weeks ago
Dockerfile merge: upstream PR #2481 2 weeks ago
Dockerfile.slim Publish a slim Docker image without LibreOffice/aria2/media tooling 2 weeks ago
LICENSE Add: README & License 7 years ago
NOTICE chore: phase A maintenance automation and dev infrastructure 2 weeks ago
README.md docs: rewrite README and project docs for the community fork 2 weeks ago
README_zh-CN.md docs: rewrite README and project docs for the community fork 2 weeks ago
ROADMAP.md docs: rewrite README and project docs for the community fork 2 weeks ago
SECURITY.md doc: update security policy 4 months ago
docker-compose.dev.yml chore: phase A maintenance automation and dev infrastructure 2 weeks ago
docker-compose.yml fix: Some containers won't auto restart in the current Docker Compose (#2932) 1 year ago
giscus.json Create giscus.json 2 years ago
go.mod refactor(deps): drop cfssl, google/uuid, and x/tools for stdlib equivalents 2 weeks ago
go.sum refactor(deps): drop cfssl, google/uuid, and x/tools for stdlib equivalents 2 weeks ago
main.go refactor(dep): make inventory clients true lazy singletons 2 weeks ago

README.md


Cloudreve — Community Fork

Self-hosted file management and sharing platform — fully open source, actively maintained.

CI Release GPL-3.0

This is an actively maintained fork of cloudreve/cloudreve. All original work is by the Cloudreve authors (cloudreve.org). This fork exists because upstream development had slowed: it continues the project as a complete, fully open-source distribution — backend, web frontend, desktop clients for Windows/macOS/Linux, and a native Android app — with every "Pro"-class feature reimplemented as free software. See NOTICE for attribution.

What this fork does differently

  • No Pro tier. The upsell UI (ProChip/ProDialog) is removed. Pro-class capabilities are being reimplemented as open features: share collaboration (upload/edit/preview-only/drop-box shares), OIDC SSO, delegated admin roles — already shipped.
  • Upstream issue backlog triaged and fixed. All 137 migrated upstream issues are tracked in this repo's issue tracker; ~70% are closed. WebDAV mounts/read-only/collision handling, stuck uploads, recycle-bin fail-safes, SQLite WAL, MySQL parseTime, unix-socket migrations, and dozens more.
  • Security hardening on top of upstream's fixes. OAuth public clients no longer ship hardcoded secrets (PKCE only, per RFC 8252); SSRF validation on remote-download URLs; delegated-admin access is audit-logged; auth endpoints are rate-limited; the downloader layer was reviewed for process execution and path-safety.
  • One monorepo. Backend + frontend + desktop + Android live here; no submodules.
  • Tests and CI are real. GitHub Actions run backend tests, frontend typecheck/build, and the desktop matrix (Windows/macOS/Linux) on every PR.

Repository layout

.                    Go backend — Gin + ent ORM (SQLite/MySQL/PostgreSQL)
frontend/            Web SPA — React + TypeScript + Vite + MUI (vendored, no submodule)
desktop/             Desktop client — Tauri/Rust sync engine (Windows cfapi today;
                     macOS/Linux hydration providers on the roadmap)
android/             Native Android client — Kotlin + Jetpack Compose (scaffolded, Phase E)
.github/workflows/   CI (backend, frontend, desktop matrix) + release pipeline

Features

  • Storage providers: local, remote node, S3-compatible, OneDrive, OSS, COS, Qiniu, Upyun, KS3, OBS.
  • Direct upload/download between client and storage; chunked, resumable, parallel uploads.
  • Remote download: aria2, qBittorrent, and yt-dlp providers, multi-node with per-node settings, group-level concurrent/size quotas.
  • Share links with expiration — plus fork additions: upload-only drop boxes, edit-in-place, preview-only mode, anonymous upload, IP-restricted views.
  • Archive compress/extract, media metadata extraction, metadata/tag search.
  • WebDAV across all storage providers (read-only group enforcement fixed in this fork).
  • SSO: generic OIDC inbound consumer (auth-code + nonce, JWKS-verified, auto-provisioning), OAuth public clients with PKCE, passkeys, TOTP 2FA.
  • Multi-user, multi-group; admin task list with CIDR-capable creator-IP filtering; per-user trash retention; per-group remote-download quotas.
  • Preview: image (progressive thumbnail→full-res), video, audio, ePub, Markdown, diagrams, Office documents (WOPI), 3D models.
  • PWA, dark mode, i18n (en-US, zh-CN, and more), theme customization, custom HTML injection.

Build from source

Prereqs: Go ≥ 1.24, Node ≥ 20 + Yarn, (desktop) Rust + platform Tauri deps.

# Frontend
cd frontend && yarn install
NODE_OPTIONS=--max-old-space-size=6144 yarn build   # emits build/ consumed by the Go embed

# Backend (repo root) — the binary serves frontend + API on :5212
go build -o cloudreve .
./cloudreve

Desktop client: see desktop/CLAUDE.md (cargo tauri build, Windows-first; other platforms WIP).

Development

go build ./... && go vet ./... && go test ./...          # backend gate
cd frontend && yarn tsc --noEmit && yarn build           # frontend gate

docker-compose.dev.yml brings up postgres + redis + a source-built backend; yarn dev gives frontend hot reload. PRs land via feature branches — never push to master — and must pass all CI jobs before merge.

Status scorecard

Area State
Backend / frontend Stable — 4.19.1 line, all CI green
Upstream issues ~70% of the 137 migrated issues closed; remainder are feature-scale, Pro-surface, or device-bound
Code health desloppify strict score 77.1 (was 18.9); 73 review items dispositioned
Desktop client Windows functional (cfapi sync + shell integration); macOS/Linux providers planned
Android client Scaffolded — Kotlin/Compose skeleton, Phase E in ROADMAP.md
Pro-free features Share collaboration ✓, OIDC SSO ✓, delegated admins ✓; storage-policy migration, VAS/billing, audit surface in progress

Known limitations and the full plan: ROADMAP.md · issue tracker has honest per-issue status.

Security

Report vulnerabilities privately via GitHub's "Report a vulnerability" on this repo — do not open a public issue. All 16 published upstream GHSAs are patched at our baseline; our own additions are reviewed for SSRF, path traversal, process execution, and session entropy before merge.

Credits

Cloudreve was created by Aaron Liu and the Cloudreve contributors (cloudreve.org). This fork is an independent continuation under the same GPL-3.0 license — attribution, not endorsement. See NOTICE for the full attribution statement.

License

GPL-3.0 — same as upstream. Contributions are licensed identically.