Google Chrome arama motoru girişlerimi nasıl paylaşabilirim?


30

Google Chrome'da 'Arama motorlarını düzenle' seçeneğini kullanarak bazı arama girişleri oluşturdum.

Bu girdilerin bazılarını meslektaşlarımla nasıl paylaşabilirim?


Bu harika bir soru. Ludovic.chabant.com/devblog/2010/12/29/… 'u buldum, ancak 2010-2011’den beri denemekten rahatsızlık duymak istemiyorum. İnternette 5-6 yıl bir sonsuzluktur. Google hesapları arasında ve aynı Chrome yüklemesindeki profiller arasında paylaşmanın kolay (güncellenmiş) bir yolu olmasını diliyorum.
Ryan,

Yanıtlar:


6

Chrome arama motorlarınızı Linux'ta CSV olarak dışa aktarmak için tek bir komut:

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

Yüklenmiş sqlite3 gerekir. ~/.config/chromeWindows kullanıyorsanız, karşılık gelen Windows yoluyla değiştirin . Gibi bir şey olmalı%AppData%\Local\Google\Chrome\User Data

Başka bir yere yeniden almak için SQL olarak dışa aktarma

CSV’ye dışa aktarmak yerine, sqlite insert ifadelerine dışa aktarabilirsiniz:

(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

Sonra ~/search-engine-export.sqldiğer makineye kopyalayın ve bu komutu kullanarak alın:

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

Web DataYolu, yukarıda açıklandığı şekilde makinenizdeki ile değiştirdiğinizden emin olun .


Benim için harika çalıştı! Ve Windows 10'da WSL için bir eklenti vermek istiyorum, bu aslında Windows tabanlı bir çözümdür. Alma komutunu da paylaşır mısınız?
tbc0

1
@ tbc0 Alma talimatlarını da ekledim. WSL üzerinde test etmedim ancak teoride çalışması gerekiyor ...
William Casarin

'Karakterini kullanmanız gerekebilir. Bunu function esc(s){gsub("\x27","\x27\x27",s);return s}
awk'ınıza

5

Herhangi bir harici araç kullanmadan veya kayıt defterini düzenlemeden Chrome arama motoru ayarlarını dışa aktarmak ve almak için basit bir çözüm:

  1. Chrome'da Arama Motoru Ayarları sayfasını açın ( chrome://settings/searchEngines).
  2. Chrome Geliştirici Araçları'nı açın.
    • Kısayol: F12 veya Ctrl + Shift + I (Windows'ta, diğer platformlardaki kısayollar farklı olabilir).
    • Manuel gezinme: Sağ üst köşedeki üç noktalı menü > Diğer Araçlar > Geliştirici Araçları .
  3. Chrome Geliştirici Araçları'nın üst menü çubuğundaki Konsol'u tıklayın .
  4. Aşağıdaki komut dosyalarından birini konsola yapıştırın ve Enter tuşuna basın .

Arama motoru ayarlarına sahip bir JSON dosyası indirmek için:

(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));
    });
}());

Ayarları yukarıdaki betiği kullanarak oluşturulan bir JSON dosyasından almak için:

(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]);
  });
}());

notlar

  • Komut dosyalarını Windows 8.1'de Chrome 75.0.3770.100'de test ettim.
  • Komut dosyaları arama motorlarını yalnızca Diğer Arama Motorları bölümünde verir ve alır, ancak varsayılan arama motorlarını da içerecek şekilde kolayca değiştirilebilir.
  • Komut dosyalarını yer imi olarak dağıtmaya çalışmayın, yer imi chrome://URL'lerde yürütülmez (orada yapıldı, bunu yaptım).

Bu talimatlar benim için mükemmel çalıştı, krom versiyonu 74.
Jason

Parlak, hala v78 pencerelerinde çalışıyor.
junvar

4

Bu mümkün, ama istemeyeceğin bir acı.

  1. Chrome profilinizde Web Veri dosyasını bulun. Windows 7'de burada olacak: "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Web Data"

  2. Dosyayı Ubuntu'da SQLite Studio veya sqlite gibi bir SQLite programı ile açın (sudo apt-get install sqlite) ve SQLite Studio'daki anahtar kelimeler tablosunu verin veya Linux'ta bu komutu çalıştırın: sqlite3 "Web Data" ".dump keywords" > keywords.sql SQLite Studio dışa aktarma iletişim kutusu

  3. Meslektaşlarınızın anahtar kelimeleri almalarını sağlayın ve bu işlemin tersini yapın.

Dediğim gibi, mümkün ama acı verici.

Anahtar kelimeleri Firefox gibi diğer tarayıcılara sokmakla ilgileniyorsanız , SQL'i Web Verilerinden SQL'i neredeyse evrensel Netscape Yer İşareti Dosya Biçimine (bu biçim için kesin standardın Microsoft gibi göründüğü ironik) dönüştürmek için bir Javascript ayrıştırıcısı yazdım. veya opera.

Alternatif bir çözümle ilgileniyorsanız, herhangi bir tarayıcıda aynı özel arama motorlarını kullanmanıza izin vermek için Kısa İşaretler oluşturdum ve yakında başkalarıyla paylaşma özelliğini uygulamayı düşünüyorum. Birkaç gün içinde çıkacak olan sürüm, yeni özellikleri test etmeyi bitirdiğimde yukarıda belirtilen ithalat koduna sahip olacak.


1
Google’ın işlerini kolaylaştırmasını istememe rağmen, kişisel olarak "denemek istemeyeceğim bir acı olduğunu" hissetmedim. Patrick'in cevabı benim için çok yardımcı oldu: superuser.com/a/688270/74576
Ryan,

William'ın cevabı superuser.com/a/1350144/92959 tamamen kolaydı. Patrick'in cevabını William'ınkiyle kıyaslandığında çok karmaşık buldum.
tbc0

2

Google Chrome arama motoru girişlerimi paylaşmak için aşağıdakileri yaptım ve bu benim için mükemmel sonuç verdi:

  1. WINDOWS XP : Git C: \ Belgeler ve Ayarlar \ Kullanıcı Adım \ Yerel Ayarlar \ Uygulama Verileri \ Google \ Chrome \ Kullanıcı Verileri \ Varsayılan

    Windows 7'DE: C: \ Users \ MyKullanıcıAdı \ AppData \ Local \ Google \ Chrome \ Kullanıcı Verileri \ Varsayılan

  2. Bu 3 dosya kopyalama: Preferences, Web DataveWeb Data-journal

  3. Bu 3 dosyayı hedef makineye yerleştirin


"web data-jounal" olmadan benim için çalıştı (sadece her iki dosyayı da "varsayılan" klasörüne bırak, kromu yeniden başlat)
JinSnow


0

Benim için Windows 10'dayım ve arama motorlarını kişisel krom profilimden kurumsal krom profilime kopyalamak istedim. Aşağıdakileri yaptım:

  1. SQLite'i https://www.sqlite.org/download.html adresinden indirdim ("Önceden Derlenmiş İkili Dosyaların" altında "SQLite veritabanı dosyalarını yönetmek için bir komut satırı araçları paketi" açıklamasıyla). c:\utilsZaten benim yolumda olanı açtım

  2. Ben cmd.exe açtım

  3. Dizini varsayılan (kişisel) krom profilime değiştirdim

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

  4. Chrome'dan tamamen çıktım (tepside bile). Ayrıca, bu talimatların bir kopyasını saklayın (veya farklı bir tarayıcıda açın), çünkü bunları kaybedersiniz.

  5. Aşağıdakileri koştum:

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

  6. Yeni profile değiştirdim:

    cd "..\Profile 2\"

  7. Bunu koştum:

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

    Tamam, aşağıdaki hataları var:

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

Daha fazla hata alırsanız, arama motorlarını yeni profilinize eklediğiniz anlamına gelir. Yeni eklenenler de dahil olmak üzere hepsini silin ve bu adımı yeniden çalıştırın. Veya SQL dosyasını el ile düzenleyin.

  1. Chrome'u yedekledim ve şimdi arama anahtar kelimelerim iyi çalışıyor.

0

Bu nasıl yaparım (nerede bulduğumu hatırlamıyorum).

  1. Bir komut dosyası oluşturun 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. Bir komut dosyası oluşturun 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. Onları çalıştırılabilir yap:

    chmod +x export_chrome_search_engines.sh import_chrome_search_engines.sh 
    
  4. Dışa aktarmak için Chrome'u kapatın ve çalıştırın:

    ./export_chrome_search_engines.sh
    cp ~/.config/google-chrome/Default/keywords.sql /tmp/
    
  5. Almak için Chrome'u kapatın ve çalıştırın:

    cp /tmp/keywords.sql  ~/.config/google-chrome/Default
    ./import_chrome_search_engines.sh
    

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.