diff options
Diffstat (limited to 'libre-testing/icecat')
-rw-r--r-- | libre-testing/icecat/PKGBUILD | 213 | ||||
-rw-r--r-- | libre-testing/icecat/gnu_headshadow.png | bin | 0 -> 6785 bytes | |||
-rw-r--r-- | libre-testing/icecat/icecat.desktop | 311 | ||||
-rw-r--r-- | libre-testing/icecat/libre.patch | 1872 |
4 files changed, 2396 insertions, 0 deletions
diff --git a/libre-testing/icecat/PKGBUILD b/libre-testing/icecat/PKGBUILD new file mode 100644 index 000000000..463ff67a9 --- /dev/null +++ b/libre-testing/icecat/PKGBUILD @@ -0,0 +1,213 @@ +# Maintainer (Arch:firefox): Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor (Arch:firefox): Ionut Biru <ibiru@archlinux.org> +# Contributor (Arch:firefox): Jakub Schmidtke <sjakub@gmail.com> + +# Contributor (ConnochaetOS:iceweasel): Henry Jensen <hjensen@connochaetos.org> + +# Maintainer: Andreas Grapentin <andreas@grapentin.org> +# Maintainer: Luke Shumaker <lukeshu@parabola.nu> +# Contributor: André Silva <emulatorman@hyperbola.info> +# Contributor: Márcio Silva <coadde@hyperbola.info> +# Contributor: fauno <fauno@kiwwwi.com.ar> +# Contributor: vando <facundo@esdebian.org> +# Contributor: Figue <ffigue at gmail> +# Contributor: evr <evanroman at gmail> +# Contributor: Muhammad 'MJ' Jassim <UnbreakableMJ@gmail.com> + +pkgname=icecat +_pkgver=60.3.0-gnu1 +pkgver=${_pkgver//-/_} +pkgrel=1.testing1 +pkgdesc="GNU IceCat - a libre standalone web browser based on Mozilla Firefox." +arch=(x86_64 i686 armv7h) +license=(MPL GPL LGPL) +url="http://www.gnu.org/software/gnuzilla/" +depends=(gtk3 gtk2 mozilla-common libxt startup-notification mime-types dbus-glib ffmpeg + nss hunspell-en_US sqlite ttf-font libpulse libvpx icu) +makedepends=(unzip zip diffutils python2 yasm mesa imake gconf inetutils xorg-server-xvfb + autoconf2.13 rust clang llvm jack mozilla-searchplugins) +optdepends=('networkmanager: Location detection via available WiFi networks' + 'libnotify: Notification integration' + 'pulseaudio: Audio support' + 'speech-dispatcher: Text-to-Speech') +options=(!emptydirs !makeflags !strip) +source=(http://ftp.gnu.org/gnu/gnuzilla/${_pkgver%-*}/$pkgname-$_pkgver.tar.bz2{,.sig} + $pkgname.desktop + gnu_headshadow.png + libre.patch) +sha256sums=('6145327092b4b195a4f63d0e86f4857eeba5607ffeb69b6f3bceb36e89a19645' + 'SKIP' + '2f9d117c1524312fb45f3e953cb0de02c525fd385a9b2b6d47308c8aaab0aedd' + '93e3001ce152e1d142619e215a9ef07dd429943b99d21726c25da9ceb31e31cd' + 'd32f97e812c536efd9bdc7043efd6f9472a1edd9f814b453805c7c10ffea25a6') +validpgpkeys=('A57369A8BABC2542B5A0368C3C76EED7D7E04784') # Ruben Rodriguez + +prepare() { + cd "$srcdir/$pkgname-${pkgver%_*}" + + # Patch to move files directly to /usr/lib/icecat. No more symlinks. + sed -e 's;$(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION);$(libdir)/$(MOZ_APP_NAME);g' -i config/baseconfig.mk + sed -e 's;$(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION);$(libdir)/$(MOZ_APP_NAME)-devel;g' -i config/baseconfig.mk + + cat >.mozconfig <<END +ac_add_options --enable-application=browser + +ac_add_options --prefix=/usr +ac_add_options --enable-release +ac_add_options --enable-linker=gold +ac_add_options --enable-hardening +ac_add_options --enable-optimize +ac_add_options --enable-rust-simd + +# Branding +ac_add_options --enable-official-branding +ac_add_options --with-distribution-id=org.gnu + +# System libraries +ac_add_options --with-system-zlib +ac_add_options --with-system-bz2 +ac_add_options --with-system-icu +ac_add_options --with-system-jpeg +ac_add_options --with-system-libvpx +ac_add_options --with-system-nspr +ac_add_options --with-system-nss +ac_add_options --enable-system-sqlite +ac_add_options --enable-system-ffi + +# Features +ac_add_options --enable-alsa +ac_add_options --enable-startup-notification +ac_add_options --disable-crashreporter +ac_add_options --disable-updater +ac_add_options --disable-debug-symbols +ac_add_options --disable-tests +ac_add_options --disable-eme +ac_add_options --disable-gconf + +ac_add_options --with-app-basename=icecat +ac_add_options --with-app-name=icecat +ac_add_options --enable-update-channel=release +END + + if [[ "$CARCH" == arm* ]]; then + sed -i \ + -e '/enable-gold/s/^/#/' \ + -e '/enable-pie/s/^/#/' \ + -e '/enable-optimize/d' \ + .mozconfig + + cat >> .mozconfig << END +ac_add_options --disable-webrtc +ac_add_options --disable-elf-hack +ac_add_options --enable-optimize="-g -O2 -fno-schedule-insns" +END + fi + + # Put gnu_headshadow.png in the source code + # install -m644 "$srcdir/gnu_headshadow.png" \ + # browser/base/content/abouthome + + # Patch and remove anything that's left + # patch -Np1 -i "$srcdir/libre.patch" + # rm -v browser/base/content/abouthome/snippet*.png || true + # sed -i '\|abouthome/snippet|d + # ' browser/base/jar.mn + + # Load our searchplugins + # rm -rf -- browser/locales/searchplugins + # cp -aT -- /usr/lib/mozilla/searchplugins browser/locales/searchplugins +} + +build() { + cd "$srcdir/$pkgname-${pkgver%_*}" + + ./mach build + ./mach buildsymbols +} + +package() { + local _icu_ver + _icu_ver=$(pacman -S --print-format='%v' icu) + depends+=("icu>=${_icu_ver}" "icu<$((${_icu_ver%%.*} + 1))") + + cd "$srcdir/$pkgname-${pkgver%_*}" + DESTDIR="$pkgdir" ./mach install + + _vendorjs="$pkgdir/usr/lib/$pkgname/browser/defaults/preferences/vendor.js" + install -Dm644 /dev/stdin "$_vendorjs" <<END +// Use LANG environment variable to choose locale +pref("intl.locale.requested", ""); + +// Use system-provided dictionaries +pref("spellchecker.dictionary_path", "/usr/share/hunspell"); + +// Disable default browser checking. +pref("browser.shell.checkDefaultBrowser", false); + +// Don't disable our bundled extensions in the application directory +pref("extensions.autoDisableScopes", 11); +pref("extensions.shownSelectionUI", true); + +// Disable "alt" as a shortcut key to open full menu bar. Conflicts with "alt" as a modifier +pref("ui.key.menuAccessKeyFocuses", false); + +// Make sure that Firefox Social stuff are empty +pref("social.whitelist", ""); +pref("social.directories", ""); + +// Disable the GeoLocation API for content +pref("geo.enabled", false); + +// Make sure that the request URL of the GeoLocation backend is empty +pref("geo.wifi.uri", ""); + +// Disable the least secure encryption protocols +pref("security.ssl3.ecdhe_ecdsa_rc4_128_sha", false); +pref("security.ssl3.ecdhe_rsa_rc4_128_sha", false); +pref("security.ssl3.rsa_rc4_128_md5", false); +pref("security.ssl3.rsa_rc4_128_sha", false); +END + + _distini="$pkgdir/usr/lib/$pkgname/distribution/distribution.ini" + install -Dm644 /dev/stdin "$_distini" <<END +[Global] +id=parabola +version=1.0 +about=Icecat for Parabola GNU/Linux-libre + +[Preferences] +app.distributor=parabola +app.distributor.channel=$pkgname +app.partner.parabola=parabola +END + + install -m755 -d ${pkgdir}/usr/share/applications + install -m755 -d ${pkgdir}/usr/share/pixmaps + + for i in 16 22 24 32 48 256; do + install -Dm644 "browser/branding/official/default$i.png" \ + "$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png" + done + install -Dm644 "browser/branding/official/content/icon64.png" \ + "$pkgdir/usr/share/icons/hicolor/64x64/apps/$pkgname.png" + install -Dm644 "browser/branding/official/mozicon128.png" \ + "$pkgdir/usr/share/icons/hicolor/128x128/apps/$pkgname.png" + install -Dm644 "browser/branding/official/content/about-logo.png" \ + "$pkgdir/usr/share/icons/hicolor/192x192/apps/$pkgname.png" + install -Dm644 "browser/branding/official/content/about-logo@2x.png" \ + "$pkgdir/usr/share/icons/hicolor/384x384/apps/$pkgname.png" + + install -Dm644 ../$pkgname.desktop \ + "$pkgdir/usr/share/applications/$pkgname.desktop" + + # Install a wrapper to avoid confusion about binary path + install -Dm755 /dev/stdin "$pkgdir/usr/bin/$pkgname" <<END +#!/bin/sh +exec /usr/lib/$pkgname/$pkgname "\$@" +END + + # Replace duplicate binary with wrapper + # https://bugzilla.mozilla.org/show_bug.cgi?id=658850 + ln -srf "$pkgdir/usr/bin/$pkgname" \ + "$pkgdir/usr/lib/$pkgname/$pkgname-bin" +} diff --git a/libre-testing/icecat/gnu_headshadow.png b/libre-testing/icecat/gnu_headshadow.png Binary files differnew file mode 100644 index 000000000..e0f73a3bf --- /dev/null +++ b/libre-testing/icecat/gnu_headshadow.png diff --git a/libre-testing/icecat/icecat.desktop b/libre-testing/icecat/icecat.desktop new file mode 100644 index 000000000..43a66b42f --- /dev/null +++ b/libre-testing/icecat/icecat.desktop @@ -0,0 +1,311 @@ +[Desktop Entry] +Version=1.0 +Name=GNU IceCat +GenericName=Web Browser +GenericName[ar]=متصفح وِب +GenericName[ast]=Restolador Web +GenericName[bn]=ওয়েব ব্রাউজার +GenericName[ca]=Navegador web +GenericName[cs]=Webový prohlížeč +GenericName[da]=Webbrowser +GenericName[de]=Webbrowser +GenericName[el]=Περιηγητής διαδικτύου +GenericName[es]=Navegador web +GenericName[et]=Veebibrauser +GenericName[fa]=مرورگر اینترنتی +GenericName[fi]=WWW-selain +GenericName[fr]=Navigateur Web +GenericName[gl]=Navegador Web +GenericName[he]=דפדפן אינטרנט +GenericName[hr]=Web preglednik +GenericName[hu]=Webböngésző +GenericName[it]=Browser Web +GenericName[ja]=ウェブ・ブラウザ +GenericName[ko]=웹 브라우저 +GenericName[ku]=Geroka torê +GenericName[lt]=Interneto naršyklė +GenericName[nb]=Nettleser +GenericName[nl]=Webbrowser +GenericName[nn]=Nettlesar +GenericName[no]=Nettleser +GenericName[pl]=Przeglądarka WWW +GenericName[pt]=Navegador Web +GenericName[pt_BR]=Navegador Web +GenericName[ro]=Navigator Internet +GenericName[ru]=Веб-браузер +GenericName[sk]=Internetový prehliadač +GenericName[sl]=Spletni brskalnik +GenericName[sv]=Webbläsare +GenericName[tr]=Web Tarayıcı +GenericName[ug]=توركۆرگۈ +GenericName[uk]=Веб-браузер +GenericName[vi]=Trình duyệt Web +GenericName[zh_CN]=网络浏览器 +GenericName[zh_TW]=網路瀏覽器 +Comment=Browse the Web +Comment[ar]=تصفح الوِب +Comment[ast]=Restola pela Rede +Comment[bn]=ইন্টারনেট ব্রাউজ করুন +Comment[ca]=Navegueu per el web +Comment[cs]=Prohlížení stránek World Wide Webu +Comment[da]=Surf på internettet +Comment[de]=Im Internet surfen +Comment[el]=Μπορείτε να περιηγηθείτε στο διαδίκτυο (Web) +Comment[es]=Navegue por la web +Comment[et]=Lehitse veebi +Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید +Comment[fi]=Selaa Internetin WWW-sivuja +Comment[fr]=Naviguer sur le Web +Comment[gl]=Navegar pola rede +Comment[he]=גלישה ברחבי האינטרנט +Comment[hr]=Pretražite web +Comment[hu]=A világháló böngészése +Comment[it]=Esplora il web +Comment[ja]=ウェブを閲覧します +Comment[ko]=웹을 돌아 다닙니다 +Comment[ku]=Li torê bigere +Comment[lt]=Naršykite internete +Comment[nb]=Surf på nettet +Comment[nl]=Verken het internet +Comment[nn]=Surf på nettet +Comment[no]=Surf på nettet +Comment[pl]=Przeglądanie stron WWW +Comment[pt]=Navegue na Internet +Comment[pt_BR]=Navegue na Internet +Comment[ro]=Navigați pe Internet +Comment[ru]=Доступ в Интернет +Comment[sk]=Prehliadanie internetu +Comment[sl]=Brskajte po spletu +Comment[sv]=Surfa på webben +Comment[tr]=İnternet'te Gezinin +Comment[ug]=دۇنيادىكى توربەتلەرنى كۆرگىلى بولىدۇ +Comment[uk]=Перегляд сторінок Інтернету +Comment[vi]=Để duyệt các trang web +Comment[zh_CN]=浏览互联网 +Comment[zh_TW]=瀏覽網際網路 +Exec=icecat %u +Icon=icecat +Terminal=false +Type=Application +MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https; +StartupNotify=true +StartupWMClass=Icecat +Categories=Network;WebBrowser; +Keywords=web;browser;internet; +Actions=new-window;new-private-window; + +[Desktop Action new-window] +Name=New Window +Name[ach]=Dirica manyen +Name[af]=Nuwe venster +Name[an]=Nueva finestra +Name[ar]=نافذة جديدة +Name[as]=নতুন উইন্ডো +Name[ast]=Ventana nueva +Name[az]=Yeni Pəncərə +Name[be]=Новае акно +Name[bg]=Нов прозорец +Name[bn_BD]=নতুন উইন্ডো (N) +Name[bn_IN]=নতুন উইন্ডো +Name[br]=Prenestr nevez +Name[brx]=गोदान उइन्ड'(N) +Name[bs]=Novi prozor +Name[ca]=Finestra nova +Name[cak]=K'ak'a' tzuwäch +Name[cs]=Nové okno +Name[cy]=Ffenestr Newydd +Name[da]=Nyt vindue +Name[de]=Neues Fenster +Name[dsb]=Nowe wokno +Name[el]=Νέο παράθυρο +Name[en_GB]=New Window +Name[en_US]=New Window +Name[en_ZA]=New Window +Name[eo]=Nova fenestro +Name[es_AR]=Nueva ventana +Name[es_CL]=Nueva ventana +Name[es_ES]=Nueva ventana +Name[es_MX]=Nueva ventana +Name[et]=Uus aken +Name[eu]=Leiho berria +Name[fa]=پنجره جدید +Name[ff]=Henorde Hesere +Name[fi]=Uusi ikkuna +Name[fr]=Nouvelle fenêtre +Name[fy_NL]=Nij finster +Name[ga_IE]=Fuinneog Nua +Name[gd]=Uinneag ùr +Name[gl]=Nova xanela +Name[gn]=Ovetã pyahu +Name[gu_IN]=નવી વિન્ડો +Name[he]=חלון חדש +Name[hi_IN]=नया विंडो +Name[hr]=Novi prozor +Name[hsb]=Nowe wokno +Name[hu]=Új ablak +Name[hy_AM]=Նոր Պատուհան +Name[id]=Jendela Baru +Name[is]=Nýr gluggi +Name[it]=Nuova finestra +Name[ja]=新しいウィンドウ +Name[ja_JP-mac]=新規ウインドウ +Name[ka]=ახალი ფანჯარა +Name[kk]=Жаңа терезе +Name[km]=បង្អួចថ្មី +Name[kn]=ಹೊಸ ಕಿಟಕಿ +Name[ko]=새 창 +Name[kok]=नवें जनेल +Name[ks]=نئئ وِنڈو +Name[lij]=Neuvo barcon +Name[lo]=ຫນ້າຕ່າງໃຫມ່ +Name[lt]=Naujas langas +Name[ltg]=Jauns lūgs +Name[lv]=Jauns logs +Name[mai]=नव विंडो +Name[mk]=Нов прозорец +Name[ml]=പുതിയ ജാലകം +Name[mr]=नवीन पटल +Name[ms]=Tetingkap Baru +Name[my]=ဝင်းဒိုးအသစ် +Name[nb_NO]=Nytt vindu +Name[ne_NP]=नयाँ सञ्झ्याल +Name[nl]=Nieuw venster +Name[nn_NO]=Nytt vindauge +Name[or]=ନୂତନ ୱିଣ୍ଡୋ +Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ +Name[pl]=Nowe okno +Name[pt_BR]=Nova janela +Name[pt_PT]=Nova janela +Name[rm]=Nova fanestra +Name[ro]=Fereastră nouă +Name[ru]=Новое окно +Name[sat]=नावा विंडो (N) +Name[si]=නව කවුළුවක් +Name[sk]=Nové okno +Name[sl]=Novo okno +Name[son]=Zanfun taaga +Name[sq]=Dritare e Re +Name[sr]=Нови прозор +Name[sv_SE]=Nytt fönster +Name[ta]=புதிய சாளரம் +Name[te]=కొత్త విండో +Name[th]=หน้าต่างใหม่ +Name[tr]=Yeni pencere +Name[tsz]=Eraatarakua jimpani +Name[uk]=Нове вікно +Name[ur]=نیا دریچہ +Name[uz]=Yangi oyna +Name[vi]=Cửa sổ mới +Name[wo]=Palanteer bu bees +Name[xh]=Ifestile entsha +Name[zh_CN]=新建窗口 +Name[zh_TW]=開新視窗 +Exec=icecat --new-window %u + +[Desktop Action new-private-window] +Name=New Private Window +Name[ach]=Dirica manyen me mung +Name[af]=Nuwe privaatvenster +Name[an]=Nueva finestra privada +Name[ar]=نافذة خاصة جديدة +Name[as]=নতুন ব্যক্তিগত উইন্ডো +Name[ast]=Ventana privada nueva +Name[az]=Yeni Məxfi Pəncərə +Name[be]=Новае акно адасаблення +Name[bg]=Нов прозорец за поверително сърфиране +Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো +Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো +Name[br]=Prenestr merdeiñ prevez nevez +Name[brx]=गोदान प्राइभेट उइन्ड' +Name[bs]=Novi privatni prozor +Name[ca]=Finestra privada nova +Name[cak]=K'ak'a' ichinan tzuwäch +Name[cs]=Nové anonymní okno +Name[cy]=Ffenestr Breifat Newydd +Name[da]=Nyt privat vindue +Name[de]=Neues privates Fenster +Name[dsb]=Nowe priwatne wokno +Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης +Name[en_GB]=New Private Window +Name[en_US]=New Private Window +Name[en_ZA]=New Private Window +Name[eo]=Nova privata fenestro +Name[es_AR]=Nueva ventana privada +Name[es_CL]=Nueva ventana privada +Name[es_ES]=Nueva ventana privada +Name[es_MX]=Nueva ventana privada +Name[et]=Uus privaatne aken +Name[eu]=Leiho pribatu berria +Name[fa]=پنجره ناشناس جدید +Name[ff]=Henorde Suturo Hesere +Name[fi]=Uusi yksityinen ikkuna +Name[fr]=Nouvelle fenêtre de navigation privée +Name[fy_NL]=Nij priveefinster +Name[ga_IE]=Fuinneog Nua Phríobháideach +Name[gd]=Uinneag phrìobhaideach ùr +Name[gl]=Nova xanela privada +Name[gn]=Ovetã ñemi pyahu +Name[gu_IN]=નવી ખાનગી વિન્ડો +Name[he]=חלון פרטי חדש +Name[hi_IN]=नयी निजी विंडो +Name[hr]=Novi privatni prozor +Name[hsb]=Nowe priwatne wokno +Name[hu]=Új privát ablak +Name[hy_AM]=Սկսել Գաղտնի դիտարկում +Name[id]=Jendela Mode Pribadi Baru +Name[is]=Nýr huliðsgluggi +Name[it]=Nuova finestra anonima +Name[ja]=新しいプライベートウィンドウ +Name[ja_JP-mac]=新規プライベートウインドウ +Name[ka]=ახალი პირადი ფანჯარა +Name[kk]=Жаңа жекелік терезе +Name[km]=បង្អួចឯកជនថ្មី +Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ +Name[ko]=새 사생활 보호 모드 +Name[kok]=नवो खाजगी विंडो +Name[ks]=نْو پرایوٹ وینڈو +Name[lij]=Nêuvo barcón privòu +Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່ +Name[lt]=Naujas privataus naršymo langas +Name[ltg]=Jauns privatais lūgs +Name[lv]=Jauns privātais logs +Name[mai]=नया निज विंडो (W) +Name[mk]=Нов приватен прозорец +Name[ml]=പുതിയ സ്വകാര്യ ജാലകം +Name[mr]=नवीन वैयक्तिक पटल +Name[ms]=Tetingkap Persendirian Baharu +Name[my]=New Private Window +Name[nb_NO]=Nytt privat vindu +Name[ne_NP]=नयाँ निजी सञ्झ्याल +Name[nl]=Nieuw privévenster +Name[nn_NO]=Nytt privat vindauge +Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ +Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ +Name[pl]=Nowe okno prywatne +Name[pt_BR]=Nova janela privativa +Name[pt_PT]=Nova janela privada +Name[rm]=Nova fanestra privata +Name[ro]=Fereastră privată nouă +Name[ru]=Новое приватное окно +Name[sat]=नावा निजेराक् विंडो (W ) +Name[si]=නව පුද්ගලික කවුළුව (W) +Name[sk]=Nové okno v režime Súkromné prehliadanie +Name[sl]=Novo zasebno okno +Name[son]=Sutura zanfun taaga +Name[sq]=Dritare e Re Private +Name[sr]=Нови приватан прозор +Name[sv_SE]=Nytt privat fönster +Name[ta]=புதிய தனிப்பட்ட சாளரம் +Name[te]=కొత్త ఆంతరంగిక విండో +Name[th]=หน้าต่างส่วนตัวใหม่ +Name[tr]=Yeni gizli pencere +Name[tsz]=Juchiiti eraatarakua jimpani +Name[uk]=Приватне вікно +Name[ur]=نیا نجی دریچہ +Name[uz]=Yangi maxfiy oyna +Name[vi]=Cửa sổ riêng tư mới +Name[wo]=Panlanteeru biir bu bees +Name[xh]=Ifestile yangasese entsha +Name[zh_CN]=新建隐私浏览窗口 +Name[zh_TW]=新增隱私視窗 +Exec=icecat --private-window %u diff --git a/libre-testing/icecat/libre.patch b/libre-testing/icecat/libre.patch new file mode 100644 index 000000000..0ca3668f4 --- /dev/null +++ b/libre-testing/icecat/libre.patch @@ -0,0 +1,1872 @@ +diff --git a/browser/app/profile/icecat.js b/browser/app/profile/icecat.js +index 17c1e93..40f1e2b 100644 +--- a/browser/app/profile/icecat.js ++++ b/browser/app/profile/icecat.js +@@ -245,11 +245,6 @@ pref("browser.slowStartup.notificationDisabled", false); + pref("browser.slowStartup.timeThreshold", 40000); + pref("browser.slowStartup.maxSamples", 5); + +-// This url, if changed, MUST continue to point to an https url. Pulling arbitrary content to inject into +-// this page over http opens us up to a man-in-the-middle attack that we'd rather not face. If you are a downstream +-// repackager of this code using an alternate snippet url, please keep your users safe +-pref("browser.aboutHomeSnippets.updateUrl", "https://snippets.cdn.mozilla.net/%STARTPAGE_VERSION%/%NAME%/%VERSION%/%APPBUILDID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/"); +- + pref("browser.enable_automatic_image_resizing", true); + pref("browser.casting.enabled", false); + pref("browser.chrome.site_icons", true); +@@ -1844,17 +1839,6 @@ pref("pfs.filehint.url", "http://gnuzilla.gnu.org/plugins/PluginFinderService.ph + pref("geo.enabled", false); + pref("geo.wifi.uri", ""); + +-// I'm feeling Ducky. +-pref("keyword.URL", "https://duckduckgo.com/html?t=gnu&q=!+"); +-pref("browser.search.defaultenginename", "DuckDuckGo"); +-pref("browser.search.order.extra.duckduckgo", "DuckDuckGo"); +-pref("browser.search.showOneOffButtons", false); +-// US specific default (used as a fallback if the geoSpecificDefaults request fails). +-pref("browser.search.defaultenginename.US", "data:text/plain,browser.search.defaultenginename.US=DuckDuckGo"); +-pref("browser.search.order.US.1", "data:text/plain,browser.search.order.US.1=DuckDuckGo"); +-pref("browser.search.order.US.2", "data:text/plain,browser.search.order.US.2=Google"); +-pref("browser.search.order.US.3", "data:text/plain,browser.search.order.US.3=Yahoo"); +- + // Disable Gecko media plugins: https://wiki.mozilla.org/GeckoMediaPlugins + pref("media.gmp-manager.url", "http://127.0.0.1/"); + pref("media.gmp-manager.url.override", "data:text/plain,"); +diff --git a/browser/base/content/abouthome/aboutHome.css b/browser/base/content/abouthome/aboutHome.css +index 8635239..e6514bc 100644 +--- a/browser/base/content/abouthome/aboutHome.css ++++ b/browser/base/content/abouthome/aboutHome.css +@@ -49,11 +49,6 @@ a { + background-repeat: no-repeat; + } + +-#searchForm, +-#snippets { +- width: 470px; +-} +- + #searchForm { + display: -moz-box; + } +@@ -72,8 +67,7 @@ a { + #searchEngineLogo { + display: inline-block; + height: 28px; +- width: 70px; +- min-width: 70px; ++ width: 28px; + } + + #searchText { +@@ -145,48 +139,6 @@ a { + transition-duration: 0ms; + } + +-#defaultSnippet1, +-#defaultSnippet2, +-#rightsSnippet { +- display: block; +- min-height: 38px; +- background: 30px center no-repeat; +- padding: 6px 0; +- -moz-padding-start: 79px; +-} +- +-#rightsSnippet[hidden] { +- display: none; +-} +- +-#defaultSnippet1:-moz-dir(rtl), +-#defaultSnippet2:-moz-dir(rtl), +-#rightsSnippet:-moz-dir(rtl) { +- background-position: right 30px center; +-} +- +-#defaultSnippet1 { +- background-image: url("chrome://browser/content/abouthome/snippet1.png"); +-} +- +-#defaultSnippet2 { +- background-image: url("chrome://browser/content/abouthome/snippet2.png"); +-} +- +-#snippets { +- display: inline-block; +- text-align: start; +- margin: 12px 0; +- color: #3c3c3c; +- font-size: 75%; +- /* 12px is the computed font size, 15px the computed line height of the snippets +- with Segoe UI on a default Windows 7 setup. The 15/12 multiplier approximately +- converts em from units of font-size to units of line-height. The goal is to +- preset the height of a three-line snippet to avoid visual moving/flickering as +- the snippets load. */ +- min-height: calc(15/12 * 3em); +-} +- + #launcher { + display: -moz-box; + -moz-box-align: center; +@@ -335,26 +287,25 @@ body[narrow] #restorePreviousSession::before { + width: 32px; + } + +-#aboutMozilla { ++#aboutGNU { + display: block; +- position: relative; /* pin wordmark to edge of document, not of viewport */ + -moz-box-ordinal-group: 0; + opacity: .5; + transition: opacity 150ms; + } + +-#aboutMozilla:hover { ++#aboutGNU:hover { + opacity: 1; + } + +-#aboutMozilla::before { +- content: url("chrome://browser/content/abouthome/mozilla.png"); ++#aboutGNU::before { ++ content: url("chrome://browser/content/abouthome/gnu_headshadow.png"); + display: block; + position: absolute; + top: 12px; + right: 12px; +- width: 69px; +- height: 19px; ++ width: 200px; ++ height: 110px; + } + + /* [HiDPI] +@@ -366,26 +317,6 @@ body[narrow] #restorePreviousSession::before { + background-image: url("chrome://branding/content/about-logo@2x.png"); + } + +- #defaultSnippet1, +- #defaultSnippet2, +- #rightsSnippet { +- background-size: 40px; +- } +- +- #defaultSnippet1 { +- background-image: url("chrome://browser/content/abouthome/snippet1@2x.png"); +- } +- +- #defaultSnippet2 { +- background-image: url("chrome://browser/content/abouthome/snippet2@2x.png"); +- } +- +- .launchButton::before, +- #aboutMozilla::before { +- transform: scale(.5); +- transform-origin: 0 0; +- } +- + #downloads::before { + content: url("chrome://browser/content/abouthome/downloads@2x.png"); + } +@@ -421,9 +352,5 @@ body[narrow] #restorePreviousSession::before { + body[narrow] #restorePreviousSession::before { + content: url("chrome://browser/content/abouthome/restore@2x.png"); + } +- +- #aboutMozilla::before { +- content: url("chrome://browser/content/abouthome/mozilla@2x.png"); +- } + } + +diff --git a/browser/base/content/abouthome/aboutHome.js b/browser/base/content/abouthome/aboutHome.js +index 77ae98c..1021d12 100644 +--- a/browser/base/content/abouthome/aboutHome.js ++++ b/browser/base/content/abouthome/aboutHome.js +@@ -3,149 +3,54 @@ + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + + const SEARCH_ENGINES = { +- "Google": { +- // This is the "2x" image designed for OS X retina resolution, Windows at 192dpi, etc.; +- // it will be scaled down as necessary on lower-dpi displays. +- image: "data:image/png;base64," + +- "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" ++ "searx": { ++ image: "data:image/png;base64,\ ++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" + } + }; + +-// The process of adding a new default snippet involves: +-// * add a new entity to aboutHome.dtd +-// * add a <span/> for it in aboutHome.xhtml +-// * add an entry here in the proper ordering (based on spans) +-// The <a/> part of the snippet will be linked to the corresponding url. +-const DEFAULT_SNIPPETS_URLS = [ "" ]; +- +-const SNIPPETS_UPDATE_INTERVAL_MS = 86400000; // 1 Day. +- +-// IndexedDB storage constants. +-const DATABASE_NAME = "abouthome"; +-const DATABASE_VERSION = 1; +-const SNIPPETS_OBJECTSTORE_NAME = "snippets"; +- + // This global tracks if the page has been set up before, to prevent double inits + let gInitialized = false; + let gObserver = new MutationObserver(function (mutations) { +@@ -153,7 +58,6 @@ let gObserver = new MutationObserver(function (mutations) { + if (mutation.attributeName == "searchEngineName") { + setupSearchEngine(); + if (!gInitialized) { +-// ensureSnippetsMapThen(loadSnippets); + gInitialized = true; + } + return; +@@ -178,118 +82,6 @@ window.addEventListener("pagehide", function() { + window.removeEventListener("resize", fitToWidth); + }); + +-// This object has the same interface as Map and is used to store and retrieve +-// the snippets data. It is lazily initialized by ensureSnippetsMapThen(), so +-// be sure its callback returned before trying to use it. +-let gSnippetsMap; +-let gSnippetsMapCallbacks = []; +- +-/** +- * Ensure the snippets map is properly initialized. +- * +- * @param aCallback +- * Invoked once the map has been initialized, gets the map as argument. +- * @note Snippets should never directly manage the underlying storage, since +- * it may change inadvertently. +- */ +-function ensureSnippetsMapThen(aCallback) +-{ +-return; +- if (gSnippetsMap) { +- aCallback(gSnippetsMap); +- return; +- } +- +- // Handle multiple requests during the async initialization. +- gSnippetsMapCallbacks.push(aCallback); +- if (gSnippetsMapCallbacks.length > 1) { +- // We are already updating, the callbacks will be invoked when done. +- return; +- } +- +- let invokeCallbacks = function () { +- if (!gSnippetsMap) { +- gSnippetsMap = Object.freeze(new Map()); +- } +- +- for (let callback of gSnippetsMapCallbacks) { +- callback(gSnippetsMap); +- } +- gSnippetsMapCallbacks.length = 0; +- } +- +- let openRequest = indexedDB.open(DATABASE_NAME, DATABASE_VERSION); +- +- openRequest.onerror = function (event) { +- // Try to delete the old database so that we can start this process over +- // next time. +- indexedDB.deleteDatabase(DATABASE_NAME); +- invokeCallbacks(); +- }; +- +- openRequest.onupgradeneeded = function (event) { +- let db = event.target.result; +- if (!db.objectStoreNames.contains(SNIPPETS_OBJECTSTORE_NAME)) { +- db.createObjectStore(SNIPPETS_OBJECTSTORE_NAME); +- } +- } +- +- openRequest.onsuccess = function (event) { +- let db = event.target.result; +- +- db.onerror = function (event) { +- invokeCallbacks(); +- } +- +- db.onversionchange = function (event) { +- event.target.close(); +- invokeCallbacks(); +- } +- +- let cache = new Map(); +- let cursorRequest = db.transaction(SNIPPETS_OBJECTSTORE_NAME) +- .objectStore(SNIPPETS_OBJECTSTORE_NAME).openCursor(); +- cursorRequest.onerror = function (event) { +- invokeCallbacks(); +- } +- +- cursorRequest.onsuccess = function(event) { +- let cursor = event.target.result; +- +- // Populate the cache from the persistent storage. +- if (cursor) { +- cache.set(cursor.key, cursor.value); +- cursor.continue(); +- return; +- } +- +- // The cache has been filled up, create the snippets map. +- gSnippetsMap = Object.freeze({ +- get: function (aKey) cache.get(aKey), +- set: function (aKey, aValue) { +- db.transaction(SNIPPETS_OBJECTSTORE_NAME, "readwrite") +- .objectStore(SNIPPETS_OBJECTSTORE_NAME).put(aValue, aKey); +- return cache.set(aKey, aValue); +- }, +- has: function (aKey) cache.has(aKey), +- delete: function (aKey) { +- db.transaction(SNIPPETS_OBJECTSTORE_NAME, "readwrite") +- .objectStore(SNIPPETS_OBJECTSTORE_NAME).delete(aKey); +- return cache.delete(aKey); +- }, +- clear: function () { +- db.transaction(SNIPPETS_OBJECTSTORE_NAME, "readwrite") +- .objectStore(SNIPPETS_OBJECTSTORE_NAME).clear(); +- return cache.clear(); +- }, +- get size() cache.size +- }); +- +- setTimeout(invokeCallbacks, 0); +- } +- } +-} +- + function onSearchSubmit(aEvent) + { + let searchTerms = document.getElementById("searchText").value; +@@ -339,159 +131,6 @@ function setupSearchEngine() + + } + +-/** +- * Inform the test harness that we're done loading the page. +- */ +-function loadSucceeded() +-{ +- var event = new CustomEvent("AboutHomeLoadSnippetsSucceeded", {bubbles:true}); +- document.dispatchEvent(event); +-} +- +-/** +- * Update the local snippets from the remote storage, then show them through +- * showSnippets. +- */ +-function loadSnippets() +-{ +-return; +- if (!gSnippetsMap) +- throw new Error("Snippets map has not properly been initialized"); +- +- // Allow tests to modify the snippets map before using it. +- var event = new CustomEvent("AboutHomeLoadSnippets", {bubbles:true}); +- document.dispatchEvent(event); +- +- // Check cached snippets version. +- let cachedVersion = gSnippetsMap.get("snippets-cached-version") || 0; +- let currentVersion = document.documentElement.getAttribute("snippetsVersion"); +- if (cachedVersion < currentVersion) { +- // The cached snippets are old and unsupported, restart from scratch. +- gSnippetsMap.clear(); +- } +- +- // Check last snippets update. +- let lastUpdate = gSnippetsMap.get("snippets-last-update"); +- let updateURL = document.documentElement.getAttribute("snippetsURL"); +- let shouldUpdate = !lastUpdate || +- Date.now() - lastUpdate > SNIPPETS_UPDATE_INTERVAL_MS; +- if (updateURL && shouldUpdate) { +- // Try to update from network. +- let xhr = new XMLHttpRequest(); +- try { +- xhr.open("GET", updateURL, true); +- } catch (ex) { +- showSnippets(); +- loadSucceeded(); +- return; +- } +- // Even if fetching should fail we don't want to spam the server, thus +- // set the last update time regardless its results. Will retry tomorrow. +- gSnippetsMap.set("snippets-last-update", Date.now()); +- xhr.onerror = function (event) { +- showSnippets(); +- }; +- xhr.onload = function (event) +- { +- if (xhr.status == 200) { +- gSnippetsMap.set("snippets", xhr.responseText); +- gSnippetsMap.set("snippets-cached-version", currentVersion); +- } +- showSnippets(); +- loadSucceeded(); +- }; +- xhr.send(null); +- } else { +- showSnippets(); +- loadSucceeded(); +- } +-} +- +-/** +- * Shows locally cached remote snippets, or default ones when not available. +- * +- * @note: snippets should never invoke showSnippets(), or they may cause +- * a "too much recursion" exception. +- */ +-let _snippetsShown = false; +-function showSnippets() +-{ +-return; +- let snippetsElt = document.getElementById("snippets"); +- +- // Show about:rights notification, if needed. +- let showRights = document.documentElement.getAttribute("showKnowYourRights"); +- if (showRights) { +- let rightsElt = document.getElementById("rightsSnippet"); +- let anchor = rightsElt.getElementsByTagName("a")[0]; +- anchor.href = "about:rights"; +- snippetsElt.appendChild(rightsElt); +- rightsElt.removeAttribute("hidden"); +- return; +- } +- +- if (!gSnippetsMap) +- throw new Error("Snippets map has not properly been initialized"); +- if (_snippetsShown) { +- // There's something wrong with the remote snippets, just in case fall back +- // to the default snippets. +- showDefaultSnippets(); +- throw new Error("showSnippets should never be invoked multiple times"); +- } +- _snippetsShown = true; +- +- let snippets = gSnippetsMap.get("snippets"); +- // If there are remotely fetched snippets, try to to show them. +- if (snippets) { +- // Injecting snippets can throw if they're invalid XML. +- try { +- snippetsElt.innerHTML = snippets; +- // Scripts injected by innerHTML are inactive, so we have to relocate them +- // through DOM manipulation to activate their contents. +- Array.forEach(snippetsElt.getElementsByTagName("script"), function(elt) { +- let relocatedScript = document.createElement("script"); +- relocatedScript.type = "text/javascript;version=1.8"; +- relocatedScript.text = elt.text; +- elt.parentNode.replaceChild(relocatedScript, elt); +- }); +- return; +- } catch (ex) { +- // Bad content, continue to show default snippets. +- } +- } +- +- showDefaultSnippets(); +-} +- +-/** +- * Clear snippets element contents and show default snippets. +- */ +-function showDefaultSnippets() +-{ +-return; +- // Clear eventual contents... +- let snippetsElt = document.getElementById("snippets"); +- snippetsElt.innerHTML = ""; +- +- // ...then show default snippets. +- let defaultSnippetsElt = document.getElementById("defaultSnippets"); +- let entries = defaultSnippetsElt.querySelectorAll("span"); +- // Choose a random snippet. Assume there is always at least one. +- let randIndex = Math.floor(Math.random() * entries.length); +- let entry = entries[randIndex]; +- // Inject url in the eventual link. +- if (DEFAULT_SNIPPETS_URLS[randIndex]) { +- let links = entry.getElementsByTagName("a"); +- // Default snippets can have only one link, otherwise something is messed +- // up in the translation. +- if (links.length == 1) { +- links[0].href = DEFAULT_SNIPPETS_URLS[randIndex]; +- } +- } +- // Move the default snippet to the snippets element. +- snippetsElt.appendChild(entry); +-} +- + function fitToWidth() { + if (window.scrollMaxX) { + document.body.setAttribute("narrow", "true"); +diff --git a/browser/base/content/abouthome/aboutHome.xhtml b/browser/base/content/abouthome/aboutHome.xhtml +index f2e76b8..4b87621 100644 +--- a/browser/base/content/abouthome/aboutHome.xhtml ++++ b/browser/base/content/abouthome/aboutHome.xhtml +@@ -114,7 +114,7 @@ min-height:100px; + <img src="chrome://branding/content/about-logo.png"/> + + <div id="searchContainer"> +- <form name="searchForm" id="searchForm" action="https://duckduckgo.com/html/"> ++ <form name="searchForm" id="searchForm" action="https://searx.laquadrature.net/"> + <input type="text" name="q" value="" id="searchText" maxlength="256" + autofocus="autofocus"/> + <input id="searchSubmit" type="submit" value="Search"/> +diff --git a/browser/base/jar.mn b/browser/base/jar.mn +index 334358c..44148fd 100644 +--- a/browser/base/jar.mn ++++ b/browser/base/jar.mn +@@ -31,6 +31,7 @@ browser.jar: + content/browser/abouthome/settings.png (content/abouthome/settings.png) + content/browser/abouthome/restore.png (content/abouthome/restore.png) + content/browser/abouthome/restore-large.png (content/abouthome/restore-large.png) ++ content/browser/abouthome/gnu_headshadow.png (content/abouthome/gnu_headshadow.png) + content/browser/abouthome/snippet1@2x.png (content/abouthome/snippet1@2x.png) + content/browser/abouthome/snippet2@2x.png (content/abouthome/snippet2@2x.png) + content/browser/abouthome/downloads@2x.png (content/abouthome/downloads@2x.png) +diff --git a/browser/locales/en-US/chrome/browser/aboutHome.dtd b/browser/locales/en-US/chrome/browser/aboutHome.dtd +index 053f07c..f306f0a 100644 +--- a/browser/locales/en-US/chrome/browser/aboutHome.dtd ++++ b/browser/locales/en-US/chrome/browser/aboutHome.dtd +@@ -11,17 +11,6 @@ + + <!ENTITY abouthome.pageTitle "&brandFullName; Start Page"> + +-<!-- LOCALIZATION NOTE (abouthome.defaultSnippet1.v1): +- text in <a/> will be linked to the IceCat features page on mozilla.com +---> +-<!ENTITY abouthome.defaultSnippet1.v1 "Thanks for choosing IceCat! To get the most out of your browser, learn more about the <a>latest features</a>."> +-<!-- LOCALIZATION NOTE (abouthome.defaultSnippet2.v1): +- text in <a/> will be linked to the featured add-ons on addons.mozilla.org +---> +-<!ENTITY abouthome.defaultSnippet2.v1 "It’s easy to customize your IceCat exactly the way you want it. <a>Choose from thousands of add-ons</a>."> +-<!-- LOCALIZATION NOTE (abouthome.rightsSnippet): text in <a/> will be linked to about:rights --> +-<!ENTITY abouthome.rightsSnippet "&brandFullName; is Free Software from the non-profit Mozilla Foundation. <a>Know your rights…</a>"> +- + <!ENTITY abouthome.bookmarksButton.label "Bookmarks"> + <!ENTITY abouthome.historyButton.label "History"> + <!-- LOCALIZATION NOTE (abouthome.preferencesButtonWin.label): The label for the +diff --git a/browser/locales/en-US/chrome/browser-region/region.properties b/browser/locales/en-US/chrome/browser-region/region.properties +index 0b28ba8..3333c1b 100644 +--- a/browser/locales/en-US/chrome/browser-region/region.properties ++++ b/browser/locales/en-US/chrome/browser-region/region.properties +@@ -3,17 +3,12 @@ + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + + # Default search engine +-browser.search.defaultenginename=Google ++browser.search.defaultenginename=searx + + # Search engine order (order displayed in the search bar dropdown)s +-browser.search.order.1=Google +-browser.search.order.2=Yahoo +-browser.search.order.3=Bing +- +-# This is the default set of web based feed handlers shown in the reader +-# selection UI +-browser.contentHandlers.types.0.title=My Yahoo! +-browser.contentHandlers.types.0.uri=https://add.my.yahoo.com/rss?url=%s ++browser.search.order.1=searx ++browser.search.order.2=DuckDuckGo HTML ++browser.search.order.3=DuckDuckGo Lite + + # increment this number when anything gets changed in the list below. This will + # cause IceCat to re-read these prefs and inject any new handlers into the +@@ -22,20 +17,10 @@ browser.contentHandlers.types.0.uri=https://add.my.yahoo.com/rss?url=%s + # don't make any spelling errors here. + gecko.handlerService.defaultHandlersVersion=4 + +-# The default set of protocol handlers for webcal: +-gecko.handlerService.schemes.webcal.0.name=30 Boxes +-gecko.handlerService.schemes.webcal.0.uriTemplate=https://30boxes.com/external/widget?refer=ff&url=%s +- +-# The default set of protocol handlers for mailto: +-gecko.handlerService.schemes.mailto.0.name=Yahoo! Mail +-gecko.handlerService.schemes.mailto.0.uriTemplate=https://compose.mail.yahoo.com/?To=%s +-gecko.handlerService.schemes.mailto.1.name=Gmail +-gecko.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s +- + # The default set of protocol handlers for irc: +-gecko.handlerService.schemes.irc.0.name=Mibbit +-gecko.handlerService.schemes.irc.0.uriTemplate= ++gecko.handlerService.schemes.irc.0.name=Freenode Web IRC ++gecko.handlerService.schemes.irc.0.uriTemplate=https://webchat.freenode.net + + # The default set of protocol handlers for ircs: +-gecko.handlerService.schemes.ircs.0.name=Mibbit +-gecko.handlerService.schemes.ircs.0.uriTemplate= ++gecko.handlerService.schemes.ircs.0.name=Freenode Web IRC ++gecko.handlerService.schemes.ircs.0.uriTemplate=https://webchat.freenode.net +diff --git a/browser/locales/generic/profile/bookmarks.html.in b/browser/locales/generic/profile/bookmarks.html.in +index e8460a4..374bf61 100644 +--- a/browser/locales/generic/profile/bookmarks.html.in ++++ b/browser/locales/generic/profile/bookmarks.html.in +@@ -12,8 +12,20 @@ + <DD>Add bookmarks to this folder to see them displayed on the Bookmarks Toolbar + <DL><p> + <HR> +- <DT><A HREF="http://www.gnu.org/" ADD_DATE="1245542746" LAST_MODIFIED="1245542763" ICON_URI="http://www.gnu.org/graphics/gnu-head-mini.png" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAGFBMVEVFRUV+fn6mpqa/v7/Ozs7Y2Njg4OD8/Pwuhn+TAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAAd0SU1FB9MBDhQ6Gd8s57cAAAEkSURBVHicXdFNc4JADAbgoP0Bi4d6dcGBMzp2z2rrnjulcsavnKuQ9+83K37vDAN5yIZsILws0uv3i7ugLTnAwpjBOsTLOE4VmmKQTFYBioGNKkI5drcCReRItmNAyinSCjianJo6A/aGRtRjtPadpB5CRkQRUaYPGbXW4UgKMfXQxDnJPIeJ0qyOrclrLXoqou8+5p7HM9EkT/JtyEsqB2QYnRv7sT2ArRPLf0kWOp1sA3hYPq3Oh/t0EAjjVIG703II9awr3l3BhxAf5foMLaaasPEZqm5A+0RzGCmuIKJbWi284csIJbzykBQ3aIADsL2CFtBWpovhA1Td7Q6NzqZ/B+38APG3HxU+sYO4B9Akt+AnqGbp/gmwTN6eAWt+gcv6B4rivVin0bWbAAAAAElFTkSuQmCC">GNU's not UNIX!</A> +- <DT><A FEEDURL="http://planet.gnu.org/atom.xml" HREF="http://planet.gnu.org/">GNU Planet</A> +- <DT><A HREF="http://www.fsf.org/" ADD_DATE="1245542771" LAST_MODIFIED="1245542780" ICON_URI="http://www.fsf.org/favicon.ico" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsTAAALEwEAmpwYAAADG0lEQVQoFQEQA+/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQECAAAAAAAAAAAAAAAAAAAA2qOp7tTXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAP///wAAAAAAAOCyt7pUXQcSEgcQDwAAAP///wAAAAAAAAD//x9NSDqNhQEBAQQAAAAAAAAAAAAAAAAQJiQGDQ0aPToZPjoAAQEAAAAAAAAAAAABAQEpZV4AAAAAAAAAAAAA////////////////pSIv05KZ////////////////////////////////AAAAAQAAAP///6krNwAAAAAAAPHc3ggSEQcSEQAAAAAAAAAAABY3NEGelQAAAAAAAAEBAQEAAAD///+YARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDg1g690CBgYAAAABAQEEAAAAAAAAS7etAAAAAAAAwGVtHklFIlJOAAAAAAAAAAAAAAAA+/X2BwYGAAAAAAAABAAAAAAAAB1IQwAAAAAAAAYNDBAmJB1IQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAgL//v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAQEB//7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAECAv/+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////cqK3qzM////////////////////////////////8AAAABAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGuLjDf9F8oBAAAAAElFTkSuQmCC">Free Software Foundation</A> ++ <DT><A HREF="https://www.parabola.nu/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC">Parabola GNU/Linux-libre</A> ++ </DL><p> ++ <DT><H3 ID="rdf:#$YvPhC3">Parabola GNU/Linux-libre</H3> ++ <DL><p> ++ <DT><A HREF="https://www.parabola.nu/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC">Parabola GNU/Linux-libre</A> ++ <DT><A HREF="https://www.parabola.nu/packages/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC">Parabola GNU/Linux-libre Packages</A> ++ <DT><A HREF="https://wiki.parabola.nu/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC">Parabola GNU/Linux-libre Wiki</A> ++ <DT><A HREF="https://labs.parabola.nu/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC">Parabola GNU/Linux-libre Labs</A> ++ </DL><p> ++ <DT><H3 ID="rdf:#$ZvPhC3">Free Software Foundation</H3> ++ <DL><p> ++ <DT><A HREF="https://www.fsf.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsTAAALEwEAmpwYAAADG0lEQVQoFQEQA+/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQECAAAAAAAAAAAAAAAAAAAA2qOp7tTXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAP///wAAAAAAAOCyt7pUXQcSEgcQDwAAAP///wAAAAAAAAD//x9NSDqNhQEBAQQAAAAAAAAAAAAAAAAQJiQGDQ0aPToZPjoAAQEAAAAAAAAAAAABAQEpZV4AAAAAAAAAAAAA////////////////pSIv05KZ////////////////////////////////AAAAAQAAAP///6krNwAAAAAAAPHc3ggSEQcSEQAAAAAAAAAAABY3NEGelQAAAAAAAAEBAQEAAAD///+YARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDg1g690CBgYAAAABAQEEAAAAAAAAS7etAAAAAAAAwGVtHklFIlJOAAAAAAAAAAAAAAAA+/X2BwYGAAAAAAAABAAAAAAAAB1IQwAAAAAAAAYNDBAmJB1IQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAgL//v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAQEB//7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAECAv/+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////cqK3qzM////////////////////////////////8AAAABAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGuLjDf9F8oBAAAAAElFTkSuQmCC">Free Software Foundation</A> ++ <DT><A HREF="https://www.gnu.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAGFBMVEVFRUV+fn6mpqa/v7/Ozs7Y2Njg4OD8/Pwuhn+TAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAAd0SU1FB9MBDhQ6Gd8s57cAAAEVSURBVBgZBcGxVtpgGADQL9gHSBzqSognzMixmcWWzB6pmRHhnyvku6/fewMAIPD3TwHmQxHs6vr+A16bphNum/vV0x429201hcPjAGBTDZGnR/Kw1U181+u4HXvOdSxjUcztz8jjg1xGVBG9XPYxt4PviKiaWLg168iXtbrq+mPT1utjNcR1U73deRnL43M2sRgj3+oYs8uL3rLphPd2QWmHbMu/VS/cnk6UdtSW657g9yBlcZ0UAkUWzPvyRaAYmfd+HT4IZtvC59ibEJxXiqJjQpBpNEufBYE0McoOAunGhRMEFIPc7h4goJigQEBxk8u7AgEpL3IEAUZfcgAByGFXQACm5+4MAuB19QMEgI8CAgDgP4rivVgoKP6ZAAAAAElFTkSuQmCC">The GNU Operating System and the Free Software Movement</A> ++ <DT><A HREF="https://libreplanet.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACfElEQVQ4jZXTS0hUcRTH8f+9M3fGd0gRRq1a2bZdBAotWtS6TQtB6IHgKzRy0UKqjRaRCAq+R21MDMsUR83JR5fJxhmaK2lzsWAWw+ToEHJxgnFm7reFIgza66z/58P/dzhHcESZpsluIsFPwyCVSmGa5lHPEEIIkdGYTqPPvqUlP4fK8nJ2DINYNEq71YJ3fv4QlAGkUynaj+VRdfUK7580M52rEN/ZYWNjg2GrjEMSPFXsmOn0YcA0TZ4V5tNZUkJTTTWfJiZIJhJ8U1VczwcZs0o4JUHzufM0ZGcf/OQASCaTxGIxDMNA00P8iEbpuXyJ8Tw77+wWJhWZQYuVbiHoFIKwpmUC4XCYzc1NDMMgHo9z8+IFvl6/xsf7D9ArbjOpyAxLEt1C0CUErfvJDwBd14lEImxvb/N9fR1fgY3egmyWsq0sO/poUyw4pb3mLiFolyRM09wDEokEfr+fUChEJBJh4HgBS7kKn92zLIy9ZriqklFZwiEEHfsRRp1O0un0HpDa3cU9M8PKygp3Tp5AzbKgZlmYt1uYtkn02q0MyYKmnBxWNI27Nhtut5tkMrkHmKZJbWkpqqryQpFxKTJTisyEVeaVRWJIlqgpLuZRWRkejwe/34/P58ucwZvWVhYXF5l2uejIzeHGqbM4ZYmB/dy1hUV8mJpibm4On8/H1tbW4T1YXV3F6/WysLDA5Pg4nfsDe5yfz8OiIjweD5qmEQwGf7/KwWCQtbU1NE2jRZbpEoI2SWKqr49lVUXX9T/fAkAgEKC/e5SW6mo6hKD+zGn6e0bw+/x/PyaA9S/rvOwfobGukfpbddyraMDR7iCwHPg34H9KCCF+Abts3KCj/p6aAAAAAElFTkSuQmCC">LibrePlanet</A> ++ <DT><A HREF="https://www.h-node.org/" ICON="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABgElEQVQ4jaXRz2uSARzHcb0vlRGEzTVWISU1BVkFYTIyjNK1pKcxHA+yhWMWIamHYikFgpoLIi9jwegi3QbL9SzdLmMbM9J+DkJBgm5RDvEPeHeQHOyQz0OH9+V7ePGBr0pqpPmfVPsP8a0AR4MnMEwf48x9K0s/E8oAY9iEMOvD+8yP2qVjrhhRBnSN61n5sIpULqC+pGHh8wNlgEY8jPQXcGh4VXukDND5evYAl46odIuXtYdKAANSudAChO52/XeMZMohecCbcoGdH99Y+7LO72adT9+/4nh8nYOjBl7/SsoB8gBkpHk8T0S2K++pN3fRin3cfnFDHvCuWkI9rEMvHGEo5gbAHnXhnLF1BpZLeRaLOVT2A8Q3A5wMngXgWtKLxX9KPqC+rCWQvYkpeK4NWKcGOgO50ts2MJJ0cPreeQDciTHMchZYIhcwh2wcuqjn+ccwGm9v6wsTxxn0dVgQXZ7Ek3Agpq6QrcaQGmmebtxFSDkRU1fJVmL/BpT2ByV/3eDMhinRAAAAAElFTkSuQmCC">h-node</A> + </DL><p> + </DL><p> +diff --git a/browser/modules/AboutHome.jsm b/browser/modules/AboutHome.jsm +index bcb7d1c..f902aac 100644 +--- a/browser/modules/AboutHome.jsm ++++ b/browser/modules/AboutHome.jsm +@@ -8,7 +8,7 @@ var Cc = Components.classes; + var Ci = Components.interfaces; + var Cu = Components.utils; + +-this.EXPORTED_SYMBOLS = [ "AboutHomeUtils", "AboutHome" ]; ++this.EXPORTED_SYMBOLS = [ "AboutHome" ]; + + Components.utils.import("resource://gre/modules/XPCOMUtils.jsm"); + Components.utils.import("resource://gre/modules/Services.jsm"); +@@ -24,68 +24,6 @@ XPCOMUtils.defineLazyModuleGetter(this, "fxAccounts", + XPCOMUtils.defineLazyModuleGetter(this, "Promise", + "resource://gre/modules/Promise.jsm"); + +-// Url to fetch snippets, in the urlFormatter service format. +-const SNIPPETS_URL_PREF = "browser.aboutHomeSnippets.updateUrl"; +- +-// Should be bumped up if the snippets content format changes. +-const STARTPAGE_VERSION = 4; +- +-this.AboutHomeUtils = { +- get snippetsVersion() { +- return STARTPAGE_VERSION; +- }, +- +- /* +- * showKnowYourRights - Determines if the user should be shown the +- * about:rights notification. The notification should *not* be shown if +- * we've already shown the current version, or if the override pref says to +- * never show it. The notification *should* be shown if it's never been seen +- * before, if a newer version is available, or if the override pref says to +- * always show it. +- */ +- get showKnowYourRights() { +- // Look for an unconditional override pref. If set, do what it says. +- // (true --> never show, false --> always show) +- try { +- return !Services.prefs.getBoolPref("browser.rights.override"); +- } catch (e) { } +- // Ditto, for the legacy EULA pref. +- try { +- return !Services.prefs.getBoolPref("browser.EULA.override"); +- } catch (e) { } +- +- if (!AppConstants.MOZILLA_OFFICIAL) { +- // Non-official builds shouldn't show the notification. +- return false; +- } +- +- // Look to see if the user has seen the current version or not. +- var currentVersion = Services.prefs.getIntPref("browser.rights.version"); +- try { +- return !Services.prefs.getBoolPref("browser.rights." + currentVersion + ".shown"); +- } catch (e) { } +- +- // Legacy: If the user accepted a EULA, we won't annoy them with the +- // equivalent about:rights page until the version changes. +- try { +- return !Services.prefs.getBoolPref("browser.EULA." + currentVersion + ".accepted"); +- } catch (e) { } +- +- // We haven't shown the notification before, so do so now. +- return true; +- } +-}; +- +-/** +- * Returns the URL to fetch snippets from, in the urlFormatter service format. +- */ +-XPCOMUtils.defineLazyGetter(AboutHomeUtils, "snippetsURL", function() { +- let updateURL = Services.prefs +- .getCharPref(SNIPPETS_URL_PREF) +- .replace("%STARTPAGE_VERSION%", STARTPAGE_VERSION); +- return Services.urlFormatter.formatURL(updateURL); +-}); +- + /** + * This code provides services to the about:home page. Whenever + * about:home needs to do something chrome-privileged, it sends a +@@ -169,17 +107,8 @@ var AboutHome = { + ss.promiseInitialized.then(function() { + let data = { + showRestoreLastSession: ss.canRestoreLastSession, +- snippetsURL: AboutHomeUtils.snippetsURL, +- showKnowYourRights: AboutHomeUtils.showKnowYourRights, +- snippetsVersion: AboutHomeUtils.snippetsVersion, + }; + +- if (AboutHomeUtils.showKnowYourRights) { +- // Set pref to indicate we've shown the notification. +- let currentVersion = Services.prefs.getIntPref("browser.rights.version"); +- Services.prefs.setBoolPref("browser.rights." + currentVersion + ".shown", true); +- } +- + if (target && target.messageManager) { + target.messageManager.sendAsyncMessage("AboutHome:Update", data); + } else { +diff --git a/browser/locales/jar.mn b/browser/locales/jar.mn +index eff09189b..6d76d20f0 100644 +--- a/browser/locales/jar.mn ++++ b/browser/locales/jar.mn +@@ -98,7 +98,6 @@ + locale/browser/searchplugins/ (.deps/generated_@AB_CD@/*.xml) + locale/browser/searchplugins/list.json (.deps/generated_@AB_CD@/list.json) + #endif +- locale/browser/searchplugins/images/yandex-en.ico (searchplugins/images/yandex-en.ico) + % locale browser-region @AB_CD@ %locale/browser-region/ + locale/browser-region/region.properties (%chrome/browser-region/region.properties) + # the following files are browser-specific overrides +--- a/browser/locales/search/list.json ++++ b/browser/locales/search/list.json +@@ -1,840 +1,830 @@ + { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "amazondotcom", "bing", "ddg", "twitter", "wikipedia" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "locales": { + "en-US": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "amazondotcom", "bing", "ddg", "twitter", "wikipedia" +- ] +- }, +- "experimental-hidden": { +- "visibleDefaultEngines": [ +- "yahoo-en-CA", "yandex-en", "google-2018" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ach": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "twitter", "wikipedia" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "af": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "wikipedia-af" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "an": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-es", "bing", "wikipedia-an", "ddg", "twitter" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ar": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "wikipedia-ar" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "as": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-in", "amazondotcom", "ddg", "wikipedia-as" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ast": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-es", "bing", "diccionariu-alla", "ddg", "wikipedia-ast" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "az": { + "default": { + "visibleDefaultEngines": [ +- "google", "amazondotcom", "azerdict", "bing", "ddg", "wikipedia-az", "yandex-az" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "bg": { + "default": { + "visibleDefaultEngines": [ +- "google", "diribg", "amazondotcom", "ddg", "portalbgdict", "wikipedia-bg" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "bn-BD": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "ddg", "wikipedia-bn" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "bn-IN": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-in", "amazondotcom", "bing", "ddg", "rediff", "wikipedia-bn" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "br": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-france", "amazon-france", "ddg", "freelang", "klask", "wikipedia-br" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "bs": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "ddg", "olx", "twitter", "wikipedia-bs" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ca": { + "default": { + "visibleDefaultEngines": [ +- "google", "bing", "diec2", "ddg", "twitter", "wikipedia-ca" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "cak": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-espanol", "bing", "amazondotcom", "ddg", "wikipedia-es" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "cs": { + "default": { + "visibleDefaultEngines": [ +- "google", "seznam-cz", "ddg", "heureka-cz", "mapy-cz", "wikipedia-cz" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "cy": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-en-GB", "amazon-en-GB", "ddg", "palasprint", "termau", "wikipedia-cy" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "da": { + "default": { + "visibleDefaultEngines": [ +- "google", "bing", "amazon-en-GB", "ddg", "wikipedia-da" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "de": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-de", "amazondotcom-de", "bing", "ddg", "leo_ende_de", "wikipedia-de" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "dsb": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-de", "bing", "amazondotcom-de", "ddg", "leo_ende_de", "wikipedia-dsb" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "el": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "amazon-en-GB", "bing", "ddg", "wikipedia-el" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "en-GB": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-en-GB", "bing", "amazon-en-GB", "chambers-en-GB", "ddg", "twitter", "wikipedia" +- ] +- }, +- "experimental-hidden": { +- "visibleDefaultEngines": [ +- "yandex-en" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "en-ZA": { + "default": { + "visibleDefaultEngines": [ +- "google", "bing", "amazondotcom", "ddg", "twitter", "wikipedia" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "eo": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "reta-vortaro", "wikipedia-eo" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "es-AR": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-ar", "amazondotcom", "drae", "ddg", "mercadolibre-ar", "wikipedia-es" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "es-CL": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-cl", "bing", "drae", "ddg", "mercadolibre-cl", "wikipedia-es" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "es-ES": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-es", "bing", "drae", "ddg", "twitter", "wikipedia-es" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "es-MX": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-mx", "bing", "ddg", "mercadolibre-mx", "wikipedia-es" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "et": { + "default": { + "visibleDefaultEngines": [ +- "google", "neti-ee", "ddg", "osta-ee", "wikipedia-et", "eki-ee" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "eu": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazon-en-GB", "ddg", "elebila", "wikipedia-eu" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "fa": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "amazondotcom", "bing", "ddg", "wikipedia-fa" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ff": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-france", "bing", "amazon-france", "ddg", "cnrtl-tlfi-fr", "wikipedia-fr" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "fi": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-fi", "bing", "bookplus-fi", "ddg", "wikipedia-fi" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "fr": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-france", "bing", "amazon-france", "ddg", "cnrtl-tlfi-fr", "wikipedia-fr" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "fy-NL": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-fy-NL", "bing", "bolcom-fy-NL", "ddg", "marktplaats-fy-NL", "wikipedia-fy-NL" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ga-IE": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-en-GB", "amazon-en-GB", "ddg", "tearma", "twitter", "wikipedia-ga-IE" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "gd": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-en-GB", "faclair-beag", "amazon-en-GB", "bbc-alba", "ddg", "wikipedia-gd" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "gl": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-es", "amazon-en-GB", "ddg", "wikipedia-gl" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "gn": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-es", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-gn" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "gu-IN": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-in", "bing", "ddg", "gujaratilexicon", "wikipedia-gu" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "he": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "ddg", "wikipedia-he", "morfix-dic" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "hi-IN": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-in", "bing", "ddg", "wikipedia-hi" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "hr": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "amazon-en-GB", "bing", "ddg", "eudict", "twitter", "wikipedia-hr" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "hsb": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-de", "bing", "amazondotcom-de", "ddg", "leo_ende_de", "wikipedia-hsb" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "hu": { + "default": { + "visibleDefaultEngines": [ +- "google", "ddg", "sztaki-en-hu", "vatera", "wikipedia-hu" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "hy-AM": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "amazondotcom", "ddg", "list-am", "wikipedia-hy" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "id": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-id", "ddg", "wikipedia-id" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "is": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "leit-is", "wikipedia-is" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "it": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-it", "bing", "amazon-it", "ddg", "hoepli", "wikipedia-it" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ja-JP-mac": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-jp", "bing", "amazon-jp", "rakuten", "yahoo-jp-auctions", "oshiete-goo", "twitter-ja", "wikipedia-ja", "ddg" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ja": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-jp", "bing", "amazon-jp", "rakuten", "yahoo-jp-auctions", "oshiete-goo", "twitter-ja", "wikipedia-ja", "ddg" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ka": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-ka" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "kab": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-france", "bing", "ddg", "wikipedia-kab" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "kk": { + "default": { + "visibleDefaultEngines": [ +- "yandex-kk", "google", "ddg", "flip", "kaz-kk", "twitter", "wikipedia-kk" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "KZ": { + "visibleDefaultEngines": [ +- "yandex-kk", "google-nocodes", "ddg", "flip", "kaz-kk", "twitter", "wikipedia-kk" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "BY": { + "visibleDefaultEngines": [ +- "yandex-kk", "google-nocodes", "ddg", "flip", "kaz-kk", "twitter", "wikipedia-kk" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "RU": { + "visibleDefaultEngines": [ +- "yandex-kk", "google-nocodes", "ddg", "flip", "kaz-kk", "twitter", "wikipedia-kk" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "TR": { + "visibleDefaultEngines": [ +- "yandex-kk", "google-nocodes", "ddg", "flip", "kaz-kk", "twitter", "wikipedia-kk" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "UA": { + "visibleDefaultEngines": [ +- "yandex-kk", "google-nocodes", "ddg", "flip", "kaz-kk", "twitter", "wikipedia-kk" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "km": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-km" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "kn": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-in", "bing", "amazondotcom", "ddg", "kannadastore", "wikipedia-kn" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ko": { + "default": { + "visibleDefaultEngines": [ +- "google", "ddg", "naver-kr", "danawa-kr", "daum-kr", "wikipedia-kr" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "lij": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-it", "bing", "amazon-it", "ddg", "paroledigenova-lij", "wikipedia-lij" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "lt": { + "default": { + "visibleDefaultEngines": [ +- "google", "wikipedia-lt", "bing", "amazondotcom", "ddg", "twitter" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ltg": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "dict-enlv", "ddg", "salidzinilv", "sslv", "wikipedia-lv" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "lv": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "dict-enlv", "ddg", "salidzinilv", "sslv", "wikipedia-lv" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "mai": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-in", "bing", "ddg", "twitter", "wikipedia-hi" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "mk": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "wikipedia-mk" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ml": { + "default": { + "visibleDefaultEngines": [ +- "google", "webdunia", "bing", "ddg", "rediff", "wikipedia", "wikipedia-ml" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "mr": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-in", "amazondotcom", "ddg", "rediff", "wikipedia-mr" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ms": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-ms" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "my": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-my" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "nb-NO": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-NO", "amazon-en-GB", "bing", "ddg", "gulesider-NO", "bok-NO", "qxl-NO", "wikipedia-NO" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ne-NP": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "ddg", "twitter", "wikipedia-ne" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "nl": { + "default": { + "visibleDefaultEngines": [ +- "google", "bing", "bolcom-nl", "ddg", "marktplaats-nl", "wikipedia-nl" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "nn-NO": { + "default": { + "visibleDefaultEngines": [ +- "google", "bing", "amazon-en-GB", "ddg", "gulesider-NO", "bok-NO", "qxl-NO", "wikipedia-NN" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "or": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-in", "bing", "amazondotcom", "ddg", "wikipedia-or" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "pa-IN": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-in", "bing", "ddg", "wikipedia-pa" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "pl": { + "default": { + "visibleDefaultEngines": [ +- "google", "allegro-pl", "ddg", "pwn-pl", "wikipedia-pl", "wolnelektury-pl" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "pt-BR": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-br", "bing", "buscape", "ddg", "mercadolivre", "twitter", "wikipedia-pt" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "pt-PT": { + "default": { + "visibleDefaultEngines": [ +- "google", "amazon-en-GB", "ddg", "priberam", "sapo", "wikipedia-pt" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "rm": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-ch", "bing", "ddg", "leo_ende_de-rm", "pledarigrond", "wikipedia-rm" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ro": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "wikipediaro" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ru": { + "default": { + "visibleDefaultEngines": [ +- "yandex-ru", "google", "ddg", "ozonru", "priceru", "wikipedia-ru", "mailru" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "RU": { + "visibleDefaultEngines": [ +- "yandex-ru", "google-nocodes", "ddg", "ozonru", "priceru", "wikipedia-ru", "mailru" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "BY": { + "visibleDefaultEngines": [ +- "yandex-ru", "google-nocodes", "ddg", "ozonru", "priceru", "wikipedia-ru", "mailru" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "KZ": { + "visibleDefaultEngines": [ +- "yandex-ru", "google-nocodes", "ddg", "ozonru", "priceru", "wikipedia-ru", "mailru" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "TR": { + "visibleDefaultEngines": [ +- "yandex-ru", "google-nocodes", "ddg", "ozonru", "priceru", "wikipedia-ru", "mailru" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "UA": { + "visibleDefaultEngines": [ +- "yandex-ru", "google-nocodes", "ddg", "ozonru", "priceru", "wikipedia-ru", "mailru" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "si": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "amazondotcom", "ddg", "wikipedia-si" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "sk": { + "default": { + "visibleDefaultEngines": [ +- "google", "azet-sk", "atlas-sk", "ddg", "dunaj-sk", "slovnik-sk", "wikipedia-sk", "zoznam-sk" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "sl": { + "default": { + "visibleDefaultEngines": [ +- "google", "ceneji", "ddg", "najdi-si", "odpiralni", "twitter", "wikipedia-sl" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "son": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-france", "bing", "amazon-france", "ddg", "cnrtl-tlfi-fr", "wikipedia-fr" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "sq": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazon-en-GB", "ddg", "wikipedia-sq" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "sr": { + "default": { + "visibleDefaultEngines": [ +- "google", "amazon-en-GB", "bing", "ddg", "wikipedia-sr", "pogodak" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "sv-SE": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-sv-SE", "bing", "allaannonser-sv-SE", "ddg", "prisjakt-sv-SE", "tyda-sv-SE", "wikipedia-sv-SE" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ta": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-in", "ddg", "wikipedia-ta" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "te": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-in", "amazondotcom", "ddg", "wikipedia-te", "wiktionary-te" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "th": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "amazondotcom", "bing", "ddg", "longdo", "wikipedia-th" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "tl": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-tl", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-tl" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "tr": { + "default": { + "visibleDefaultEngines": [ +- "yandex-tr", "google", "ddg", "twitter", "wikipedia-tr" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "TR": { + "visibleDefaultEngines": [ +- "yandex-tr", "google-nocodes", "ddg", "twitter", "wikipedia-tr" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "BY": { + "visibleDefaultEngines": [ +- "yandex-tr", "google-nocodes", "ddg", "twitter", "wikipedia-tr" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "KZ": { + "visibleDefaultEngines": [ +- "yandex-tr", "google-nocodes", "ddg", "twitter", "wikipedia-tr" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "RU": { + "visibleDefaultEngines": [ +- "yandex-tr", "google-nocodes", "ddg", "twitter", "wikipedia-tr" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "UA": { + "visibleDefaultEngines": [ +- "yandex-tr", "google-nocodes", "ddg", "twitter", "wikipedia-tr" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "uk": { + "default": { + "visibleDefaultEngines": [ +- "google", "yandex-uk", "meta-ua", "ddg", "wikipedia-uk", "metamarket" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "UA": { + "visibleDefaultEngines": [ +- "google-nocodes", "yandex-uk", "meta-ua", "ddg", "wikipedia-uk", "metamarket" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "TR": { + "visibleDefaultEngines": [ +- "google-nocodes", "yandex-uk", "meta-ua", "ddg", "wikipedia-uk", "metamarket" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "BY": { + "visibleDefaultEngines": [ +- "google-nocodes", "yandex-uk", "meta-ua", "ddg", "wikipedia-uk", "metamarket" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "KZ": { + "visibleDefaultEngines": [ +- "google-nocodes", "yandex-uk", "meta-ua", "ddg", "wikipedia-uk", "metamarket" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "RU": { + "visibleDefaultEngines": [ +- "google-nocodes", "yandex-uk", "meta-ua", "ddg", "wikipedia-uk", "metamarket" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ur": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-in", "bing", "amazon-in", "ddg", "twitter", "wikipedia-ur" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "uz": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-uz" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "vi": { + "default": { + "visibleDefaultEngines": [ +- "google", "ddg", "wikipedia-vi", "zing-mp3" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "wo": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "wikipedia-wo" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "xh": { + "default": { + "visibleDefaultEngines": [ +- "google", "bing", "ddg", "wikipedia" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "zh-CN": { + "default": { + "visibleDefaultEngines": [ +- "baidu", "google", "bing", "ddg", "wikipedia-zh-CN", "amazondotcn" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "CN": { + "visibleDefaultEngines": [ +- "baidu", "google-nocodes", "bing", "ddg", "wikipedia-zh-CN", "amazondotcn" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "KZ": { + "visibleDefaultEngines": [ +- "baidu", "google-nocodes", "bing", "ddg", "wikipedia-zh-CN", "amazondotcn" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "BY": { + "visibleDefaultEngines": [ +- "baidu", "google-nocodes", "bing", "ddg", "wikipedia-zh-CN", "amazondotcn" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "RU": { + "visibleDefaultEngines": [ +- "baidu", "google-nocodes", "bing", "ddg", "wikipedia-zh-CN", "amazondotcn" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "TR": { + "visibleDefaultEngines": [ +- "baidu", "google-nocodes", "bing", "ddg", "wikipedia-zh-CN", "amazondotcn" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "UA": { + "visibleDefaultEngines": [ +- "baidu", "google-nocodes", "bing", "ddg", "wikipedia-zh-CN", "amazondotcn" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "zh-TW": { + "default": { + "visibleDefaultEngines": [ +- "yahoo-zh-TW", "google", "ddg", "findbook-zh-TW", "wikipedia-zh-TW", "yahoo-zh-TW-HK", "yahoo-bid-zh-TW", "yahoo-answer-zh-TW" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + } |