Giter Club home page Giter Club logo

gdindex's Introduction

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

  • Frontend is based on Vue.js
  • Image viewer doesn't require opening new page
  • Video player support subtitles(Currently only srt is supported)
  • Online PDF, EPUB reader
  • No directory-level password protection(.password)
  • Support Http Basic Auth
  • Support multiple drives(personal, team) without changing server's code

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.