ฉันสร้างรายการค้นหาบางรายการใน Google Chrome โดยใช้ 'แก้ไขเครื่องมือค้นหา'
ฉันจะแบ่งปันบางรายการเหล่านี้กับเพื่อนร่วมงานของฉันได้อย่างไร
ฉันสร้างรายการค้นหาบางรายการใน Google Chrome โดยใช้ 'แก้ไขเครื่องมือค้นหา'
ฉันจะแบ่งปันบางรายการเหล่านี้กับเพื่อนร่วมงานของฉันได้อย่างไร
คำตอบ:
เป็นไปได้ แต่ก็เพียงพอกับความเจ็บปวดที่คุณไม่ต้องการ
ค้นหาไฟล์ข้อมูลเว็บในโปรไฟล์ Chrome ของคุณ ใน Windows 7 จะอยู่ที่นี่:
"%USERPROFILE%\AppData\Local\Google\Chrome\User Data\Default\Web Data"
เปิดไฟล์ด้วยโปรแกรม SQLite เช่นSQLite Studioหรือ sqlite ใน Ubuntu (sudo apt-get install sqlite) และส่งออกตารางคำหลักใน SQLite Studio หรือเรียกใช้คำสั่งนี้ใน Linux:
sqlite3 "Web Data" ".dump keywords" > keywords.sql
ให้เพื่อนร่วมงานของคุณนำเข้าคำหลักโดยทำสิ่งที่ตรงกันข้ามกับกระบวนการนี้
อย่างที่ฉันพูดไปได้ แต่เจ็บปวด
ฉันเขียนตัวแยกวิเคราะห์ Javascript เพื่อแปลง SQL จาก Web Data เป็นรูปแบบไฟล์คั่นหน้า Netscapeเกือบเป็นสากลในรูปแบบ HTML (แดกดันว่ามาตรฐานที่ชัดเจนสำหรับรูปแบบนั้นน่าจะเป็น Microsoft) หากคุณสนใจที่จะให้คำหลักเป็นเบราว์เซอร์อื่นเช่น Firefox หรือ Opera
หากคุณสนใจโซลูชันทางเลือกอื่นฉันได้สร้างShortmarksเพื่อให้คุณสามารถใช้ชุดเครื่องมือค้นหาที่กำหนดเองชุดเดียวกันในเบราว์เซอร์ใดก็ได้และฉันวางแผนที่จะใช้ความสามารถในการแบ่งปันกับผู้อื่นในไม่ช้า การเปิดตัวในอีกไม่กี่วันนี้จะมีรหัสการนำเข้าที่ฉันกล่าวถึงข้างต้นทันทีที่ฉันทำการทดสอบคุณสมบัติใหม่เสร็จสิ้น
ต่อไปนี้เป็นคำสั่งเดียวสำหรับส่งออกเครื่องมือค้นหา chrome ในรูปแบบ CSV บน linux:
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)
ฉันติดตามเพื่อแบ่งปันรายการเครื่องมือค้นหา Google Chrome ของฉันและมันใช้ได้ดีสำหรับฉัน
WINDOWS XP : ไปที่ C: \ Documents and Settings \ MyUserName \ Local Data \ Google Data \ Google \ Chrome \ User Data \ Default
ใน Windows 7 : ไปที่ C: \ Users \ MyUserName \ AppData \ Local \ Google \ Chrome \ ข้อมูลผู้ใช้ \ Default
คัดลอกเหล่านี้ 3 ไฟล์: Preferences
, Web Data
และWeb Data-journal
วางไฟล์ทั้งสามลงในเครื่องเป้าหมาย
ฉันเขียนสคริปต์ไพ ธ อนซึ่งโหลดคำจำกัดความจากข้อมูล JSON ตอนนี้คุณสามารถจัดการการกำหนดค่าของคุณเป็นรหัส:
https://gist.github.com/ninowalker/9952bf435f8acffa3ef59d6c538ca165
นี่คือ idempotent (เช่นสามารถเรียกใช้หลายครั้งไม่เพิ่มรายการที่ซ้ำกันด้วยคำหลัก)
ทำงานร่วมกับ python2 และ OSX สามารถแก้ไขได้เพื่อรองรับแพลตฟอร์มอื่น ๆ
สำหรับฉันฉันใช้ Windows 10 และฉันต้องการคัดลอกเครื่องมือค้นหาจากโปรไฟล์ chrome ส่วนตัวของฉันไปยังโปรไฟล์ chrome องค์กรของฉัน ฉันทำต่อไปนี้:
ฉันดาวน์โหลด SQLite จากhttps://www.sqlite.org/download.html (ภายใต้ "ไบนารีที่คอมไพล์แล้ว" พร้อมคำอธิบาย "ชุดเครื่องมือบรรทัดคำสั่งสำหรับจัดการไฟล์ฐานข้อมูล 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 ด้วยมือ
นี่เป็นวิธีง่ายๆในการส่งออกและนำเข้าการตั้งค่าเครื่องมือค้นหา Chrome โดยไม่ต้องใช้เครื่องมือภายนอกหรือแก้ไขรีจิสทรี:
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://
URL (เคยทำมาแล้ว)ณ ตอนนี้ไม่มีคุณไม่สามารถ อย่างไรก็ตามคุณสามารถแบ่งปันบุ๊คมาร์คกับเพื่อนร่วมงานของคุณ
ลิงก์ไปยังการแบ่งปันบุ๊คมาร์คของ Google ในตอนนี้ผู้ใช้ Google App ไม่สามารถแชร์บุ๊คมาร์คหรือรายการบุ๊คมาร์คได้