Skip to content

xob0t/gotohp

Repository files navigation

gotohp

demo

Unofficial Google Photos Desktop GUI Client

  • Unlimited uploads (can be disabled)
  • Drag-and-drop file upload interface
  • Credential management
  • Real-time upload progress tracking
  • Configurable upload threads
  • Individual files or directories uploads, with optional recursive scanning
  • Skips files already present in your account
  • CLI mode
  • Configurable, presistent upload settings (stored in "%system config path%/gotohp/gotohp.config")
    You can force local config by creating empty gotohp.config next to executable.

CLI Usage

Windows

Windows releases include a dedicated CLI executable (gotohp-cli.exe) for command-line usage:

gotohp-cli.exe upload C:\path\to\photos --recursive --threads 5
gotohp-cli.exe creds list
gotohp-cli.exe creds add "androidId=..."
gotohp-cli.exe creds set [email protected]
gotohp-cli.exe version

Available commands:

  • upload <filepath> - Upload files or directories
    • -r, --recursive - Include subdirectories
    • -t, --threads <n> - Number of upload threads (default: 3)
    • -f, --force - Force upload even if file exists
    • -d, --delete - Delete from host after upload
    • -df, --disable-filter - Disable file type filtering
    • -l, --log-level <level> - Set log level: debug, info, warn, error (default: info)
    • -c, --config <path> - Path to config file
  • creds list (alias: ls) - List all credentials
  • creds add <auth-string> - Add new credentials
  • creds remove <email> (alias: rm) - Remove credentials
  • creds set <email> (alias: select) - Set active credential (supports partial matching)
  • version - Show version information
  • help - Show help message

macOS / Linux

The main executable supports CLI mode:

./gotohp upload /path/to/photos --recursive --threads 5
./gotohp creds list
./gotohp version

Requires mobile app credentials to work

You only need to do this once.

Option 1 - ReVanced. No root required

  1. Install Google Photos ReVanced on your android device/emulator.

  2. Connect the device to your PC via ADB.

  3. Open the terminal on your PC and execute

    Windows

    adb logcat | FINDSTR "auth%2Fphotos.native"

    Linux/Mac

    adb logcat | grep "auth%2Fphotos.native"
  4. If you are already using ReVanced - remove Google Account from GmsCore.

  5. Open Google Photos ReVanced on your device and log into your account.

  6. One or more identical GmsCore logs should appear in the terminal.

  7. Copy text from androidId= to the end of the line from any log.

  8. That's it! 🎉

Option 2 - Official apk. Root required

Click to expand
  1. Get a rooted android device or an emulator. Recommended Android versions 9-13

  2. Connect the device to your PC via ADB.

  3. Install HTTP Toolkit

  4. In HTTP Toolkit, select Intercept - Android Device via ADB. Filter traffic with

    contains(https://www.googleapis.com/auth/photos.native)
    

    Or if you have an older version of Google Photos, try

    contains(www.googleapis.com%2Fauth%2Fplus.photos.readwrite)
    
  5. Open Google Photos app and login with your account.

  6. A single request should appear.
    Copy request body as text.

Troubleshooting

  • No Auth Request Intercepted
    1. Log out of your Google account.
    2. Log in again.
    3. Try Android App via Frida interception method in HTTP Toolkit.

Build

Follow official wails3 guide https://v3alpha.wails.io/getting-started/installation/