EXCHANGE allows users to share files using browser on their devices
Shared files can be protected with a password
Stack: Vue, Socket.IO, Typescript, common-styles
Demo: https://exchange.dyum.in
Backend project is available here: https://github.com/peterdee/exchange-backend
Clone repository
git clone https://github.com/peterdee/exchange-web
cd ./exchange-web
nvm use 18
npm ci
Create a certificates
directory in the project root
mkdir certificates && cd certificates
Generate certificate files for HTTPS
# Generate key file
openssl genrsa -out key.pem 2048
# Generate CSR
openssl req -new -sha256 -key key.pem -out csr.csr
# Generate certificate
openssl req -x509 -sha256 -days 365 -key key.pem -in csr.csr -out cert.pem
HTTPS is required for the SubtleCrypto interface that works only in secure contexts
More details about certificate generating can be found here
The .env
file is required, see .env.example for details
npm run dev
Local WEB application will be available at https://localhost:3000
-
Improve data transfer security for password-proteced files: check grant for every requested file chunk
-
Allow sharing private files: make it possible to share files that are not publicly visible
release
branch is automatically deployed to Vercel