{"id":19514880,"url":"https://github.com/ndp/drop-drop-box","last_synced_at":"2025-10-06T22:09:16.306Z","repository":{"id":66258005,"uuid":"567603346","full_name":"ndp/drop-drop-box","owner":"ndp","description":"Move files from dropbox to google drive/google photos","archived":false,"fork":false,"pushed_at":"2023-06-04T00:04:00.000Z","size":629,"stargazers_count":2,"open_issues_count":5,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-08T19:59:12.822Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ndp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-18T06:26:39.000Z","updated_at":"2025-07-14T15:31:41.000Z","dependencies_parsed_at":"2024-11-10T23:38:08.151Z","dependency_job_id":"32d4e475-143f-43e0-86e0-486b6a8556d7","html_url":"https://github.com/ndp/drop-drop-box","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ndp/drop-drop-box","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ndp%2Fdrop-drop-box","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ndp%2Fdrop-drop-box/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ndp%2Fdrop-drop-box/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ndp%2Fdrop-drop-box/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ndp","download_url":"https://codeload.github.com/ndp/drop-drop-box/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ndp%2Fdrop-drop-box/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278686879,"owners_count":26028378,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-10T23:37:54.736Z","updated_at":"2025-10-06T22:09:16.289Z","avatar_url":"https://github.com/ndp.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Migrate out of Dropbox\n\nIt's a command line tool that lets you incrementally migrate photos away from Dropbox, \nand move my photos into Google Photos.\n\nThis is a command line tool with several subcommands so that you can orchestra\nthe migration a fine or bulky as you want:\n- add a Dropbox folder to be migrated\n- discover photos within Dropbox folders\n- move photos over to google photos\n\nAfter the photos are moved to Google photos, they are moved to a folder on Dropbox so \nthey can be manually deleted (if you want).\n\n## Usage (not done)\n```\n$ ts-node src/index.ts  help\n      _                                      _                                  _                    \n   __| |  _ __    ___    _ __             __| |  _ __    ___    _ __           | |__     ___   __  __\n  / _` | | '__|  / _ \\  | '_ \\   _____   / _` | | '__|  / _ \\  | '_ \\   _____  | '_ \\   / _ \\  \\ \\/ /\n | (_| | | |    | (_) | | |_) | |_____| | (_| | | |    | (_) | | |_) | |_____| | |_) | | (_) |  \u003e  \u003c \n  \\__,_| |_|     \\___/  | .__/           \\__,_| |_|     \\___/  | .__/          |_.__/   \\___/  /_/\\_\\\n                        |_|                                    |_|                                   \nUsage: drop-drop-box [options] [command]\n\nCLI for transferring images from Dropbox to Google Photos\n\nOptions:\n  -db, --database \u003cdb\u003e         SQLLite3 database path (default: \"./dropbox-db.sqlite3\")\n  -h, --help                   display help for command\n\nCommands:\n  stats                        Show current DB stats and queue lengths\n  folders                      Show Dropbox folders queued for migration\n  login [google|dropbox|all]   Log in\n  logout [google|dropbox|all]  Reset the persisted auth\n  add \u003cpaths...\u003e               Enqueue DropBox path to search for images (recursively)\n  discover [n]                 Discover new Dropbox files in queued folders\n  album \u003cname\u003e                 Create new album on Google photos and migrate all future images to this album\n  transfer [n]                 Transfer queued Dropbox items to Google Photos\n  help [command]               display help for command\n```\n\n## TODOs\n\n- [x] Dropbox oauth\n- [x] Dropbox oauth refresh token\n- [ ] OAUTH add scope to store / incremental authorization\n- [x] Filter out images that can be processed\n- [ ] Keep a list of non-images... what to do?\n- [x] report album name\n- [ ] ability to set and see dropbox archive folder-- or NO folder for no movement\n- [x] Mark as copied on Dropbox, or remove\n- [x] import into folder on Google Photos\n- [ ] http://www.graphicsmagick.org/identify.html\n- [x] https://github.com/IonicaBizau/image-to-ascii\n- [ ] https://github.com/red-data-tools/YouPlot\n\n\n## Questions\n- [x] make sure creationTime is accurately set. seems to be\n- [ ] is other metadata being lost?\n\n\n## Code sources\n\n- I manually applied this [Template](https://itnext.io/how-to-create-your-own-typescript-cli-with-node-js-1faf7095ef89)\n- I copied some of the google oauth implementation from https://github.com/buttercup/google-oauth2-client. It was the first one I could get to work. I am taking it in a different direction, but that code got me started. Also of interest: https://dev.to/lauravuo/how-to-oauth-from-the-command-line-47j0 https://github.com/badgateway/oauth2-client\n\n- I discovered this afterwards, or it came out then, but this is [a great analysis of CLI tools](https://blog.kilpatrick.cloud/posts/node-cli-app-packages/). \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fndp%2Fdrop-drop-box","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fndp%2Fdrop-drop-box","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fndp%2Fdrop-drop-box/lists"}