Skip to content

GDIndex

Inactive
maple3142/GDIndex

A powerful Google Drive Index built with Vue.js running on CloudFlare Workers

View on GitHub
Stars
1.9k
Forks
1.1k
Watchers
1.9k
Open issues
57

GDIndex Preview

A powerful Google Drive Index built with Vue.js running on CloudFlare Workers

Demo | Lite Mode Demo

🌟 Features

  • Modern UI: Built with Vue.js for a responsive and interactive experience
  • Media Friendly: Integrated image viewer and video player with subtitle support (SRT)
  • Document Preview: Online PDF and EPUB reader
  • Authentication: HTTP Basic Auth support for securing your index
  • Multi-Drive Support: Connect multiple Google Drive accounts (personal, team drives)
  • Lightweight Option: Simple directory listing mode for command-line applications
  • Easy Deployment: Deploy to CloudFlare Workers with minimal configuration

🔄 Comparison with Similar Projects

GDIndex is a complete rewrite of GOIndex with several improvements:

Feature GDIndex GOIndex
Frontend Framework Vue.js Plain JS
Image Viewer Integrated (no new page) Opens new page
Video Player With subtitle support Basic
Document Preview PDF, EPUB Limited
Password Protection HTTP Basic Auth Directory-level (.password)
Multiple Drives ✅ ❌
Lite Mode ✅ ❌

🚀 Deployment

  1. Visit https://gdindex-code-builder.maple3142.net/
  2. Follow the on-screen instructions to generate your code
  3. Deploy the generated code to CloudFlare Workers

Option 2: Manual Setup

  1. Install rclone
  2. Configure Google Drive access: https://rclone.org/drive/
  3. Run rclone config file to locate your rclone.conf file
  4. Extract the refresh_token and optionally root_folder_id from your rclone.conf
  5. Copy the content of worker/dist/worker.js to CloudFlare Workers
  6. Configure the script by filling in your refresh_token, root_folder_id, and other options
  7. Deploy the worker

Option 3: Using Service Accounts

  1. Create a service account and key from the Google Cloud Platform console
  2. In the configuration, set service_account to true and paste the service account JSON into service_account_json
  3. Ensure the service account has access to the folder specified in root_folder_id
  4. Deploy to CloudFlare Workers

🔧 Lite Mode

Lite mode provides a simple nginx-like directory listing, perfect for command-line applications or minimal interfaces.

Enabling Lite Mode:

  • Permanent: Change lite: false to lite: true in the script configuration
  • On-the-fly: Include the HTTP header x-lite: true in your requests

📝 Configuration Options

const config = {
  // Required
  refresh_token: "",
  
  // Optional
  root_folder_id: "root",
  service_account: false,
  service_account_json: {},
  
  // Features
  lite: false,
  enable_cors: true,
  
  // Authentication
  auth: false,
  username: "",
  password: "",
  
  // UI Customization
  title: "GDIndex",
  favicon: "https://i.imgur.com/PpXXSw3.png"
}

📚 Resources

Similar open-source projects, ranked by shared categories and tags.

All Tools projects →