Selaa lähdekoodia

Adding script to extract chrome keys from google chrome package and inject it on Chromium

Nicole Portas 1 päivä sitten
vanhempi
sitoutus
3ec72384a7
1 muutettua tiedostoa jossa 61 lisäystä ja 0 poistoa
  1. 61 0
      extract-chrome-keys.sh

+ 61 - 0
extract-chrome-keys.sh

@@ -0,0 +1,61 @@
+#!/usr/bin/env bash
+set -eo pipefail
+
+TMPDIR=$(mktemp -d)
+trap 'rm -rf "$TMPDIR"' EXIT
+
+BIN="/opt/google/chrome/chrome"
+
+if [ ! -f "$BIN" ]; then
+  if [ -f "/tmp/google-chrome-stable_current_amd64.deb" ]; then
+    >&2 echo "Using existing .deb from /tmp..."
+    cp "/tmp/google-chrome-stable_current_amd64.deb" "$TMPDIR/chrome.deb"
+  else
+    >&2 echo "Fetching google-chrome-stable .deb..."
+    curl -sSL "https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb" -o "$TMPDIR/chrome.deb"
+  fi
+
+  >&2 echo "Extracting binary..."
+  ar p "$TMPDIR/chrome.deb" data.tar.xz | tar -xJ -C "$TMPDIR" ./opt/google/chrome/chrome
+  BIN="$TMPDIR/opt/google/chrome/chrome"
+fi
+
+>&2 echo "Extracting keys from $BIN..."
+
+# 1. Google API Key
+API_KEY=$(strings "$BIN" | grep -o -E 'AIzaSy[A-Za-z0-9_-]{33}' | head -n1 || true)
+
+# 2. Main Chrome Desktop Client ID (77185425430.apps.googleusercontent.com)
+CLIENT_ID=$(strings "$BIN" | grep -o -E '77185425430\.apps\.googleusercontent\.com' | head -n1 || true)
+if [ -z "$CLIENT_ID" ]; then
+  CLIENT_ID="77185425430.apps.googleusercontent.com"
+fi
+
+# 3. Main Chrome Desktop Client Secret (OTJgUOQcT7lO7GsGZq2G4IlT)
+CLIENT_SECRET=$(strings "$BIN" | grep -o -E 'OTJgUOQcT7lO7GsGZq2G4IlT' | head -n1 || true)
+if [ -z "$CLIENT_SECRET" ]; then
+  CLIENT_SECRET="OTJgUOQcT7lO7GsGZq2G4IlT"
+fi
+
+if [ -z "$API_KEY" ]; then
+  >&2 echo "Extraction failed: could not locate API_KEY."
+  exit 1
+fi
+
+EXPORTS=$(cat <<EOF
+export GOOGLE_API_KEY="$API_KEY"
+export GOOGLE_DEFAULT_CLIENT_ID="$CLIENT_ID"
+export GOOGLE_DEFAULT_CLIENT_SECRET="$CLIENT_SECRET"
+EOF
+)
+
+if [ "$EUID" -ne 0 ]; then
+  >&2 echo "Not root. Dumping exports to stdout:"
+  echo "$EXPORTS"
+else
+  mkdir -p /etc/chromium.d
+  TARGET="/etc/chromium.d/sync"
+  echo "$EXPORTS" > "$TARGET"
+  chmod 755 "$TARGET"
+  >&2 echo "Successfully deployed sync keys to $TARGET"
+fi