| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
A self-hostable private cloud for a single dedicated machine. It combines an ordinary file Drive with three things most "drop a file" tools lack: a code-gated Quick-Upload for any device, a server-side Remote-Upload from a link, and a hybrid encryption model that lets you choose, per folder, between server-side encryption at rest (scannable) and a true client-side zero-knowledge vault.
Licensed under the GNU AGPLv3. If you host a modified version, your users are entitled to the source.
Turn any machine into a one-click uploader — right-click a file → send it straight to a ComputerShared space in your Drive. All of it lives in scripts/ and uses your personal API token over WebDAV (no new server code).
Linux — one command (interactive wizard): installs the right-click integration and/or mounts your Drive as a folder (rclone). It asks for your instance URL + token once, checks the connection, and configures everything (it honours HTTP(S)_PROXY too):
curl -fsSL https://raw.githubusercontent.com/softpython2884/OpenCoperLock/main/scripts/opencoperlock-linux-wizard.sh | bashWindows — one line in PowerShell (no admin) for the Send to → OpenCoperLock + Drop on OpenCoperLock right-click entries:
irm https://raw.githubusercontent.com/softpython2884/OpenCoperLock/main/scripts/send-to/windows/install-windows.ps1 | iexAlso in scripts/: a WebDAV network-drive mounter for Windows, and small right-click-menu tidy tools (a GUI manager + a quick declutter for the noisy Windows 11 entries). See scripts/send-to/ and the Desktop integrations section of /docs.
Replace the URL host with your own instance. On the maintainer's instance it's https://copper.forgenet.fr; the scripts default to that but prompt for yours.
A TypeScript monorepo managed with pnpm workspaces:
apps/web Next.js (App Router) front end apps/api Fastify API + the Remote-Upload worker packages/shared zod schemas, shared types, server crypto, the SSRF guard, quota math infra Dockerfiles, docker-compose, ClamAV config docs architecture, security, threat model, deployment
The API uses Prisma and PostgreSQL. Background work runs on a database-backed worker loop inside the API process, which keeps a deployment to a single moving part; Redis/BullMQ is a documented upgrade for horizontal scale. Storage goes through a small driver interface; a local-filesystem driver ships, and an S3-compatible one can be added without touching the routes. See docs/ARCHITECTURE.md for the full design.
The wizard installs prerequisites and configures PostgreSQL, the environment, the build, PM2, an nginx reverse proxy and a Let's Encrypt certificate:
git clone https://github.com/softpython2884/opencoperlock.git
cd opencoperlock
bash scripts/setup-wizard.shProvide your own PostgreSQL, then:
cp .env.example .env # set secrets and paths
./scripts/deploy.sh # install, build, migrate, seed
pm2 start ecosystem.config.cjs
pm2 save && pm2 startupcp .env.example .env
docker compose -f infra/docker-compose.yml up --build -dGenerate strong secrets with openssl rand -base64 32. Full production notes, including reverse-proxy topology and backups, are in docs/DEPLOYMENT.md.
pnpm install
pnpm --filter @opencoperlock/shared build
pnpm --filter @opencoperlock/api prisma:generate
pnpm devThe API needs a local PostgreSQL. ClamAV is optional in development; when it is unreachable, uploads are accepted and marked unscanned. Project gates: pnpm typecheck, pnpm lint, pnpm test.
The encryption model, trust boundaries and a candid threat model are documented in docs/SECURITY.md and docs/THREAT_MODEL.md. To report a vulnerability, see SECURITY.md.
See CONTRIBUTING.md and CODE_OF_CONDUCT.md.
GNU AGPL v3.0 or later. See LICENSE.
| Back | FazBrowse Home | New Git URL |