Giter Site home page Giter Site logo

gogdl-ng

forthebadge forthebadge

GitHub license GitHub license

A self-hostable application to download files in a folder from Google Drive powered by Go.


🎯 Features

  • Google Drive v3 API based
  • With additional Firefox and Chrome extension
  • OAuth 2.0 authorization
  • Integrity checks (MD5 checksum)
  • Transfer retries
  • Hassle-free setup thanks to Docker ❤︎

📝 Requirements

  • A Google Cloud Platform project with the Drive API enabled. Guide
  • Basic docker and docker-compose knowledge.
  • The gogdl-ng browser extension.

Installation

  1. Create a config folder and create a config.toml with the following content:
title = "gogdl-ng"

[application]
# Defines the port on which the application is listening for requests.
listenPort = 3200

# Defines the location where to write the application log file.
logFilePath = "./config/gogdl-ng.log"

[queue]
# Defines the maximum capacity of the job queue.
size = 1000

# Defines how many workers can run concurrently.
maxWorkers = 2

[gdrive]
# query string which will be appended to the base query which is: "'%drive_folder_id%' in parents and"
query = "trashed=false"

[download]
# Defines how many times a failed download should be retried.
retryThreeshold = 5
  1. Copy the *.json file which you got at the end of the Google Cloud Platform project guide into the config folder. Rename it to credentials.json.
  2. Start the container once with docker run. Like this:
    docker run -i -p 3200:3200 -v /path/to/config:/config -v /path/to/downloads:/downloads legendaryb/gogdl-ng:latest
    Follow the instructions as shown in the terminal. You need to enter the authorization code. After that you should exit via pressing CTRL+C
  3. Create the docker-compose.yml file (adjust it as you need):
version: '3'

services:
  gogdl-ng:
    image: legendaryb/gogdl-ng:latest
    container_name: gogdl-ng
    volumes:
      - ./config:/config
      - ./downloads:/downloads
    ports:
      - 3200:3200
    restart: always
  1. Now you can bring the service up: docker-compose up

gogdl-ng's Projects

gogdl-ng icon gogdl-ng

Self-hostable application to download files in a folder from Google Drive.

gogdl-ng-webext icon gogdl-ng-webext

Firefox and Chrome extension for sending the current Google Drive folder id to the gogdl-ng backend.

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.