Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • trisquel/package-helpers
  • aklis/package-helpers
  • leny2010/package-helpers
  • fr33domlover/package-helpers
  • Legimet/package-helpers
  • ralphtheninja/package-helpers
  • damo22/package-helpers
  • wherrfrye/package-helpers
  • habs/package-helpers
  • pehjota/package-helpers
  • kpengboy/package-helpers
  • alvaro/package-helpers
  • salman/package-helpers
  • pabloyoyoista/package-helpers
  • mixalis/package-helpers
  • jorgesumle/package-helpers
  • a_slacker_here/package-helpers
  • chaosmonk/package-helpers
  • Beformed/package-helpers
  • dknight/package-helpers
  • proninyaroslav/package-helpers
  • adfeno/package-helpers
  • snd/package-helpers
  • davidpgil/package-helpers
  • diopon/package-helpers
  • ruben/package-helpers
  • bandali/package-helpers
  • joshaspinall/package-helpers
  • GNUtoo/package-helpers
  • Ark74/package-helpers
  • dragestil/package-helpers
  • bill-auger/package-helpers
  • andi89gi/package-helpers
  • Fikar/package-helpers
  • davidl/package-helpers
  • jas/package-helpers
  • parodper/package-helpers
  • David_Hedlund/package-helpers
  • dinomug/package-helpers
  • bf/package-helpers
  • hartkemd/package-helpers
  • del111/package-helpers
  • jxself/package-helpers
  • JacobK/package-helpers
44 results
Show changes
Showing
with 1079 additions and 141 deletions
diff --git a/uriloader/exthandler/HandlerList.sys.mjs b/uriloader/exthandler/HandlerList.sys.mjs
index e95d627..beef04d 100644
--- a/uriloader/exthandler/HandlerList.sys.mjs
+++ b/uriloader/exthandler/HandlerList.sys.mjs
@@ -8,198 +8,7 @@ export const kHandlerList = {
default: {
schemes: {
mailto: {
- handlers: [
- {
- name: "Gmail",
- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
- },
- ],
- },
- },
- },
- cs: {
- schemes: {
- mailto: {
- handlers: [
- {
- name: "Seznam",
- uriTemplate: "https://email.seznam.cz/newMessageScreen?mailto=%s",
- },
- {
- name: "Gmail",
- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
- },
- ],
- },
- },
- },
- "es-CL": {
- schemes: {
- mailto: {
- handlers: [
- {
- name: "Gmail",
- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
- },
- {
- name: "Outlook",
- uriTemplate:
- "https://outlook.live.com/default.aspx?rru=compose&to=%s",
- },
- ],
- },
- },
- },
- "ja-JP-mac": {
- schemes: {
- mailto: {
- handlers: [
- {
- name: "Yahoo!メール",
- uriTemplate: "https://mail.yahoo.co.jp/compose/?To=%s",
- },
- {
- name: "Gmail",
- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
- },
- ],
- },
- },
- },
- ja: {
- schemes: {
- mailto: {
- handlers: [
- {
- name: "Yahoo!メール",
- uriTemplate: "https://mail.yahoo.co.jp/compose/?To=%s",
- },
- {
- name: "Gmail",
- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
- },
- ],
- },
- },
- },
- kk: {
- schemes: {
- mailto: {
- handlers: [
- {
- name: "Яндекс.Почта",
- uriTemplate: "https://mail.yandex.ru/compose?mailto=%s",
- },
- {
- name: "Mail.Ru",
- uriTemplate: "https://e.mail.ru/cgi-bin/sentmsg?mailto=%s",
- },
- {
- name: "Gmail",
- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
- },
- ],
- },
- },
- },
- ltg: {
- schemes: {
- mailto: {
- handlers: [
- {
- name: "Gmail",
- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
- },
- {
- name: "inbox.lv mail",
- uriTemplate: "https://mail.inbox.lv/compose?to=%s",
- },
- ],
- },
- },
- },
- lv: {
- schemes: {
- mailto: {
- handlers: [
- {
- name: "Gmail",
- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
- },
- {
- name: "inbox.lv mail",
- uriTemplate: "https://mail.inbox.lv/compose?to=%s",
- },
- ],
- },
- },
- },
- pl: {
- schemes: {
- mailto: {
- handlers: [
- {
- name: "Poczta Interia.pl",
- uriTemplate: "https://poczta.interia.pl/mh/?mailto=%s",
- },
- {
- name: "Gmail",
- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
- },
- ],
- },
- },
- },
- ru: {
- schemes: {
- mailto: {
- handlers: [
- {
- name: "Яндекс.Почту",
- uriTemplate: "https://mail.yandex.ru/compose?mailto=%s",
- },
- {
- name: "Mail.Ru",
- uriTemplate: "https://e.mail.ru/cgi-bin/sentmsg?mailto=%s",
- },
- {
- name: "Gmail",
- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
- },
- ],
- },
- },
- },
- uk: {
- schemes: {
- mailto: {
- handlers: [
- {
- name: "Gmail",
- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
- },
- {
- name: "Outlook",
- uriTemplate:
- "https://outlook.live.com/default.aspx?rru=compose&to=%s",
- },
- ],
- },
- },
- },
- uz: {
- schemes: {
- mailto: {
- handlers: [
- {
- name: "Gmail",
- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s",
- },
- {
- name: "Mail.Ru",
- uriTemplate: "https://e.mail.ru/cgi-bin/sentmsg?mailto=%s",
- },
- ],
+ handlers: [],
},
},
},
diff --git a/services/settings/RemoteSettingsClient.sys.mjs b/services/settings/RemoteSettingsClient.sys.mjs
index 7e98e6d..7716e41 100644
--- a/services/settings/RemoteSettingsClient.sys.mjs
+++ b/services/settings/RemoteSettingsClient.sys.mjs
@@ -227,6 +227,8 @@ class AttachmentDownloader extends Downloader {
* @see Downloader.download
*/
async download(record, options) {
+ console.warn("Function 'download' disabled in Abrowser due privacy concerns.");
+ return null;
try {
// Explicitly await here to ensure we catch a network error.
return await super.download(record, options);
diff --git a/services/settings/Utils.sys.mjs b/services/settings/Utils.sys.mjs
index 12fef6c..c52b65e 100644
--- a/services/settings/Utils.sys.mjs
+++ b/services/settings/Utils.sys.mjs
@@ -409,6 +409,8 @@ export var Utils = {
* @param {Object} filters
*/
async fetchLatestChanges(serverUrl, options = {}) {
+ console.warn("Function 'fetchLatestChanges' disabled in Abrowser due privacy concerns.");
+ return null;
const { expectedTimestamp, lastEtag = "", filters = {} } = options;
let url = serverUrl + Utils.CHANGES_PATH;
diff --git a/toolkit/components/telemetry/app/TelemetryUtils.sys.mjs b/toolkit/components/telemetry/app/TelemetryUtils.sys.mjs
index 803d52a1..1a3ef5ba 100644
--- a/toolkit/components/telemetry/app/TelemetryUtils.sys.mjs
+++ b/toolkit/components/telemetry/app/TelemetryUtils.sys.mjs
@@ -124,6 +124,11 @@ export var TelemetryUtils = {
* Takes a date and returns it truncated to a date with daily precision.
*/
truncateToDays(date) {
+ console.warn("Function 'truncateToDays' called with:", date);
+ if (!date || !(date instanceof Date)) {
+ console.warn("Function 'truncateToDays' disabled in Abrowser due to privacy concerns. Received invalid or undefined date.");
+ return null; // Retorna null para evitar errores posteriores
+ }
return new Date(
date.getFullYear(),
date.getMonth(),
@@ -172,6 +172,10 @@ export var TelemetryUtils = {
* @return {Object} The Date object representing the next midnight.
*/
getNextMidnight(date) {
+ if (!date || !(date instanceof Date)) {
+ console.warn("Function 'getNextMidnight' disabled in Abrowser due to privacy concerns.");
+ return null;
+ }
let nextMidnight = new Date(this.truncateToDays(date));
nextMidnight.setDate(nextMidnight.getDate() + 1);
return nextMidnight;
@@ -185,6 +189,10 @@ export var TelemetryUtils = {
* is not within the midnight tolerance.
*/
getNearestMidnight(date, tolerance) {
+ if (!date || !(date instanceof Date)) {
+ console.warn("Function 'getNearestMidnight' disabled in Abrowser due to privacy concerns.");
+ return null;
+ }
let lastMidnight = this.truncateToDays(date);
if (this.areTimesClose(date.getTime(), lastMidnight.getTime(), tolerance)) {
return lastMidnight;
diff --git a/toolkit/components/telemetry/app/TelemetryScheduler.sys.mjs b/toolkit/components/telemetry/app/TelemetryScheduler.sys.mjs
index 539447a..43d846b 100644
--- a/toolkit/components/telemetry/app/TelemetryScheduler.sys.mjs
+++ b/toolkit/components/telemetry/app/TelemetryScheduler.sys.mjs
@@ -183,8 +183,20 @@ export var TelemetryScheduler = {
},
_sentPingToday(pingTime, nowDate) {
+ // Validar 'nowDate' antes de usarlo
+ if (!nowDate || !(nowDate instanceof Date)) {
+ console.warn("Invalid 'nowDate' passed to _sentPingToday. Function disabled in Abrowser due to privacy concerns.");
+ return false; // Devolvemos 'false' para evitar errores
+ }
+
// This is today's date and also the previous midnight (0:00).
const todayDate = TelemetryUtils.truncateToDays(nowDate);
+
+ if (!todayDate) {
+ console.warn("TelemetryUtils.truncateToDays returned null. Skipping _sentPingToday.");
+ return false;
+ }
+
// We consider a ping sent for today if it occured after or at 00:00 today.
return pingTime >= todayDate.getTime();
},
diff --git a/browser/base/content/aboutDialog.xhtml b/browser/base/content/aboutDialog.xhtml
index 53e4616a..ba6a3dfb 100644
--- a/browser/base/content/aboutDialog.xhtml
+++ b/browser/base/content/aboutDialog.xhtml
@@ -137,7 +137,7 @@
<vbox id="bottomBox">
<hbox pack="center">
<label is="text-link" class="bottom-link" useoriginprincipal="true" href="about:license" data-l10n-id="bottomLinks-license"/>
- <label is="text-link" class="bottom-link" href="https://www.mozilla.org/about/legal/terms/firefox/" data-l10n-id="bottomLinks-rights"/>
+ <label is="text-link" class="bottom-link" href="https://trisquel.info/es/legal" data-l10n-id="bottomLinks-rights"/>
<label is="text-link" class="bottom-link" href="https://www.mozilla.org/privacy/firefox/?utm_source=firefox-browser&#38;utm_medium=firefox-desktop&#38;utm_campaign=about-dialog" data-l10n-id="bottomLinks-privacy"/>
</hbox>
<description id="trademark" data-l10n-id="trademarkInfo"></description>
diff --git a/browser/components/about/AboutRedirector.cpp b/browser/components/about/AboutRedirector.cpp
index d1fe0148..ce5d1f42 100644
--- a/browser/components/about/AboutRedirector.cpp
+++ b/browser/components/about/AboutRedirector.cpp
@@ -90,7 +90,7 @@ static const RedirEntry kRedirMap[] = {
{"profiling",
"chrome://devtools/content/performance-new/aboutprofiling/index.xhtml",
nsIAboutModule::ALLOW_SCRIPT | nsIAboutModule::IS_SECURE_CHROME_UI},
- {"rights", "https://www.mozilla.org/about/legal/terms/firefox/",
+ {"rights", "https://trisquel.info/es/legal",
nsIAboutModule::URI_SAFE_FOR_UNTRUSTED_CONTENT |
nsIAboutModule::URI_MUST_LOAD_IN_CHILD},
{"robots", "chrome://browser/content/aboutRobots.xhtml",
diff --git a/debian/control.in b/debian/control.in
index dd3c8daa..911d9667 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -52,8 +52,7 @@ Architecture: any
Depends: lsb-release,
${misc:Depends},
${shlibs:Depends}
-Recommends: xul-ext-ubufox,
- ${support:Recommends},
+Recommends: ${support:Recommends},
libcanberra0,
libdbusmenu-glib4,
libdbusmenu-gtk3-4
@@ -61,7 +60,8 @@ Provides: www-browser,
iceweasel, firefox,
gnome-www-browser,
${app:Provides}
-Suggests: fonts-lyx,
+Suggests: webext-ublock-origin,
+ fonts-lyx,
${support:Suggests}
Breaks: ${transitional:Breaks}
Replaces: ${transitional:Replaces}
#! /usr/bin/python3
# Copyright (C) 2024 Luis Guzmán <ark@switnet.org>
# Copyright (C) 2020, 2021, 2022, 2023, 2024 grizzlyuser <grizzlyuser@protonmail.com>
# Based on: https://gitlab.trisquel.org/trisquel/wrapage-helpers/-/blob/81881d89b2bf7d502dd14fcccdb471fec6f6b206/helpers/DATA/firefox/reprocess-search-config.py
# Below is the notice from the original author:
#
# Copyright (C) 2020, 2021 Ruben Rodriguez <ruben@trisquel.info>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
import json
import sys
import time
import copy
import argparse
import pathlib
import logging
from collections import namedtuple
from jsonschema import validate
parser = argparse.ArgumentParser()
parser.add_argument(
'MAIN_PATH',
type=pathlib.Path,
help='path to main application source code directory')
parser.add_argument(
'BRANDING_PATH',
type=pathlib.Path,
help='path to branding source code directory')
parser.add_argument(
'-i',
'--indent',
type=int,
default=2,
help='indent for pretty printing of output files')
parser.add_argument(
'-l',
'--loglevel',
choices=logging._nameToLevel.keys(),
default=logging.INFO,
help='logging level')
arguments = parser.parse_args()
logging.basicConfig(level=arguments.loglevel)
logger = logging.getLogger(str(pathlib.Path(__file__).name))
File = namedtuple('File', ['path', 'content'])
class JsonProcessor:
@classmethod
def process(cls):
parsed_jsons = []
for json_path in cls.JSON_PATHS:
logger.info('Reading input: ' + str(json_path) + '...')
with json_path.open(encoding='utf-8') as file:
parsed_jsons.append(File(json_path, json.load(file)))
parsed_schema = None
if hasattr(cls, "SCHEMA_PATH"):
logger.info('Reading schema: ' + str(json_path) + '...')
with cls.SCHEMA_PATH.open() as file:
parsed_schema = json.load(file)
processed = cls.process_parsed(parsed_jsons, parsed_schema)
with processed.path.open('w') as file:
json.dump(processed.content, file, indent=arguments.indent)
logger.info('Wrote: ' + str(processed.path))
class RemoteSettings(JsonProcessor):
DUMPS_PATH_RELATIVE = 'services/settings/dumps'
DUMPS_PATH_ABSOLUTE = arguments.MAIN_PATH / DUMPS_PATH_RELATIVE
_WRAPPER_NAME = 'data'
_LAST_MODIFIED_KEY_NAME = 'last_modified'
@classmethod
def get_collection_timestamp(cls, collection):
return max((record[cls._LAST_MODIFIED_KEY_NAME]
for record in collection.content), default=0)
@classmethod
def wrap(cls, processed):
return File(processed.path,
{cls._WRAPPER_NAME: processed.content,
'timestamp': cls.get_collection_timestamp(processed)})
@classmethod
def unwrap(cls, parsed_jsons):
return [File(json.path, json.content[cls._WRAPPER_NAME])
for json in parsed_jsons]
@classmethod
def should_modify_collection(cls, collection):
return True
@classmethod
def now(cls):
return int(round(time.time() * 1000))
@classmethod
def process_raw(cls, unwrapped_jsons, parsed_schema):
timestamps, result = [], []
for collection in unwrapped_jsons:
should_modify_collection = cls.should_modify_collection(collection)
for record in collection.content:
if should_modify_collection:
if cls.should_drop_record(record):
continue
clone = copy.deepcopy(record)
record = cls.process_record(record)
if clone != record:
timestamp = cls.now()
while timestamp in timestamps:
timestamp += 1
timestamps.append(timestamp)
record[cls._LAST_MODIFIED_KEY_NAME] = timestamp
if parsed_schema is not None:
validate(record, schema=parsed_schema)
result.append(record)
result.sort(
key=lambda record: record[cls._LAST_MODIFIED_KEY_NAME], reverse=True)
cls.OUTPUT_PATH.parent.mkdir(parents=True, exist_ok=True)
return File(cls.OUTPUT_PATH, result)
@classmethod
def process_parsed(cls, parsed_jsons, parsed_schema):
return cls.wrap(
cls.process_raw(
cls.unwrap(parsed_jsons),
parsed_schema))
class EmptyRemoteSettings(RemoteSettings):
@classmethod
def should_drop_record(cls, search_engine):
return True
@classmethod
def process_record(cls, record):
return record
class Changes(RemoteSettings):
JSON_PATHS = tuple(RemoteSettings.DUMPS_PATH_ABSOLUTE.glob('*/*.json'))
OUTPUT_PATH = RemoteSettings.DUMPS_PATH_ABSOLUTE / 'monitor/changes'
@classmethod
def wrap(cls, processed):
return File(
processed.path, {
'changes': processed.content, 'timestamp': cls.now()})
@classmethod
def process_raw(cls, unwrapped_jsons, parsed_schema):
changes = []
for collection in unwrapped_jsons:
if collection.path != RemoteSettings.DUMPS_PATH_ABSOLUTE / 'main/example.json':
latest_change = {}
latest_change[cls._LAST_MODIFIED_KEY_NAME] = cls.get_collection_timestamp(
collection)
latest_change['bucket'] = collection.path.parent.name
latest_change['collection'] = collection.path.stem
changes.append(latest_change)
cls.OUTPUT_PATH.parent.mkdir(parents=True, exist_ok=True)
return File(cls.OUTPUT_PATH, changes)
class SearchConfigV2(RemoteSettings):
JSON_PATHS = (
RemoteSettings.DUMPS_PATH_ABSOLUTE /
'main/search-config-v2.json',
)
SCHEMA_PATH = arguments.MAIN_PATH / \
'toolkit/components/search/schema/search-config-v2-schema.json'
OUTPUT_PATH = JSON_PATHS[0]
_DUCKDUCKGO_SEARCH_ENGINE_IDENTIFIER = 'ddg'
@classmethod
def should_drop_record(cls, record):
if record['recordType'] != 'engine':
return False
identifier = record['identifier']
excluded_identifiers = ['ecosia', 'qwant', 'trisquel', 'trisquel-packages']
return (
identifier != cls._DUCKDUCKGO_SEARCH_ENGINE_IDENTIFIER and
not (identifier.startswith('wikipedia') or identifier in excluded_identifiers)
)
@classmethod
def process_record(cls, record):
if record['recordType'] == 'defaultEngines':
return cls.process_default_engines(record)
elif record['recordType'] == 'engine':
return cls.process_engine(record)
elif record['recordType'] == 'engineOrders':
return cls.process_engine_orders(record)
else:
return record
@classmethod
def process_default_engines(cls, default_engines):
default_engines['globalDefault'] = cls._DUCKDUCKGO_SEARCH_ENGINE_IDENTIFIER
default_engines['specificDefaults'] = []
return default_engines
@classmethod
def process_engine(cls, engine):
engine['base'].pop('partnerCode', None)
engine['base']['urls']['search'].pop('params', None)
if engine['identifier'] == cls._DUCKDUCKGO_SEARCH_ENGINE_IDENTIFIER:
engine['base']['name'] += ' HTML'
engine['base']['urls']['search']['base'] = 'https://html.duckduckgo.com/html'
allRegions_prefixes = ['ecosia', 'qwant', 'trisquel']
if any(engine['identifier'].startswith(prefix) for prefix in allRegions_prefixes) or \
engine['identifier'] == cls._DUCKDUCKGO_SEARCH_ENGINE_IDENTIFIER:
engine['variants'] = [{'environment': {'allRegionsAndLocales': True}}]
return engine
@classmethod
def process_engine_orders(cls, engine_orders):
engine_orders['orders'] = []
return engine_orders
class SearchConfigOverridesV2(EmptyRemoteSettings):
JSON_PATHS = (
RemoteSettings.DUMPS_PATH_ABSOLUTE /
'main/search-config-overrides-v2.json',
)
SCHEMA_PATH = arguments.MAIN_PATH / \
'toolkit/components/search/schema/search-config-overrides-v2-schema.json'
OUTPUT_PATH = JSON_PATHS[0]
class SearchDefaultOverrideAllowlist(EmptyRemoteSettings):
JSON_PATHS = (
RemoteSettings.DUMPS_PATH_ABSOLUTE /
'main/search-default-override-allowlist.json',
)
SCHEMA_PATH = arguments.MAIN_PATH / \
'toolkit/components/search/schema/search-default-override-allowlist-schema.json'
OUTPUT_PATH = JSON_PATHS[0]
class SearchTelemetryV2(EmptyRemoteSettings):
JSON_PATHS = (
RemoteSettings.DUMPS_PATH_ABSOLUTE /
'main/search-telemetry-v2.json',
)
SCHEMA_PATH = arguments.MAIN_PATH / \
'browser/components/search/schema/search-telemetry-v2-schema.json'
OUTPUT_PATH = JSON_PATHS[0]
class UrlClassifierSkipUrls(EmptyRemoteSettings):
JSON_PATHS = (
RemoteSettings.DUMPS_PATH_ABSOLUTE /
'main/url-classifier-skip-urls.json',
)
OUTPUT_PATH = JSON_PATHS[0]
class TippyTopSites(JsonProcessor):
JSON_PATHS = (
arguments.MAIN_PATH /
'browser/components/topsites/content/tippytop/top_sites.json',
arguments.BRANDING_PATH /
'tippytop/top_sites.json')
@classmethod
def process_parsed(cls, parsed_jsons, parsed_schema):
tippy_top_sites_main = parsed_jsons[0]
tippy_top_sites_branding = parsed_jsons[1]
result = tippy_top_sites_branding.content + \
[site for site in tippy_top_sites_main.content if 'wikipedia.org' in site['domains']]
return File(tippy_top_sites_main.path, result)
class TopSites(RemoteSettings):
_TOP_SITES_JSON_PATH = 'main/top-sites.json'
_TOP_SITES_PATH_MAIN = RemoteSettings.DUMPS_PATH_ABSOLUTE / _TOP_SITES_JSON_PATH
JSON_PATHS = (
arguments.BRANDING_PATH /
RemoteSettings.DUMPS_PATH_RELATIVE /
_TOP_SITES_JSON_PATH,
_TOP_SITES_PATH_MAIN)
OUTPUT_PATH = _TOP_SITES_PATH_MAIN
@classmethod
def should_modify_collection(cls, collection):
return cls._TOP_SITES_PATH_MAIN == collection.path
@classmethod
def should_drop_record(cls, site):
return site['url'] != 'https://www.wikipedia.org/'
@classmethod
def process_record(cls, site):
site.pop('exclude_regions', None)
return site
# To reflect the latest timestamps, Changes class should always come after
# all other RemoteSettings subclasses
processors = (
SearchConfigV2,
SearchConfigOverridesV2,
SearchDefaultOverrideAllowlist,
SearchTelemetryV2,
UrlClassifierSkipUrls,
TopSites,
Changes,
TippyTopSites)
for processor in processors:
processor.process()
{
"data": [
{
"url": "https://trisquel.info/",
"order": 0,
"title": "Trisquel",
"id": "ec7f4843-6be5-5e86-870a-1c8383500a4b",
"last_modified": 1715345084783
},
{
"url": "https://packages.trisquel.org/",
"order": 1,
"title": "Trisquel Packages",
"id": "27a9b035-0b8b-4472-97cb-b1866aba0740",
"last_modified": 1715345084786
},
{
"url": "https://www.gnu.org/",
"order": 2,
"title": "GNU",
"id": "1baee931-751c-5993-b6fe-d86fbf78f9b0",
"last_modified": 1715345084789
},
{
"url": "https://www.fsf.org/",
"order": 3,
"title": "FSF",
"id": "fcc60dd8-4d97-5aca-8e5d-784652c75818",
"last_modified": 1715345084792
},
{
"url": "https://directory.fsf.org/",
"order": 4,
"title": "FSF Directory",
"id": "abe5bfb2-9487-5697-9f27-e0b782dfe006",
"last_modified": 1715345084796
},
{
"url": "https://libreplanet.org/",
"order": 5,
"title": "LibrePlanet",
"id": "e3d2cf88-a4dc-5d2e-9f9a-f3ea241d17d8",
"last_modified": 1715345084800
},
{
"url": "https://www.wikipedia.org/",
"order": 6,
"title": "Wikipedia",
"id": "02c295f5-54a8-5d29-8d1f-b619216b20c0",
"last_modified": 1715345084803
},
{
"url": "https://h-node.org/",
"order": 7,
"title": "h-node",
"id": "c426481f-8c3f-53b8-b23a-431a91a1c7b4",
"last_modified": 1715345084807
}
],
"timestamp": 1715345084810
}
[
{
"domains": ["duckduckgo.com"],
"image_url": "images/duckduckgo-com@2x.svg",
"favicon_url": "favicons/duckduckgo-com.ico"
},
{
"domains": ["trisquel.info"],
"image_url": "images/trisquel.png",
"favicon_url": "favicons/trisquel.ico"
},
{
"domains": ["packages.trisquel.org"],
"image_url": "images/trisquel-packages.png",
"favicon_url": "favicons/trisquel-packages.ico"
},
{
"domains": ["gnu.org"],
"image_url": "images/gnu.png",
"favicon_url": "favicons/gnu.ico"
},
{
"domains": ["fsf.org"],
"image_url": "images/fsf.png",
"favicon_url": "favicons/fsf.ico"
},
{
"domains": ["directory.fsf.org"],
"image_url": "images/directory.png",
"favicon_url": "favicons/fsf.ico"
},
{
"domains": ["libreplanet.org"],
"image_url": "images/libreplanet.png",
"favicon_url": "favicons/libreplanet.ico"
},
{
"domains": ["fsfe.org"],
"image_url": "images/fsfe.png",
"favicon_url": "favicons/fsfe.ico"
},
{
"domains": ["wikipedia.org"],
"image_url": "images/wikipedia.png",
"favicon_url": "favicons/wikipedia.ico"
},
{
"domains": ["h-node.org"],
"image_url": "images/hnode.png",
"favicon_url": "favicons/hnode.ico"
}
]
{
"overrides": [
{
"name": "Amazon",
"include_locales": [ "af", "ar", "as", "az", "bg", "bn-IN", "br", "cak", "cy", "da", "de", "el", "en-GB", "en-US", "en-ZA", "eo", "es-AR", "eu", "fa", "fr", "ga-IE", "gd", "gl", "gn", "hr", "hsb", "hy-AM", "is", "it", "ja", "ka", "km", "kn", "ku", "lt", "mk", "mr", "ms", "nb-NO", "nn-NO", "or", "pt-PT", "ro", "si", "son", "sq", "sr", "te", "th", "uz", "zh-CN", "zu"],
"exclude_locales": [],
"match": "amazon*.xml",
"source": "en-US/amazondotcom.xml",
"locale_specific": [
{
"locales": [ "br", "fr", "oc" ],
"match": "amazon*.xml",
"source": "fr/amazon-france.xml"
},
{
"locales": [ "cy", "da", "el", "en-GB", "eu", "ga-IE", "gd", "gl", "hr", "nb-NO", "nn-NO", "pt-PT", "sq", "sr" ],
"match": "amazon*.xml",
"source": "en-GB/amazon-en-GB.xml"
},
{
"locales": [ "de", "hsb" ],
"match": "amazondotcom-de.xml",
"source": "de/amazondotcom-de.xml"
},
{
"locales": [ "it" ],
"match": "amazon-it.xml",
"source": "it/amazon-it.xml"
},
{
"locales": [ "ja" ],
"match": "amazon-jp.xml",
"source": "ja/amazon-jp.xml"
},
{
"locales": [ "zh-CN" ],
"match": "amazondotcn.xml",
"source": "zh-CN/amazondotcn.xml"
}
]
},
{
"name": "Baidu",
"include_locales": [ "zh-CN" ],
"exclude_locales": [],
"match": "baidu*.xml",
"source": "zh-CN/baidu.xml"
},
{
"name": "DuckDuckGo",
"include_locales": [ "*" ],
"exclude_locales": [],
"match": "ddg*.xml",
"source": "en-US/duckduckgo.xml"
},
{
"name": "Google",
"include_locales": [ "*" ],
"exclude_locales": [],
"match": "google*.xml",
"source": "en-US/google.xml",
"locale_specific": [
{
"locales": [ "en-GB" ],
"match": "google.xml",
"source": "en-GB/google.xml"
},
{
"locales": [ "en-ZA" ],
"match": "google.xml",
"source": "en-ZA/google.xml"
},
{
"locales": [ "ku" ],
"match": "google.xml",
"source": "ku/google-ku.xml"
}
]
}
],
"additions": [
{
"name": "Trisquel",
"include_locales": [ "*" ],
"exclude_locales": [],
"source": "en-US/trisquel.xml"
},
{
"name": "Trisquel packages",
"include_locales": [ "*" ],
"exclude_locales": [],
"source": "en-US/trisquel-packages.xml"
}
]
}
{
"base": {
"aliases": [
"packages",
"p"
],
"classification": "unknown",
"name": "Trisquel Packages",
"urls": {
"search": {
"base": "https://packages.trisquel.org/search",
"params": [],
"searchTermParamName": "keywords"
}
}
},
"id": "b5fd21a8-e369-477f-a3f2-b47a370f9030",
"identifier": "trisquel-packages",
"last_modified": 1678,
"recordType": "engine",
"schema": "defaultEngines",
"variants": [
{
"environment": {
"allRegionsAndLocales": true
},
"optional": false
}
]
},
<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
<os:ShortName>Trisquel Packages</os:ShortName>
<os:Description>Search packages.trisquel.info</os:Description>
<os:InputEncoding>UTF-8</os:InputEncoding>
<os:Image width="16" height="16">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACi0lEQVQ4jY2T3UtTARiH92/0DxR0E10EZTeBF3VhBEqF9EEXUURUpn2AmohNS60oUrRMQ1D86ItKKz+atjmd25w5S82zlXPOqfNsc27nzOPOeboQJlakL/xuXnifi+d9Xx1bLEVZxTHhxzjsRZJXkn3dVob9gQhp+d1kFhs5rv9C6s1ufnjEjQDHhJ+bNXbOlJsprHfwyxdMAgrrHbzvcxONxXF7F6l47eRUaR+qqq4BWgwCO85+5KjeyMm7Jraf62DnhU5aDZMA3KodJByR0DSNmjdDCFML7L/Wy4IYQReNxUm52oXB7sEzG6Lb5sEx7uNgXi8pOT04JuYwO308bB3mrclNfbuTFoNAWoGJmLSCzusPcij3M6GlGJUvhzDYpymuH6Tvq5cDuX0cKzHjW1jCMxtk1DWPecRLZqkFfcPwmoNgOMrhgl5m5sJJu2UNVqZnRY7oLaSXWDlRZuFGjZ3LlVYOFpg5c6+fxVB0XeLjV07OP7LwosfFs7YxGjvGsI3Nkl5iJTW/nz3Zvey+1Mm+rA7y6uyEI9LGNWqahlOY59Ogh1HXPAA51Va2ne4gv86GazqQlPhn/fMOFCXB3qxOMu+YCASXud80RNFzC7Yx/9YAYijKrotd1LZP8OTtKG6viCSvcL16AGF6cXNATFohJbubqnffefruG+M/51FVlWaDQE3b+OYAgOyqQTKKTATEZT6YXQieAOXNIzR2Tf4N0DQNVVVZXV1FURQURcHrF8m4beTsgwFaewTKm0c4qjcy5RNJJBJJoTpN04jH40QiEUKhEKIoJuOemuFBs40rFWbuN9kYFzwEg0HC4TCSJK3/QiKRQJZlZFkmHo//N7IsI0kSiqKgaRq/AbKDgxgo7zYPAAAAAElFTkSuQmCC</os:Image>
<SearchForm>http://packages.trisquel.info/</SearchForm>
<os:Url type="text/html" method="GET" template="http://packages.trisquel.info/search?suite=default&amp;section=all&amp;arch=any&amp;searchon=names&amp;keywords={searchTerms}">
</os:Url>
</SearchPlugin>
helpers/DATA/firefox/searchplugins/trisquel-packages/favicon.ico

40.4 KiB

{
"name": "Trisquel Packages",
"description": "Search available software packages for Trisquel GNU/Linux",
"manifest_version": 2,
"version": "1.0",
"applications": {
"gecko": {
"id": "trisquel-packages@search.mozilla.org"
}
},
"hidden": true,
"icons": {
"16": "favicon.ico",
"32": "favicon.ico",
"48": "favicon.ico",
"256": "favicon.ico"
},
"web_accessible_resources": [
"favicon.ico"
],
"chrome_settings_overrides": {
"search_provider": {
"keyword": ["@packages", "@p"],
"name": "Trisquel Packages",
"search_url": "https://packages.trisquel.org/search?keywords={searchTerms}",
"search_form": "https://packages.trisquel.org/search?keywords={searchTerms}"
}
}
}
{
"base": {
"aliases": [
"trisquel",
"t"
],
"classification": "unknown",
"name": "Trisquel",
"urls": {
"search": {
"base": "https://trisquel.info/search/node",
"params": [],
"searchTermParamName": "q"
}
}
},
"id": "b99ed276-9557-4492-8bbb-d59826381893",
"identifier": "trisquel",
"last_modified": 1678,
"recordType": "engine",
"schema": "defaultEngines",
"variants": [
{
"environment": {
"allRegionsAndLocales": true
},
"optional": false
}
]
},
<SearchPlugin xmlns="http://www.mozilla.org/2006/browser/search/" xmlns:os="http://a9.com/-/spec/opensearch/1.1/">
<os:ShortName>Trisquel</os:ShortName>
<os:Description>Trisquel GNU/Linux</os:Description>
<os:InputEncoding>UTF-8</os:InputEncoding>
<os:Image width="16" height="16">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACi0lEQVQ4jY2T3UtTARiH92/0DxR0E10EZTeBF3VhBEqF9EEXUURUpn2AmohNS60oUrRMQ1D86ItKKz+atjmd25w5S82zlXPOqfNsc27nzOPOeboQJlakL/xuXnifi+d9Xx1bLEVZxTHhxzjsRZJXkn3dVob9gQhp+d1kFhs5rv9C6s1ufnjEjQDHhJ+bNXbOlJsprHfwyxdMAgrrHbzvcxONxXF7F6l47eRUaR+qqq4BWgwCO85+5KjeyMm7Jraf62DnhU5aDZMA3KodJByR0DSNmjdDCFML7L/Wy4IYQReNxUm52oXB7sEzG6Lb5sEx7uNgXi8pOT04JuYwO308bB3mrclNfbuTFoNAWoGJmLSCzusPcij3M6GlGJUvhzDYpymuH6Tvq5cDuX0cKzHjW1jCMxtk1DWPecRLZqkFfcPwmoNgOMrhgl5m5sJJu2UNVqZnRY7oLaSXWDlRZuFGjZ3LlVYOFpg5c6+fxVB0XeLjV07OP7LwosfFs7YxGjvGsI3Nkl5iJTW/nz3Zvey+1Mm+rA7y6uyEI9LGNWqahlOY59Ogh1HXPAA51Va2ne4gv86GazqQlPhn/fMOFCXB3qxOMu+YCASXud80RNFzC7Yx/9YAYijKrotd1LZP8OTtKG6viCSvcL16AGF6cXNATFohJbubqnffefruG+M/51FVlWaDQE3b+OYAgOyqQTKKTATEZT6YXQieAOXNIzR2Tf4N0DQNVVVZXV1FURQURcHrF8m4beTsgwFaewTKm0c4qjcy5RNJJBJJoTpN04jH40QiEUKhEKIoJuOemuFBs40rFWbuN9kYFzwEg0HC4TCSJK3/QiKRQJZlZFkmHo//N7IsI0kSiqKgaRq/AbKDgxgo7zYPAAAAAElFTkSuQmCC</os:Image>
<os:Url type="text/html" method="GET" template="http://trisquel.info/search/node/{searchTerms}?page={startPage}">
</os:Url><os:Url type="application/rss+xml" method="GET" template="http://trisquel.info/opensearch/node/{searchTerms}?page={startPage}">
</os:Url>
</SearchPlugin>
helpers/DATA/firefox/searchplugins/trisquel/favicon.ico

47.8 KiB

{
"name": "Trisquel",
"description": "Search Trisquel GNU/Linux site",
"manifest_version": 2,
"version": "1.0",
"applications": {
"gecko": {
"id": "trisquel@search.mozilla.org"
}
},
"hidden": true,
"icons": {
"16": "favicon.ico",
"32": "favicon.ico",
"48": "favicon.ico",
"256": "favicon.ico"
},
"web_accessible_resources": [
"favicon.ico"
],
"chrome_settings_overrides": {
"search_provider": {
"keyword": ["@trisquel", "@t"],
"name": "Trisquel",
"search_url": "https://trisquel.info/search/node/{searchTerms}",
"search_form": "https://trisquel.info/search/node/{searchTerms}"
}
}
}
:
// Release notes and vendor URLs
pref("app.releaseNotesURL", "http://trisquel.info/browser");
pref("app.vendorURL", "http://trisquel.info/browser");
pref("app.releaseNotesURL", "https://trisquel.info/en/wiki/abrowser-help");
pref("app.vendorURL", "https://trisquel.info/en/wiki/abrowser-help");
// PFS url
pref("pfs.datasource.url", "http://trisquel.info/sites/pfs.php?mime=%PLUGIN_MIMETYPE%");
pref("pfs.filehint.url", "http://trisquel.info/sites/pfs.php?mime=%PLUGIN_MIMETYPE%");
pref("pfs.datasource.url", "https://trisquel.info/sites/pfs.php?mime=%PLUGIN_MIMETYPE%");
pref("pfs.filehint.url", "https://trisquel.info/sites/pfs.php?mime=%PLUGIN_MIMETYPE%");
// I'm feeling Ducky.
pref("keyword.URL", "https://duckduckgo.com/?t=trisquel&q=!+");
pref("keyword.URL", "https://duckduckgo.com/?q=!+");
pref("browser.search.defaultenginename", "DuckDuckGo");
pref("browser.search.order.1", "DuckDuckGo");
pref("browser.search.defaultenginename", "DuckDuckGo");
......@@ -33,11 +33,10 @@ pref("network.http.proxy.pipelining", true);
pref("network.http.pipelining.maxrequests", 10);
pref("nglayout.initialpaint.delay", 0);
// Disable third party cookies
pref("network.cookie.cookieBehavior", 1);
// Extensions can be updated
pref("extensions.update.enabled", true);
// Extensions cannot be updated without permission
pref("extensions.update.enabled", false);
pref("extensions.systemAddon.update.enabled", false);
pref("lightweightThemes.update.enabled", false);
// Use LANG environment variable to choose locale
pref("intl.locale.matchOS", true);
// Disable default browser checking.
......@@ -51,33 +50,33 @@ pref ("distribution.id", "trisquel");
pref ("distribution.version", "1.0");
// Set useragent to Firefox compatible
pref("general.useragent.compatMode.firefox",true);
pref("general.useragent.compatMode.abrowser",true);
// Spoof the useragent to a generic one
//pref("general.useragent.override", "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/24.0");
//pref("general.useragent.override", "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:24.0) Gecko/20100101 Firefox/58.0");
// Startup pages
//pref ("browser.startup.page" , 3);
//pref ("browser.startup.homepage" , "http://trisquel.info");
//pref ("startup.homepage_welcome_url", "http://trisquel.info/welcome");
//pref ("startup.homepage_override_url" , "http://trisquel.info/newbrowser");
//pref ("browser.startup.homepage" , "https://trisquel.info");
//pref ("startup.homepage_welcome_url", "https://trisquel.info/welcome");
//pref ("startup.homepage_override_url" , "https://trisquel.info/newbrowser");
pref ("browser.startup.homepage_override.mstone", "ignore");
// Preferences for the Get Add-ons panel
pref ("extensions.webservice.discoverURL", "https://trisquel.info/browser-plain");
pref ("extensions.getAddons.search.url", "http://trisquel.info");
pref ("extensions.webservice.discoverURL", "https://gnuzilla.gnu.org/mozzarella/");
pref ("extensions.getAddons.search.url", "https://trisquel.info");
// Help URL
pref ("app.support.baseURL", "http://trisquel.info/wiki/");
pref ("app.support.baseURL", "https://trisquel.info/wiki/");
pref ("app.support.inputURL", "https://trisquel.info/contact");
pref ("app.feedback.baseURL", "https://trisquel.info/contact");
pref ("browser.uitour.url", "http://trisquel.info/browser");
pref ("plugins.update.url", "http://trisquel.info/browser");
pref ("browser.customizemode.tip0.learnMoreUrl", "http://trisquel.info/browser");
pref ("browser.uitour.url", "https://trisquel.info/en/wiki/abrowser-help");
pref ("plugins.update.url", "https://trisquel.info/en/wiki/abrowser-help");
pref ("browser.customizemode.tip0.learnMoreUrl", "https://trisquel.info/en/wiki/abrowser-help");
// Dictionary download preference
pref("browser.dictionaries.download.url", "http://dictionaries.mozdev.org/");
pref("browser.search.searchEnginesURL", "http://mycroft.mozdev.org/");
pref("browser.dictionaries.download.url", "https://addons.mozilla.org/%LOCALE%/firefox/language-tools/");
pref("browser.search.searchEnginesURL", "https://mycroftproject.com/");
// Enable Spell Checking In All Text Fields
pref("layout.spellcheckDefault", 2);
......@@ -93,12 +92,17 @@ pref("network.protocol-handler.external.apt+http",true);
// https://webdevelopmentaid.wordpress.com/2013/10/21/customize-privacy-settings-in-mozilla-firefox-part-1-aboutconfig/
// https://panopticlick.eff.org
// https://wiki.mozilla.org/Fingerprinting
//pref("browser.contentblocking.features.strict", "tp,tpPrivate,cookieBehavior1,cm,fp,stp");
pref("privacy.donottrackheader.enabled", true);
pref("privacy.donottrackheader.value", 1);
pref("dom.ipc.plugins.flash.subprocess.crashreporter.enabled", false);
pref("browser.safebrowsing.enabled", false);
pref("browser.safebrowsing.downloads.remote.enabled", false);
pref("browser.safebrowsing.malware.enabled", false);
pref("services.sync.privacyURL", "http://trisquel.info/en/legal");
pref("browser.safebrowsing.provider.mozilla.gethashURL", "");
// Uncomment next line to prevent automated connection to mozilla, to fetch block list
//pref("browser.safebrowsing.provider.mozilla.updateURL", "");
pref("services.sync.privacyURL", "https://trisquel.info/en/legal");
pref("social.enabled", false);
pref("social.remote-install.enabled", false);
pref("datareporting.policy.dataSubmissionEnabled", false);
......@@ -113,6 +117,7 @@ pref("network.http.sendRefererHeader", 2);
pref("dom.event.clipboardevents.enabled",false);
pref("network.prefetch-next", false);
pref("network.dns.disablePrefetch", true);
pref("network.dns.disablePrefetchFromHTTPS", true);
pref("network.http.sendSecureXSiteReferrer", false);
pref("toolkit.telemetry.enabled", false);
// Do not tell what plugins do we have enabled: https://mail.mozilla.org/pipermail/firefox-dev/2013-November/001186.html
......@@ -122,8 +127,45 @@ pref("plugin.state.flash", 1);
pref("browser.newtabpage.directory.source", "");
pref("browser.newtabpage.directory.ping", "");
pref("browser.newtabpage.introShown", true);
pref("browser.newtabpage.activity-stream.unifiedAds.endpoint","");
// Disable home snippets
pref("browser.aboutHomeSnippets.updateUrl", "data:text/html");
pref("browser.aboutHomeSnippets.updateUrl", "");
// Always ask before restoring the browsing session
pref("browser.sessionstore.max_resumed_crashes", 0);
pref("privacy.trackingprotection.introURL", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/tracking-protection/start/");
// Disable geolocation
pref("geo.enabled", false);
pref("browser.search.geoip.url", "");
pref("geo.provider-country.network.url", "");
pref("browser.search.geoSpecificDefaults.url", "");
pref("browser.region.network.url","");
// Disable captive portal detection
pref("captivedetect.canonicalURL", "");
pref("network.captive-portal-service.enabled", false);
// Disable shield/heartbeat
pref("extensions.shield-recipe-client.enabled", false);
// Disable telemetry pings to enhance privacy.
pref("toolkit.telemetry.archive.enabled", false);
pref("toolkit.telemetry.unified", false);
pref("toolkit.telemetry.updatePing.enabled", false);
pref("toolkit.telemetry.shutdownPingSender.enabled", false);
pref("toolkit.telemetry.newProfilePing.enabled", false);
pref("toolkit.telemetry.firstShutdownPing.enabled", false);
pref("toolkit.telemetry.bhrPing.enabled", false);
pref("browser.ping-centre.telemetry", false);
pref("dom.security.unexpected_system_load_telemetry_enabled", false);
pref("network.connectivity-service.enabled", false);
// Canvas fingerprint protection
// Disabled, as it breaks things and does little improvements to fingerprinting
//pref("privacy.resistFingerprinting", true);
//pref("privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts", false);
// Webgl can be used for fingerprinting
pref("webgl.disabled", true);
// Don't reveal your internal IP when WebRTC is enabled
pref("media.peerconnection.ice.no_host", true);
// Services
pref("gecko.handlerService.schemes.mailto.0.name", "");
......@@ -149,6 +191,7 @@ pref("browser.search.update", false);
// Disable channel updates
pref("app.update.enabled", false);
pref("app.update.url", "");
pref("app.update.auto", false);
pref("toolkit.telemetry.enabled", false);
......@@ -158,10 +201,14 @@ pref("extensions.blocklist.enabled", false);
pref("font.default.x-western", "sans-serif");
// Disable Gecko media plugins: https://wiki.mozilla.org/GeckoMediaPlugins
pref("media.gmp-manager.url", "http://127.0.0.1/");
pref("media.gmp-manager.url", "");
pref("media.gmp-provider.enabled", false);
// Don't install openh264 codec
pref("media.gmp-gmpopenh264.enabled", false);
// Disable Widevine
pref("media.gmp-widevinecdm.enabled", false);
// Disable eme codecs
pref("media.eme.enabled", false);
//Disable middle click content load
//Avoid loading urls by mistake
......@@ -184,6 +231,7 @@ pref("security.ssl3.dhe_rsa_aes_128_sha", false);
pref("security.ssl3.dhe_rsa_aes_256_sha", false);
pref("security.ssl3.dhe_dss_aes_128_sha", false);
pref("security.ssl3.dhe_rsa_des_ede3_sha", false);
pref("security.ssl3.rsa_des_ede3_sha", false);
// Disable Pocket integration
pref("browser.pocket.enabled", false);
......@@ -191,3 +239,85 @@ pref("extensions.pocket.enabled", false);
// disable xpi signing verification
pref("xpinstall.signatures.required", false);
// enable extensions by default in private mode
pref("extensions.allowPrivateBrowsingByDefault",true);
// disable screenshots extension
pref("extensions.screenshots.disabled", true);
// disable onboarding
pref("browser.onboarding.newtour", "performance,private,addons,customize,default");
pref("browser.onboarding.updatetour", "performance,library,singlesearch,customize");
pref("browser.onboarding.enabled", false);
// New tab settings
pref("browser.newtabpage.activity-stream.default.sites", "https://trisquel.info/,https://packages.trisquel.org,https://www.gnu.org/,https://www.fsf.org/,https://directory.fsf.org,https://libreplanet.org/,https://fsfe.org,https://www.wikipedia.org/wiki/,https://www.h-node.org/");
pref("browser.newtabpage.activity-stream.showTopSites",true);
pref("browser.newtabpage.activity-stream.feeds.section.topstories",false);
pref("browser.newtabpage.activity-stream.feeds.discoverystreamfeed", false);
pref("browser.newtabpage.activity-stream.discoverystream.enabled", false);
pref("browser.newtabpage.activity-stream.discoverystream.endpoints, "");
pref("browser.newtabpage.activity-stream.feeds.snippets",false);
pref("browser.newtabpage.activity-stream.disableSnippets", true);
pref("browser.newtabpage.activity-stream.tippyTop.service.endpoint", "");
// Enable xrender
//pref("gfx.xrender.enabled",true);
// Disable push notifications
pref("dom.webnotifications.enabled",false);
pref("dom.webnotifications.serviceworker.enabled",false);
// Disable services server
pref("services.settings.server", "");
pref("extensions.blocklist.url", "");
// Disable recommended extensions
pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr", false);
pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false);
pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false);
pref("extensions.htmlaboutaddons.discover.enabled", false);
pref("extensions.htmlaboutaddons.recommendations.enabled", false);
pref("extensions.getAddons.cache.enabled", false);
pref("extensions.getAddons.get.url", "");
pref("extensions.getAddons.link.url", "https://gnuzilla.gnu.org/mozzarella/");
pref("extensions.getAddons.langpacks.url", "");
pref("extensions.getAddons.discovery.api_url", "");
pref("extensions.recommendations.privacyPolicyUrl", "https://trisquel.info/legal");
pref("extensions.getAddons.search.browseURL", "https://gnuzilla.gnu.org/mozzarella/search.php?q=%TERMS%");
// Disable pingback on first run
pref("browser.newtabpage.activity-stream.fxaccounts.endpoint", "");
// Disable Normandy (remote settings changer for AB testing)
pref("app.normandy.enabled", false);
pref("app.normandy.api_url", "");
// Disable Adwaita theme by default.
pref("widget.gtk.libadwaita-colors.enabled", false);
// High level search data collection
pref("browser.search.serpEventTelemetry.enabled",false);
// Disable Privacy-Preserving Attribution submition
pref("dom.private-attribution.submission.enabled", false);
// Disable Machine Learning
pref("browser.ml.chat.enabled", false);
// Hide from UI
pref("browser.ml.chat.hideFromLabs", true);
pref("browser.ml.chat.hideLabsShortcuts", true);
// Disable tab hover preview
pref("browser.tabs.hoverPreview.enabled", false);
// Disable DAP telemetry servers & experiments
pref("toolkit.telemetry.dap.leader.url", "");
pref("toolkit.telemetry.dap.helper.url", "");
pref("messaging-system.rsexperimentloader.enabled", false);
// Disable DoH as third party service, users can restore it at will.
pref("network.trr.mode", 5);
pref("doh-rollout.enabled", false);
pref("doh-rollout.provider-steering.enabled", false);
helpers/DATA/firefox/topsites/directory.png

31.9 KiB