/gdrive-cli-builder

Build GDrive CLI (https://github.com/gdrive-org/gdrive) with your own credentials using GitHub Actions

Primary LanguageShell

GDrive CLI Builder

GDrive CLI is a great tools, but because the owner is hardcoded the credentials directly to the code, it's makes every one who use the release package from this project is sharing the same quota. So i try to make this repository to help who want to build the package using their own credentials.

Problems that arise due to limit quota

Error

Sign in with Google temporarily disabled for this app
This app has not been verified yet by Google in order to use Google Sign In.

Prerequisites

  • GitHub Account
  • Google Account

How to

Create your own Google Drive API credentials
  1. Go to Google developer console and create new project

    P.S. This page only shown if it's your first time accesing Google developer console

    • Read terms and conditions ✌ and then click ACCEPT AND CONTINUE

    Step 1

    • Create a project if you have not yet by click the CREATE PROJECT button

    Step 2

    • Fill out your project name and then click CREATE

    Step 3

  2. Go to Google Drive API section and enable it

    • Click ACTIVATE

    Step 4

  3. Create Credential [1]

    • Click CREATE CREDENTIAL

    Step 5

    • Fill out the form and then click What credentials do I need?

    Step 6

  4. Create OAuth consent screen

    • Click SET UP CONSENT SCREEN

    Step 7

    • Choose External and then click CREATE

    Step 8

    • Fill out the form and then click SAVE

    Step 9

  5. Create Credential [2]

    • Fill out your client id name and then click CREATE OAUTH CLIENT ID

    Step 10

    • Download your client_id.json file and keep this file

    Step 11

Setup GitHub Actions
  1. Fork this repository

    • Click the fork button

    Step 12

  2. Enable GitHub Actions in your repository

    • Click the Actions tab and then click I understand my workflows, go ahead and run them

    Enable

  3. Create secret that contain your CLIENT_ID and CLIENT_SECRET

    • Click Settings > Secrets > Add a new secret

    Step 13

    • Open your client_id.json file then copy CLIENT_ID and CLIENT_SECRET to create secrets

    Step 14 Step 15 Step 16

    • Make sure you have CLIENT_ID and CLIENT_SECRET secret

    Step 17

Build GDrive CLI using GitHub Actions
  1. Choose your platform by editing the list.txt file inside build directory

    Step 18

    • Edit file by click the pencil icon

    Step 19

    • Write your platform in list.txt file. You can write multiple platform (split by line)

      Supported platfrom
      • darwin/386
      • darwin/amd64
      • darwin/arm
      • darwin/arm64
      • dragonfly/amd64
      • freebsd/386
      • freebsd/amd64
      • freebsd/arm
      • linux/386
      • linux/amd64
      • linux/arm
      • linux/arm64
      • linux/ppc64
      • linux/ppc64le
      • linux/mips64
      • linux/mips64le
      • linux/rpi
      • netbsd/386
      • netbsd/amd64
      • netbsd/arm
      • openbsd/386
      • openbsd/amd64
      • openbsd/arm
      • plan9/386
      • plan9/amd64
      • solaris/amd64
      • windows/386
      • windows/amd64

    Step 20

    • Save this file by commit the change

    P.S. Because GitHub Actions didn't have manual trigger to build, so we only can trigger the build process by commit changes and push it to master branch

    Step 21

    • Inspect your build process by click Actions > Build GDrive CLI workflow > {Your commit message} i.e. Update list.txt

    Step 22

    • Make sure all step is successfully build

    Step 23

    • If the build process has been finished, you can download the file by click Artifacts button in top-right section

    P.S. You can also delete this file by click the trash icon so another user cannot download this file

    Step 24

Using GDrive CLI

On unix systems run chmod +x {filename} after download to make the binary executable.

Official documentation

Contributors

  • Ma'ruf Shidiq - Initialize GitHub Actions workflow - marufshidiq
  • Văn Lộc Võ - Add support to compile for mips/mipsle architecture - vvanloc

Thanks to

prasmussen and all GDrive CLI contributor for creating a great tools