Skip to content

shuntingyard/goopho

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

goopho

Media from Google Photos? Download all to your disk!

console demo

Tested on Linux and Windows.

How to Use?

Currently you need to:

  • Clone this from Github (git clone --depth=1 https://github.com/shuntingyard/goopho.git),
  • make sure you have Rust/cargo available, e.g. install
  • and define your own Google app with scope https://www.googleapis.com/auth/photoslibrary.readonly.

Then on Linux run someting like

time RUST_LOG=info cargo run -q -- -c client_secret.json --from-date 2023-10-23 mediadir

inside the directory you just cloned from Github.

Similarly on Windows:

$Env:RUST_LOG="info"
cargo run -q -- -c client_secret.json --from-date 2023-10-23 mediadir
Remove-Item Env:\RUST_LOG

Or if you want to measure time elapsed in PowerShell, something like

Measure-Command { .\target\release\goopho -c client_secret.json E:\mediadir | Out-Default }

will help.

(Software in this repository might easily work on other operating systems. It just has not been tested so far.)

Development TODOs

  • We don't seem to depend on Google's get or batch get API parts here. (According to docs this is required, however list seems to provide prefectly valid base_urls.)
  • Does hub.media_items().list() guarantee newest-first order?
  • If so, break after oldest media file selected.
  • Look at distorted pics: sha1 reproducible across runs...
  • Duplicate file names?
  • Use rust-binary-action on releases?
  • Test with DNS down
  • Test hub module while taking link down.
  • Test download module while taking link down.
  • Optionally download Motion GIFs as videos?
  • asciinema sample?

Releases

No releases published

Packages

No packages published

Languages