epress-cli
v1.0.0
Published
CLI tool to upload and download compressed files across machines
Maintainers
Readme
epress - Fast File Sharing CLI
A super fast CLI tool to upload and download compressed files across machines.
Quick Start
1. Setup Backend (Next.js)
cd backend
npm install
npm run devThe backend will run on http://localhost:3000
2. Setup Vercel Blob Storage
- Go to Vercel Dashboard → Your Team → Settings → Storage
- Create a new Blob Store (or use existing)
- Copy the
BLOB_READ_WRITE_TOKEN - Add it as an environment variable in Vercel:
- Go to your project → Settings → Environment Variables
- Add:
BLOB_READ_WRITE_TOKEN= your token
3. Deploy Backend (Vercel - Recommended)
cd backend
npm install
vercelAfter deployment, set the API URL:
export EPRESS_API_URL=https://your-app.vercel.app/api4. Use CLI Tool
Upload a file or folder:
npx epress post ./my-folder
npx epress post ./file.txt
npx epress post ./my-folder --name "my-project"Download by ID:
npx epress pull <id>
npx epress pull <id> --output ./downloadsDevelopment
Local Development
- Start backend:
cd backend
npm run dev- Test CLI locally:
node cli.js post ./test-folder
node cli.js pull <id>Publishing CLI to npm
- Update package.json with your npm username
- Login to npm:
npm login - Publish:
npm publish
Environment Variables
CLI
EPRESS_API_URL- Backend API URL (default: http://localhost:3000/api)
Backend (Vercel)
BLOB_READ_WRITE_TOKEN- Vercel Blob storage token (required for production)
Features
- ✅ Upload files/folders as compressed zip
- ✅ Download and extract files by ID
- ✅ Works cross-platform (Windows, Mac, Linux)
- ✅ Fast deployment on Vercel
- ✅ Persistent storage with Vercel Blob
- ✅ No database needed
Notes
- Files are stored in Vercel Blob storage (persistent and fast)
- Add authentication if needed
- Set up file expiration/cleanup for old uploads
