![gogdl-ng](https://raw.githubusercontent.com/LegendaryB/gogdl-ng/develop/.github/assets/banner.png)
![forthebadge](https://camo.githubusercontent.com/12a18917bd1b46a6fed4e377d90a573d986099f4e50c92670762137a15c6e3d0/68747470733a2f2f666f7274686562616467652e636f6d2f696d616765732f6261646765732f6d6164652d776974682d676f2e737667)
![GitHub license](https://camo.githubusercontent.com/36f6273c41fdadaa8530bf555e8d000b67e6b3853439b11b629fc688c8199849/68747470733a2f2f696d672e736869656c64732e696f2f646f636b65722f762f6c6567656e64617279622f676f67646c2d6e672f6c61746573743f6c6f6e6743616368653d74727565267374796c653d666c61742d737175617265)
A self-hostable application to download files in a folder from Google Drive powered by Go.
- 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 ❤︎
- A Google Cloud Platform project with the Drive API enabled. Guide
- Basic docker and docker-compose knowledge.
- The gogdl-ng browser extension.
- 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
- 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
.
- 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
- 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
- Now you can bring the service up:
docker-compose up