HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
odeke-em
drive
Go2015–2022
odeke-em / drive

drive

Google Drive client for the commandline

19Distinct people
20Mentions
0Explicit recommenders
6.7KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Google Drive client for the commandline

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 3:56:07 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year20 dated mentions

Observed mentions: 2015-04-24 19:27:05 UTC to 2022-04-25 01:11:41 UTC.

02462015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 6 mentions; 1 submissions, 5 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC615
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC303
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC202
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC505
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC101
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC202
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
drive drive is a tiny program to pull or push Google Drive files. drive was originally developed by Burcu Dogan while working on the Google Drive team. Since she is very busy and no longer able to maintain it, I took over drive on Thursday, 1st January 2015. This repository contains the latest version of the code. Table of Contents Installing Requirements From sources Godep Platform Packages Automation Scripts Cross Compilation API keys Usage Hyphens: - vs -- Initializing De Initializing Traversal Depth Configuring General Settings Excluding And Including Objects Sample .driveignore with the exclude and include clauses combined Pulling Verifying Checksums Exporting Docs Pushing Pulling And Pushing Notes End to End Encryption Publishing Unpublishing Sharing and Emailing Unsharing Starring Or Unstarring Diffing Touching Trashing And Untrashing Emptying The Trash Deleting Listing Stating Printing URL Editing Description Retrieving MD5 Checksums Retrieving FileId Retrieving Quota Retrieving Features Creating Opening Copying Moving Renaming Command Aliases Detecting And Fixing Clashes .desktop Files Fetching And Pruning Missing Index Files Drive Server QR Code Share About Help Filing Issues Revoking Account Access Uninstalling Applying Patches Why Another Google Drive Client? Known Issues Reaching Out Disclaimer LICENSE Installing Requirements go 1.9.X or higher is required. See here for installation instructions and platform installers. Make sure to set your GOPATH in your env, .bashrc or .bash_profile file. If you have not yet set it, you can do so like this: cat << ! >> ~/.bashrc > export GOPATH=\$HOME/gopath > export PATH=\$GOPATH:\$GOPATH/bin:\$PATH > ! source ~/.bashrc # To reload the settings and get the newly set ones # Or open a fresh terminal The above setup will ensure that the drive binary after compilation can be invoked from your current path. From sources To install from the latest source, run: go get -u github.com/odeke-em/drive/cmd/drive Otherwise: In order to address issue #138, where debug information should be bundled with the binary, you'll need to run: go get github.com/odeke-em/drive/drive-gen && drive-gen In case you need a specific binary e.g for Debian folks issue #271 and issue 277 go get -u github.com/odeke-em/drive/drive-google That should produce a binary drive-google OR To bundle debug information with the binary, you can run: go get -u github.com/odeke-em/drive/drive-gen && drive-gen drive-google Godep Using godep cd $GOPATH/src/github.com/odeke-em/drive/drive-gen && godep save Unravelling/Restoring dependencies cd $GOPATH/src/github.com/odeke-em/drive/drive-gen && godep restore Please see file drive-gen/README.md for more information. Platform Packages For packages on your favorite platform, please see file Platform Packages.md. Is your platform missing a package? Feel free to prepare / contribute an installation package and then submit a PR to add it in. Automation Scripts You can install scripts for automating major drive commands and syncing from drive-google wiki, also described in platform_packages.md. Some screenshots are available here. Cross Compilation See file Makefile which currently supports cross compilation. Just run make and then inspect the binaries in directory bin. Supported platforms to cross compile to: ARMv5. ARMv6. ARMv7. ARMv8. Darwin (OS X). Linux. Also inspect file bin/md5Sums.txt after the cross compilation. API keys Optionally set the GOOGLE_API_CLIENT_ID and GOOGLE_API_CLIENT_SECRET environment variables to use your own API keys. Usage Hyphens: - vs -- A single hyphen - can be used to specify options. However two hyphens -- can be used with any options in the provided examples below. Initializing Before you can use drive, you'll need to mount your Google Drive directory on your local file system: OAuth2.0 credentials drive init ~/gdrive cd ~/gdrive Google Service Account credentials drive init --service-account-file <gsa_json_file_path> ~/gdrive cd ~/gdrive Where <gsa_json_file_path> must be a Google Service Account credentials file in JSON form. This feature was implemented as requested by: #879 De Initializing The opposite of drive init, it will remove your credentials locally as well as configuration associated files. drive deinit [-no-prompt] For a complete deinitialization, don't forget to revoke account access, please see revoking account access Traversal Depth Before talking about the features of drive, it is useful to know about "Traversal Depth". Throughout this README the usage of the term "Traversal Depth" refers to the number of nodes/hops/items that it takes to get from one parent to children. In the options that allow it, you'll have a flag option -depth <n> where n is an integer Traversal terminates on encountering a zero 0 traversal depth. A negative depth indicates infinity, so traverse as deep as you can. A positive depth helps control the reach. Given: |- A/ |- B/ |- C/ |- C1 |- C2 |- C10/ |- CTX/ | - Music | - Summary.txt Items on the first level relative to A/ ie depth 1, we'll have: B, C On the third level relative to C/ ie depth 3 We'll have: Items: Music, Summary.txt The items encountered in depth 3 traversal relative to C/ are: |- C1 |- C2 |- C10/ |- CTX/ | - Music | - Summary.txt No items are within the reach of depth -1 relative to B/ since B/ has no children. Items within the reach of depth - relative to CTX/ are: | - Music | - Summary.txt Configuring General Settings drive supports resource configuration files (.driverc) that you can place both globally (in your home directory) and locally(in the mounted drive dir) or in the directory that you are running an operation from, relative to the root. The entries for a .driverc file is in the form a key-value pair where the key is any of the arguments that you'd get from running drive <command> -h # e.g drive push -h and the value is the argument that yo
Read the full README on GitHub

What Hacker News says

20 sources
I just want to collect the major options for Google Drive on Linux in a single comment, since a few options are scattered around: Insync works well, and it's 50% off for a couple more days: https://www.insynchq.com/ Not affiliated, but $15 is not a lot to pay, as opposed to waiting for something that probably won't happen. Rclone has support for Google Drive, and it's open source: https://rclone.org/ There's a command line client that uses a push/pull workflow: https://github.com/odeke-em/drive It was written by a member of the Google Drive team. Gnome supports Google Drive, or at least used to, directly in Nautilus. I don't use Gnome, so I can't comment. There may be other options I've missed, but the point is that there is already good support in multiple forms. I'd be interested to know what support Google could provide that's not alre
Read the rest
ady available.
In 10 years since Google said to “hang tight” about Linux support for Google Drive
I basically live in vim and tmux when I'm doing development work. Tmux IMO basically turns a terminal from a handy utility to a fully productive workspace. I switched to ripgrep for my grepping needs, I find it fast and the syntax and output coloring handy. Just found fastmod recently, https://github.com/facebookincubator/fastmod. Very handy for doing bulk substitutions of strings in project directories - it can prompt with a diff for every change and do full regexes, so you can try out tricky things and make sure it isn't doing anything crazy before you let it make 500 changes throughout your repo. Also a fan of gitsh, https://github.com/thoughtbot/gitsh. Helps out with using Git on the command line just the right amount IMO - just avoiding the git prefix, tab completion, and a little syntax highlighting, instead of trying to redo the wh
Read the rest
ole interface. I don't use it that much, but jq, https://stedolan.github.io/jq/ is really handy for slicing and dicing json data without diving into the complexity of writing actual programs. And on OS X, homebrew is indispensable for actually managing all of your CLI programs. I also have found this Google Drive cli handy, https://github.com/odeke-em/drive. If you want to sync some but not all of your Google Drive files, and only push and pull on command instead of continuously, it's great.
In Ask HN: What are your favorite terminal programs?
> Encrypting Data Percival, 2009: AES-CTR with HMAC. I just found that AES-CTR + HMAC is very simple and doable in in languages like Go and Javascript for large objects which can't (or shouldn't) all be put into memory at the same time. In fact, a popular google drive client uses this: https://github.com/odeke-em/drive/wiki/End-to-End-Encryption (assuming standard secure key generation for both the AES-CTR stream and the HMAC - along with a unique IV) However, reading this article it seems this might no longer be recommended.
In Cryptographic Right Answers
Better the document than the account! Anyone know of a Google Drive equivalent for https://github.com/jay0lee/got-your-back/wiki, which implements backup and restore for GMail? Closest I could find was https://github.com/odeke-em/drive, a popular command line client. -- It appears my Google account is slated for deletion | https://news.ycombinator.com/item?id=15234207 (Sep2017:266 comments) >My YouTube account was suspended for uploaded/embedded portions of AQ vids used for analysis for U.S. v Pfc. Manning. It appears my Google account is also slated for deletion Ask HN: Did anyone use ruinmysearchhistory and get Google account suspended today? | https://news.ycombinator.com/item?id=11880008 (Jun2016:116 comments) >I think it might have something to do with the "ruin my search history" viral thing yesterday Dumped by Google | https://news
Read the rest
.ycombinator.com/item?id=5591133 (Apr2013:193 comments) >My data was intact save for the last thing I’d worked on–a spreadsheet containing a client’s account numbers and passwords Google account disabled for 6+ days. Some thoughts | https://news.ycombinator.com/item?id=354593 (Nov2008:53 comments) >I haven’t been told yet why it was disabled for a week yet, oh well…
In Draft of a story about wildlife crime was frozen for violating Google Docs' TOS
1. 1Password apparently works fine with WINE, but I haven't used it myself. 2. Spotify will still receive updates for Linux, they just don't have a dedicated Linux developer on it anymore. On my machine it still works fine. 3. I prefer GoodBudget, which IMHO is much better than YNAB, especially when it comes to their iOS/Android apps. The desktop client just runs in the browser. Also, I've heard YNAB will be discontinuing their desktop apps? 4. There's https://github.com/odeke-em/drive, a fork of the official drive client, and it's still being actively developed. 5. Haven't used Alfred, but you can get some of it's features using other tools, e.g. indexed search using Tracker, clipboard history using Diodon, and perhaps some other things. However you are right that you can't get the kind of polished automation Alfred seems to provide. Rat
Read the rest
her, you'll have to write shell scripts and use the commandline tools to get what you want. Absolutely everything is possible, but it'll feel a bit like using lots of duct tape at first. Note: I'm not saying you should switch right away (1). But I used Linux (Ubuntu) full-time for work and at home for the last 5 years and I was able to do everything with very few exceptions (2). Most peripherals that I bought just worked out of the box. Going Linux full-time is 100% doable. Also, with so many apps running in the browser (or on Electron) the choice of OS matters less every year. (1) in fact, I'll probably get a Mac myself this year for developing iOS apps. (2) Only exception: Windows VM for Microsoft Word/Excel/Powerpoint & iTunes for iPhone syncing. All other software ran in WINE or had a reasonable Linux alternatives.
In Elementary OS

Showing the 15 most recent of 20 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.