मैंने Google Chrome में 'खोज इंजन संपादित करें' का उपयोग करके कुछ खोज प्रविष्टियाँ बनाई हैं।
मैं इनमें से कुछ प्रविष्टियों को अपने सहयोगियों के साथ कैसे साझा कर सकता हूं?
मैंने Google Chrome में 'खोज इंजन संपादित करें' का उपयोग करके कुछ खोज प्रविष्टियाँ बनाई हैं।
मैं इनमें से कुछ प्रविष्टियों को अपने सहयोगियों के साथ कैसे साझा कर सकता हूं?
जवाबों:
यहाँ अपने क्रोम खोज इंजन को लिनक्स पर CSV के रूप में निर्यात करने के लिए एक एकल आदेश दिया गया है:
sqlite3 -csv ~/.config/chromium/Default/Web\ Data 'select short_name,keyword,url from keywords' > ~/search-engines.csv
आपको स्थापित sqlite3 की आवश्यकता है। ~/.config/chrome
यदि आप Windows पर हैं, तो संबंधित Windows पथ से बदलें । कुछ ऐसा होना चाहिए%AppData%\Local\Google\Chrome\User Data
CSV को निर्यात करने के बजाय, आप 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
फिर ~/search-engine-export.sql
दूसरी मशीन पर कॉपी करें, और इस कमांड के साथ आयात करें:
sqlite3 ~/.config/chromium/Default/Web\ Data < search-engine-export.sql
Web Data
ऊपर वर्णित के रूप में अपनी मशीन पर एक के साथ पथ को बदलना सुनिश्चित करें ।
function esc(s){gsub("\x27","\x27\x27",s);return s}
$ 1 और $ 2 ====> esc ($ 1), esc ($ 2) के लिए अपने
बिना किसी बाहरी टूल का उपयोग किए या रजिस्ट्री को संपादित किए बिना क्रोम सर्च इंजन सेटिंग्स को एक्सपोर्ट और इम्पोर्ट करने का एक सरल उपाय है:
chrome://settings/searchEngines
)।खोज इंजन सेटिंग्स के साथ एक JSON फ़ाइल डाउनलोड करने के लिए:
(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));
});
}());
उपरोक्त स्क्रिप्ट का उपयोग करके बनाई गई JSON फ़ाइल से सेटिंग आयात करने के लिए:
(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]);
});
}());
टिप्पणियाँ
chrome://
यूआरएल पर निष्पादित नहीं होते हैं (जैसा कि वहाँ किया गया है)।यह संभव है, लेकिन यह एक दर्द के लिए पर्याप्त है जिसे आप नहीं चाहते हैं।
अपने Chrome प्रोफ़ाइल में वेब डेटा फ़ाइल ढूंढें। विंडोज 7 में यह यहाँ होगा:
"%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Web Data"
उबंटू में SQLite Studio या sqlite जैसे SQLite प्रोग्राम के साथ फ़ाइल खोलें (sudo apt-get install sqlite) और SQLite Studio में कीवर्ड टेबल निर्यात करें या लिनक्स में इस कमांड को चलाएँ:
sqlite3 "Web Data" ".dump keywords" > keywords.sql
क्या आपके सहकर्मी इस प्रक्रिया के विपरीत करते हुए कीवर्ड आयात करते हैं।
जैसा मैंने कहा, संभव है, लेकिन दर्दनाक।
मैंने HTML में SQL डेटा को लगभग सार्वभौमिक नेटस्केप बुकमार्क फ़ाइल प्रारूप में HTML में बदलने के लिए एक जावास्क्रिप्ट पार्सर लिखा (विडंबना यह है कि उस प्रारूप के लिए निश्चित मानक Microsoft लगता है) यदि आप फ़ायरफ़ॉक्स जैसे अन्य ब्राउज़रों में कीवर्ड प्राप्त करने में रुचि रखते हैं। या ओपेरा।
यदि आप एक वैकल्पिक समाधान में रुचि रखते हैं, तो मैंने आपको किसी भी ब्राउज़र में कस्टम खोज इंजन के एक ही सेट का उपयोग करने की अनुमति देने के लिए शॉर्टकट बनाया है, और मैं जल्द ही दूसरों के साथ साझा करने की क्षमता को लागू करने की योजना बना रहा हूं। कुछ ही दिनों में आने वाली रिलीज़ में मेरे द्वारा उल्लिखित आयात कोड होगा जैसे ही मैं नई विशेषताओं का परीक्षण कर रहा हूँ।
मैंने अपनी Google Chrome खोज इंजन प्रविष्टियों को साझा करने के लिए अनुसरण किया और यह मेरे लिए बिल्कुल ठीक काम किया:
विन्डोज़ XP : C: \ Documents and Settings \ MyUserName \ Local Settings \ Application Data \ Google \ Chrome \ User डेटा \ Default पर जाएं
WINDOWS 7 : C: \ Users \ MyUserName \ AppData \ Local \ Google \ Chrome \ New डेटा डेटा डिफ़ॉल्ट पर जाएं
इन 3 फ़ाइलों की प्रतिलिपि: Preferences
, Web Data
औरWeb Data-journal
उन 3 फाइलों को लक्ष्य मशीन पर रखें
मैंने एक पाइथन स्क्रिप्ट लिखी है जो JSON डेटा से परिभाषाओं को लोड करती है। अब आप अपने कॉन्फ़िगरेशन को कोड के रूप में प्रबंधित कर सकते हैं:
https://gist.github.com/ninowalker/9952bf435f8acffa3ef59d6c538ca165
यह एक प्रकार का वृक्ष है (जैसे कई बार चलाया जा सकता है; कीवर्ड द्वारा डुप्लिकेट नहीं जोड़ा जा सकता है)।
Python2 और OSX के साथ काम करता है। अन्य प्लेटफार्मों का समर्थन करने के लिए संशोधित किया जा सकता है।
मेरे लिए, मैं विंडोज 10 पर हूं और मैं अपने पर्सनल क्रोम प्रोफाइल से सर्च कॉरपोरेट क्रोम प्रोफाइल में कॉपी करना चाहता था। मैंने निम्नलिखित कार्य किया:
मैंने SQLite को https://www.sqlite.org/download.html ("Precompiled Binaries" के तहत "SQLite डेटाबेस फ़ाइलों के प्रबंधन के लिए कमांड लाइन टूल के बंडल") विवरण के साथ डाउनलोड किया। मैंने इसे c:\utils
अपने मार्ग में पहले से ही खोल दिया
मैंने cmd.exe खोला
मैंने निर्देशिका को अपने डिफ़ॉल्ट (व्यक्तिगत) क्रोम प्रोफ़ाइल में बदल दिया
cd "%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default"
मैंने Chrome को पूरी तरह से छोड़ दिया (यहां तक कि ट्रे में भी)। इसके अलावा, इन निर्देशों की एक प्रति अपने पास रखें (या उन्हें किसी भिन्न ब्राउज़र में खोलें) क्योंकि आप उन्हें ढीला कर देंगे।
मैंने निम्नलिखित भाग किया:
sqlite3 "Web Data" ".dump keywords" > c:\keywords.sql
मैं नई प्रोफ़ाइल में बदल गया:
cd "..\Profile 2\"
मैंने इसे चलाया:
sqlite3.exe "Web Data" < c:\keywords.sql
मुझे निम्नलिखित त्रुटियां मिलीं, जो ठीक हैं:
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
यदि आपको अधिक त्रुटियां मिलती हैं, तो इसका मतलब है कि आपने अपनी नई प्रोफ़ाइल में खोज इंजन को जोड़ा है। इन सभी को हटा दें, इन नए लोगों को भी शामिल किया गया है और इस चरण को फिर से चलाएं। या हाथ से SQL फ़ाइल को संपादित करें।
यह है कि मैं इसे कैसे करता हूं (मुझे याद नहीं है कि मैंने इसे कहां पाया था)।
एक स्क्रिप्ट बनाएँ 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
एक स्क्रिप्ट बनाएँ 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
उन्हें निष्पादन योग्य बनाएं:
chmod +x export_chrome_search_engines.sh import_chrome_search_engines.sh
निर्यात करने के लिए, Chrome को बंद करें और चलाएं:
./export_chrome_search_engines.sh
cp ~/.config/google-chrome/Default/keywords.sql /tmp/
आयात करने के लिए, Chrome को बंद करें और चलाएं:
cp /tmp/keywords.sql ~/.config/google-chrome/Default
./import_chrome_search_engines.sh
अब तक, नहीं, आप नहीं कर सकते। हालाँकि, आप अपने सहयोगियों के साथ बुकमार्क साझा कर सकते हैं।
Google बुकमार्क साझाकरण से लिंक करें अब तक, Google ऐप उपयोगकर्ता बुकमार्क, या बुकमार्क की सूची साझा करने में सक्षम नहीं हैं।