Skip to content

Linkash-77/file-sharing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 

Repository files navigation

# Secure File Share (No DB, AES-256-CTR)

A minimal file-sharing system:
- Upload → server encrypts file (AES-256-CTR)
- Returns shareable link
- Link enforces expiry (hours) and max download count
- Server decrypts on-the-fly on download
- All metadata stored in-memory (no DB)

## Structure
file-sharing-project/
backend/
server.js
routes/
upload.js
download.js
utils/
crypto.js
fileStore.js
uploads/
package.json
frontend/
public/
index.html
src/
App.jsx
main.jsx
index.css
package.json

## Run
npm run dev 

### Backend
cd backend
npm install
npm run dev

## Notes
- In-memory metadata resets on server restart.
- AES-256-CTR chosen for streaming simplicity. For integrity/authentication, consider AES-256-GCM and store the auth tag.
- Increase file size limits or switch storage to S3 for production.

About

encrypted file-sharing service that prioritizes simplicity + security

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published