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
Node v22 is required
Clone repository and install dependencies
cd ./exchange-web
nvm use 22
npm ciCreate a certificates directory in the project root
mkdir certificates && cd certificatesGenerate certificate files for HTTPS
MacOS / Ubuntu / Windows
# 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.pemHTTPS 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 devLocal WEB application will be available at https://localhost:3000
release branch is automatically deployed to Vercel