maple3142 / GDIndex

A Google Drive Index built with Vue Running on CloudFlare Workers
https://gdindex-demo.maple3142.workers.dev/
MIT License
1.85k stars 1.13k forks source link
cloudflare-workers google-drive spa vue

GDIndex

preview

繁體中文 简体中文

GDIndex is similar to GOIndex. It allows you to deploy a "Google Drive Index" on CloudFlare Workers along with many extra features

By the way, instead of modify from GOIndex, this is a total rewrite

Demo

Difference between GOIndex and GDIndex

Usage

Simple and automatic way

Go https://gdindex-code-builder.maple3142.net/, and follow its instructions.

Manual way

  1. Install rclone
  2. Setup your Google Drive: https://rclone.org/drive/
  3. Run rclone config file to find your rclone.conf location
  4. Find refresh_token in your rclone.conf, and root_folder_id too(optionally).
  5. Copy the content of worker/dist/worker.js to CloudFlare Workers.
  6. Fill refresh_token, root_folder_id and other options on the top of the script.
  7. Deploy!

Using service accounts

  1. Create a service account, a corresponding service account key, and get the JSON from the Google Cloud Platform console
  2. In the props object, replace the service_account_json value with the contents of the service account JSON file and set service_account to true.
  3. Make sure that the service account in question has access to the folder specified in root_folder_id
  4. Deploy

Lite mode

This mode will serve a simple nginx-like directory listing, and it only work with one drive. upload will be ignored in this mode.

On the top of the script, change lite: false into lite: true, than thats all.

To enable on-the-fly lite mode, especially with command-line applications, you can include a HTTP header x-lite: true in your requests.

Lite mode demo