A modern, responsive web interface for viewing your pCloud storage with secure authentication.
Built with HTML5 + JavaScript + Cloudflare Workers
- 🔐 Secure Authentication - JWT-based login system with configurable credentials
- 📁 No File Management - Easy to make your drive public
- ⬇️ Download Files - Direct download links and streaming support
- 🔗 Link Sharing - Generate direct download link - with Cloudflare proxy
- 📊 Storage Analytics - Real-time storage usage monitoring
- 🔍 Search & Sort - Find files quickly with search and sorting options
- 🎨 Modern UI - Dark/light theme toggle with glassmorphic design
- 📱 Responsive Design - Works seamlessly on desktop, tablet, and mobile
- Resume support in download links.
- View Files directly (images/videos)
- Variable for switching pCloud Region
Requirements
- Cloudflare account
- pCloud API access token
Steps
- Navigate to Cloudflare Workers dashboard
- Create a new Worker
- Copy the contents of
worker.jsto your Worker - Set up environment variables (see Variables Info)
- Deploy the Worker
Requirements
- Docker installed
Steps
# Clone the repository
git clone https://github.com/vinayak-7-0-3/pcloud-drive-index.git
cd pcloud-drive-indexEdit index.html : See this
Build the Docker image
docker build -t pcloud-drive .
# Run the container
docker run -d -p 80:80 pcloud-drive
Requirements
- Web server (Nginx, Apache, or static hosting service)
- Deployed Cloudflare Worker for API backend
Steps
- Deploy the
worker.jsto Cloudflare Workers first - Edit
index.html: See this - Upload
index.htmlandassets/folder to your web server - Configure your web server to serve the files
PCLOUD_TOKEN- Your pCloud API access token (see the guide here)(string)PCLOUD_USERNAME- Username for Index login(string)PCLOUD_PASSWORD- Password for Index login(string)JWT_SECRET- Secret key for JWT token signing (use a strong random string - recommended length 32)(string)
CORS_ORIGIN- Allowed CORS origins (default: '*')(string)TOKEN_EXPIRY- JWT token expiration time in seconds (default: 43200 = 12 hours)(number)
Update the following variable in your index.html:
let apiBaseUrl = 'https://your-worker-name.your-subdomain.workers.dev';- Visit pCloud App Console
- Create a new application
- Generate an access token with required permissions:
- File read access
- File download access
- Folder listing access
- Download Rclone
- Run rclone config
- Select pCloud
- Enter the necessary informations
- In the end you will get
access_token
The Cloudflare Worker provides the following API endpoints:
POST /api/auth/login- User authenticationGET /api/files?path={path}- List files and foldersGET /api/storage- Get storage usage informationGET /api/download?fileId={id}&name={filename}- Generate download linksGET /api/download?fileId={id}&stream=1- Stream files directly
Modify CSS custom properties in the :root selector to customize colors and styling:
:root {
--primary: #6366f1;
--secondary: #a855f7;
--success: #10b981;
/* ... other variables */
}- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If this project helps you, consider:
- ⭐ Starring the repository
- 🐛 Reporting bugs and issues
- 💡 Suggesting new features
- 🔄 Contributing code improvements


