mirror of
https://github.com/IliesAllali/parenthese.git
synced 2026-11-08 23:42:42 +00:00
Un SVG ou du HTML déclaré « photo » passait et s'exécutait sur app.parenthese.io à l'ouverture (vol de session du propriétaire). Le type vient maintenant des premiers octets, les photos sont réencodées par sharp (rotation appliquée, EXIF et GPS retirés), les vidéos de téléphone perdent leur position, et chaque fichier est servi avec nosniff et une CSP sandbox (téléchargement pour tout ce qui n'est pas image, son, vidéo ou PDF). Fichiers supprimés effacés du disque, quota par arbre, limite de débit sur les envois. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
38 lines
1021 B
JSON
38 lines
1021 B
JSON
{
|
|
"name": "backend",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"db:bootstrap": "node scripts/db-local.mjs bootstrap",
|
|
"db:start": "node scripts/db-local.mjs start",
|
|
"db:stop": "node scripts/db-local.mjs stop",
|
|
"db:status": "node scripts/db-local.mjs status",
|
|
"dev": "tsx watch src/server.ts",
|
|
"build": "tsc -p tsconfig.json",
|
|
"start": "node dist/server.js",
|
|
"test": "vitest run",
|
|
"prisma:generate": "prisma generate",
|
|
"prisma:migrate": "prisma migrate dev",
|
|
"prisma:deploy": "prisma migrate deploy"
|
|
},
|
|
"dependencies": {
|
|
"@fastify/cors": "^10.1.0",
|
|
"@fastify/jwt": "^10.2.2",
|
|
"@fastify/rate-limit": "^10.3.0",
|
|
"@prisma/client": "^6.15.0",
|
|
"bcryptjs": "^3.0.2",
|
|
"dotenv": "^16.6.1",
|
|
"fastify": "^5.6.1",
|
|
"sharp": "^0.34.5",
|
|
"zod": "^4.1.5"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^24.3.0",
|
|
"prisma": "^6.15.0",
|
|
"tsx": "^4.23.15",
|
|
"typescript": "^5.9.2",
|
|
"vitest": "^5.0.1"
|
|
}
|
|
}
|