Skip to content

buildwithmeraj/drpy

Repository files navigation

DRPY Icon DRPY

Temporary file sharing with privacy-first controls.

Live Link

https://drpy-share.vercel.app

Tech Stack

  • Next.js (App Router)
  • NextAuth.js (credentials + Google)
  • MongoDB
  • Cloudflare R2 (single or multi-account)
  • Tailwind CSS + DaisyUI

Features

  • Auth: email/password + Google
  • Upload with quota checks and progress
  • File manager: folders, search/sort/filter, bulk actions, preview
  • Share links: expiry, password, max downloads, regenerate, revoke
  • My Links page with QR codes
  • Dashboard analytics (downloads, bandwidth, top links/files)
  • Cleanup jobs for expired/orphan data

Getting Started

  1. Install dependencies:
npm install
  1. Copy env file:
cp .env.example .env
  1. Fill required values in .env (DB, auth, R2, SMTP).

  2. Run dev server:

npm run dev

App runs at http://localhost:3000.

Scripts

npm run dev
npm run build
npm run start
npm run lint

Environment Notes

  • R2_ACCOUNTS_JSON is optional. If set, it overrides single-account R2_* vars.
  • Global storage cap is enforced using configured R2 account count.
  • Contact form requires SMTP + ADMIN_EMAIL.

Main Routes

  • / home
  • /login, /signup
  • /dashboard
  • /upload
  • /files
  • /links
  • /s/[code] public share page
  • /about, /privacy, /tos, /contact

About

Temporary file sharing with privacy-first controls.

Resources

Stars

Watchers

Forks

Contributors