Bagaimana saya bisa membagikan entri mesin pencari Google Chrome saya?

30

Saya telah membuat beberapa entri pencarian di Google Chrome menggunakan 'Edit mesin pencari'.

Bagaimana saya bisa membagikan beberapa entri ini dengan kolega saya?

Lazer
sumber
Ini pertanyaan yang sangat bagus. Saya menemukan ludovic.chabant.com/devblog/2010/12/29/... tetapi tidak mau repot untuk mencobanya sejak 2010-2011. 5 hingga 6 tahun di internet adalah selamanya. Saya berharap ada cara mudah (diperbarui) untuk berbagi di seluruh akun Google dan di seluruh profil dalam pemasangan Chrome yang sama.
Ryan

Jawaban:

6

Berikut ini satu perintah untuk mengekspor mesin pencarian chrome Anda sebagai CSV di linux:

sqlite3 -csv ~/.config/chromium/Default/Web\ Data 'select short_name,keyword,url from keywords' > ~/search-engines.csv

Anda perlu menginstal sqlite3. Ganti ~/.config/chromedengan jalur Windows yang sesuai jika Anda menggunakan Windows. Seharusnya seperti itu%AppData%\Local\Google\Chrome\User Data

Mengekspor sebagai SQL untuk mengimpor kembali di tempat lain

Alih-alih mengekspor ke CSV, Anda dapat mengekspor ke pernyataan sisipan sqlite:

(printf 'begin transaction;\n'; sqlite3 ~/.config/chromium/Default/Web\ Data 'select short_name,keyword,url,favicon_url from keywords' | awk -F\| '{ printf "insert into keywords (short_name, keyword, url, favicon_url) values ('"'"%s"'"', '"'"%s"'"', '"'"%s"'"', '"'"%s"'"');\n", $1, $2, $3, $4 }'; printf 'end transaction;\n') > ~/search-engine-export.sql

Kemudian salin ~/search-engine-export.sqlke mesin lain, dan impor dengan perintah ini:

sqlite3 ~/.config/chromium/Default/Web\ Data < search-engine-export.sql

Pastikan untuk mengganti Web Datajalur dengan yang ada di mesin Anda seperti dijelaskan di atas.

William Casarin
sumber
Bekerja dengan baik untuk saya! Dan saya ingin memberikan plug untuk WSL pada Windows 10, yang pada dasarnya menjadikan ini solusi Windows-native. Apakah Anda juga membagikan perintah untuk mengimpor?
tbc0
1
@ tbc0 Saya telah menambahkan instruksi impor juga. Saya belum diuji pada WSL tetapi harus bekerja secara teori ...
William Casarin
Anda mungkin harus menangani karakter '. Anda dapat menambahkan ini dalam bahasa awk Anda function esc(s){gsub("\x27","\x27\x27",s);return s}dengan $ 1 dan $ 2 ====> esc ($ 1), esc ($ 2)
Yzmir Ramirez
5

Berikut adalah solusi sederhana untuk mengekspor dan mengimpor pengaturan mesin pencari Chrome tanpa menggunakan alat eksternal atau mengedit registri:

  1. Buka halaman Pengaturan Mesin Pencari di Chrome ( chrome://settings/searchEngines).
  2. Buka Alat Pengembang Chrome.
    • Pintasan: F12 atau Ctrl + Shift + I (di Windows, pintasan di platform lain mungkin berbeda).
    • Navigasi manual: Menu tiga titik di sudut kanan atas > Alat Lainnya > Alat Pengembang .
  3. Klik Konsol di bilah menu atas Alat Pengembang Chrome.
  4. Rekatkan salah satu skrip berikut ke konsol dan tekan Enter .

Untuk mengunduh file JSON dengan pengaturan mesin pencari:

(function exportSEs() {
  /* Auxiliary function to download a file with the exported data */
  function downloadData(filename, data) {
    const file = new File([data], { type: 'text/json' });
    const elem = document.createElement('a');
    elem.href = URL.createObjectURL(file);
    elem.download = filename;
    elem.click();
  }

  /* Actual search engine export magic */
  settings.SearchEnginesBrowserProxyImpl.prototype.getSearchEnginesList()
    .then((searchEngines) => {
      downloadData('search_engines.json', JSON.stringify(searchEngines.others));
    });
}());

Untuk mengimpor pengaturan dari file JSON yang dibuat menggunakan skrip di atas:

(async function importSEs() {
  /* Auxiliary function to open a file selection dialog */
  function selectFileToRead() {
    return new Promise((resolve) => {
      const input = document.createElement('input');
      input.setAttribute('type', 'file');
      input.addEventListener('change', (e) => {
        resolve(e.target.files[0]);
      }, false);
      input.click();
    });
  }

  /* Auxiliary function to read data from a file */
  function readFile(file) {
    return new Promise((resolve) => {
      const reader = new FileReader();
      reader.addEventListener('load', (e) => {
        resolve(e.target.result);
      });
      reader.readAsText(file);
    });
  }

  const file = await selectFileToRead();
  const content = await readFile(file);
  const searchEngines = JSON.parse(content);
  searchEngines.forEach(({ name, keyword, url }) => {
    /* Actual search engine import magic */
    chrome.send('searchEngineEditStarted', [-1]);
    chrome.send('searchEngineEditCompleted', [name, keyword, url]);
  });
}());

Catatan

  • Saya menguji skrip di Chrome 75.0.3770.100 pada Windows 8.1.
  • Skrip ekspor dan impor pencarian hanya di bagian Mesin Pencari Lainnya tetapi mereka dapat dengan mudah di-tweak untuk memasukkan mesin pencari default juga.
  • Jangan mencoba mendistribusikan skrip sebagai bookmarklet, bookmarklet tidak mengeksekusi pada chrome://URL (sudah ada, lakukan itu).
Petr Srníček
sumber
Instruksi ini bekerja dengan sangat baik untuk saya, versi chrome 74.
Jason
Cemerlang, masih bekerja di windows v78.
junvar
4

Itu mungkin, tetapi cukup menyakitkan yang tidak ingin Anda lakukan.

  1. Temukan file Data Web di profil Chrome Anda. Di Windows 7 akan ada di sini: "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Web Data"

  2. Buka file dengan program SQLite seperti SQLite Studio atau sqlite di Ubuntu (sudo apt-get install sqlite) dan ekspor tabel kata kunci di SQLite Studio atau jalankan perintah ini di Linux: sqlite3 "Web Data" ".dump keywords" > keywords.sql Dialog ekspor SQLite Studio

  3. Mintalah kolega Anda mengimpor kata kunci, melakukan kebalikan dari proses ini.

Seperti yang saya katakan, mungkin, tetapi menyakitkan.

Saya menulis parser Javascript untuk mengubah SQL dari Web Data ke Format File Bookmark Netscape yang hampir universal dalam HTML (ironis bahwa standar definitif untuk format itu tampaknya Microsoft) jika Anda tertarik untuk memasukkan kata kunci ke browser lain seperti Firefox atau Opera.

Jika Anda tertarik dengan solusi alternatif, saya membuat Shortmarks untuk memungkinkan Anda menggunakan set mesin pencari kustom yang sama di browser apa pun, dan saya berencana untuk mengimplementasikan kemampuan untuk berbagi dengan orang lain segera. Rilis yang akan datang dalam beberapa hari akan memiliki kode impor yang saya sebutkan di atas segera setelah saya selesai menguji fitur-fitur baru.

Dan H
sumber
1
Meskipun saya berharap Google membuatnya lebih mudah, secara pribadi saya tidak merasa "cukup menyakitkan sehingga saya tidak ingin mencoba". Jawaban Patrick sangat membantu bagi saya: superuser.com/a/688270/74576
Ryan
Jawaban William superuser.com/a/1350144/92959 benar-benar mudah. Saya menemukan jawaban Patrick sangat kompleks dibandingkan dengan jawaban William.
tbc0
2

Saya memang mengikuti untuk berbagi entri mesin pencari Google Chrome saya dan itu berfungsi dengan baik bagi saya:

  1. WINDOWS XP : Buka C: \ Documents and Settings \ MyUserName \ Local Settings \ Data Aplikasi \ Google \ Chrome \ Data Pengguna \ Default

    PADA WINDOWS 7 : Buka C: \ Users \ MyUserName \ AppData \ Local \ Google \ Chrome \ Data Pengguna \ Default

  2. Menyalin 3 file-file ini: Preferences, Web DatadanWeb Data-journal

  3. Letakkan 3 file itu ke mesin target

Kuldeep Jain
sumber
bekerja untuk saya tanpa "web data-jounal" (cukup
masukkan
1

Saya menulis skrip python yang memuat definisi dari data JSON. Sekarang Anda dapat mengelola konfigurasi Anda sebagai kode:

https://gist.github.com/ninowalker/9952bf435f8acffa3ef59d6c538ca165

Ini idempoten (mis. Dapat dijalankan beberapa kali; tidak akan menambahkan duplikat dengan kata kunci).

Bekerja dengan python2 dan OSX. Dapat dimodifikasi untuk mendukung platform lain.

Nino Walker
sumber
0

Bagi saya, saya menggunakan Windows 10 dan saya ingin menyalin mesin pencari dari profil chrome pribadi saya ke profil chrome perusahaan saya. Saya melakukan yang berikut:

  1. Saya mengunduh SQLite dari https://www.sqlite.org/download.html (di bawah "Biner Terkompilasi" dengan deskripsi "Sekumpulan alat baris perintah untuk mengelola file database SQLite"). Saya membuka ritsleting untuk c:\utilsitu sudah di jalur saya

  2. Saya membuka cmd.exe

  3. Saya mengubah direktori menjadi profil chrome (pribadi) default saya

    cd "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default"

  4. Saya sepenuhnya keluar dari Chrome (bahkan di dalam baki). Juga, simpan salinan instruksi ini (atau buka di browser yang berbeda) karena Anda akan kehilangan mereka.

  5. Saya menjalankan yang berikut:

    sqlite3 "Web Data" ".dump keywords" > c:\keywords.sql

  6. Saya mengubah ke profil baru:

    cd "..\Profile 2\"

  7. Saya menjalankan ini:

    sqlite3.exe "Web Data" < c:\keywords.sql

    Saya mendapat kesalahan berikut, yang tidak masalah:

Error: near line 4: UNIQUE constraint failed: keywords.id Error: near line 5: UNIQUE constraint failed: keywords.id Error: near line 6: UNIQUE constraint failed: keywords.id Error: near line 7: UNIQUE constraint failed: keywords.id Error: near line 8: UNIQUE constraint failed: keywords.id

Jika Anda mendapatkan lebih banyak kesalahan, itu berarti Anda menambahkan mesin pencari ke profil baru Anda. Hapus semuanya, termasuk yang baru saja ditambahkan dan jalankan kembali langkah ini. Atau edit file SQL dengan tangan.

  1. Saya menyalakan kembali Chrome dan sekarang kata kunci pencarian saya berfungsi dengan baik.
Ryan Shillington
sumber
0

Ini adalah bagaimana saya melakukannya (saya tidak ingat di mana saya menemukannya).

  1. Buat skrip export_chrome_search_engines.sh:

    #!/bin/sh
    
    DESTINATION=${1:-./keywords.sql}
    TEMP_SQL_SCRIPT=/tmp/sync_chrome_sql_script
    echo "Exporting Chrome keywords to $DESTINATION..."
    cd ~/.config/google-chrome/Default
    echo .output $DESTINATION > $TEMP_SQL_SCRIPT
    echo .dump keywords >> $TEMP_SQL_SCRIPT
    sqlite3 -init $TEMP_SQL_SCRIPT Web\ Data .exit
    rm $TEMP_SQL_SCRIPT
    
  2. Buat skrip import_chrome_search_engines.sh:

    #!/bin/sh
    if ps -x | grep -v grep | grep Google\ Chrome > /dev/null; then
        echo "Close Chrome and try again..."
        exit 1
    fi
    
    SOURCE=${1:-./keywords.sql}
    #SOURCE=$1
    TEMP_SQL_SCRIPT=/tmp/sync_chrome_sql_script
    echo
    echo "Importing Chrome keywords from $SOURCE..."
    cd ~/.config/google-chrome/Default
    echo DROP TABLE IF EXISTS keywords\; > $TEMP_SQL_SCRIPT
    echo .read $SOURCE >> $TEMP_SQL_SCRIPT
    sqlite3 -init $TEMP_SQL_SCRIPT Web\ Data .exit
    rm $TEMP_SQL_SCRIPT
    
  3. Jadikan mereka dapat dieksekusi:

    chmod +x export_chrome_search_engines.sh import_chrome_search_engines.sh 
    
  4. Untuk mengekspor, matikan Chrome dan jalankan:

    ./export_chrome_search_engines.sh
    cp ~/.config/google-chrome/Default/keywords.sql /tmp/
    
  5. Untuk mengimpor, matikan Chrome dan jalankan:

    cp /tmp/keywords.sql  ~/.config/google-chrome/Default
    ./import_chrome_search_engines.sh
    
Dennis Golomazov
sumber
-2

Sampai sekarang, tidak, Anda tidak bisa. Namun, Anda dapat berbagi bookmark dengan kolega Anda.

Tautan ke berbagi Bookmark Google seperti yang sekarang, pengguna Google App tidak dapat berbagi bookmark, atau daftar bookmark.

wizlog
sumber