60 Commits

Author SHA1 Message Date
824edabe63 Enforces secure auto-configuration and fetching from Exchange (#50)
This patch enforces `mailnews.auto_config.fetchFromISP.sslOnly` and resets `mailnews.auto_config.fetchFromExchange.enabled` to allow fetching from Exchange servers when auto-configuration is enabled.

It also resets two auto-configuration URL preferences as doing so prevented users from re-enabling this feature.

Co-authored-by: Samuel FORESTIER <samuel+dev@forestier.app>
2024-07-09 19:47:44 +00:00
48529d1963 Enables sending HTML emails and "resume from crash" (#49)
This patch re-allows users to send HTML emails (when needed).

It also re-enables "resume from crash" (`browser.sessionstore.resume_from_crash`) and resets `calendar.extract.service.enabled` (already disabled by default).

Co-authored-by: Samuel FORESTIER <samuel+dev@forestier.app>
2024-07-09 19:36:44 +00:00
c6fef1356e Enables project notes (start page) (#52)
This is to show (by default) update notifications, and allow users to check changelog.

Co-authored-by: Samuel FORESTIER <samuel+dev@forestier.app>
2024-07-09 18:53:26 +00:00
ebeb8cf3fb Updates GitHub Actions to v4 to address Node.js 16 deprecation 2024-04-24 23:32:01 +02:00
ee7649a8b4 Migrates ESLint configuration to new (9+) "flat format" 2024-04-24 23:28:00 +02:00
7390a8056c [META] Updates copyrights for 2024 2024-04-24 23:28:00 +02:00
e6c5df30f2 Disables ESLint "flat configuration" format 2024-04-21 21:47:04 +02:00
ad0cac10b2 Mentions RFP breaks mozAddonManager integration (AMO/ATN)
It appears that re-enabling JavaScript is also required. See wiki page :
<https://github.com/HorlogeSkynet/thunderbird-user.js/wiki/4.1-Extensions#installing-extensions-from-amo-atn>

> closes #43
2024-04-21 20:29:29 +02:00
d6b18302e4 Bumps to v115.0 2023-11-18 15:02:30 +01:00
ee80afc278 Prevents donation appeal page opening on fresh profiles unconditionally 2023-11-18 13:57:45 +00:00
3996c279fd Enforces datareporting.policy.dataSubmissionPolicyBypassNotification
to completely disable telemetry (by preventing new data submission)
2023-11-18 13:57:45 +00:00
088da14f7e Applies Arkenfox v102.1..v115.1 migration 2023-11-18 13:57:45 +00:00
87b0d325e2 Revert "Workaround ETP Strict Mode lack of support in 102"
This reverts commit d8d79d6c84.
2023-11-18 13:57:45 +00:00
5a59c1b7e7 Enforces mail.html_sanitize.drop_conditional_css (TB 78 ESR) 2023-11-18 13:57:45 +00:00
167ddc02be Removes preferences related to charset dropped in ESR 78 2023-11-18 13:57:45 +00:00
8bd612fd82 Adds preferences from TB 115 ESR mailnews.js 2023-11-18 13:57:45 +00:00
fc144d3cb1 Fixes related project repository link
> closes #38
2023-09-14 09:57:47 +02:00
ac8a715b06 Adds missing semi-colon in reset mail.rights.version 2023-07-15 19:13:06 +02:00
439e5b5e7d Adds mail.inline_attachments.text to template
This preference controls whether "text attachments" (e.g. CSV, HTML or even plain text) should **also** be directly rendered in message body.

> see #35
2023-07-15 19:03:42 +02:00
07d26c7881 Resets mail.SpellCheckBeforeSend
> see #35
2023-07-15 18:56:50 +02:00
d2283b8c91 Bumps to v102.2 2023-03-06 18:46:48 +01:00
32afc0b38d Removes duplicate network.cookie.lifetimePolicy
This commit is a follow-up for d8d79d6c, where we re-introduced this
preference, during a (partial) revert, to workaround the lack of strict
ETP support.

> closes #33
2023-03-02 18:51:00 +01:00
32663905d0 Adds mail.compose.warned_about_customize_from preference to template 2023-02-28 17:13:11 +01:00
4f5cde426c Resets signon.rememberSignons preference to let the user choose
By disabling this preference, we prevented Thunderbird from even asking
whether passwords of new setup mail accounts should be saved or not.
This could be pretty confusing and not handy for daily usage.

Users with _specific_ needs can still unconditionally disable passwords
saving by uncommenting `5003`.

> closes #30

Co-Authored-By: atomGit <atomGit@users.noreply.github.com>
2022-11-27 15:36:16 +01:00
cc6cab6525 Restores security.cert_pinning.enforcement_level note about PM Bridge
It has been silently dropped during 5342ec1 (v78 -> v91 Arkenfox migration).
2022-10-22 17:01:54 +02:00
eba6bc4dea Bumps to v102.1 2022-10-02 11:23:04 +02:00
d8d79d6c84 Workaround ETP Strict Mode lack of support in 102
In #24, we wrongly assumed that ETP Strict Mode was available in TB 102 (as it was for FF 102).

This patch aims to workaround this (security) issue by :

* Re-enabling FPI ;
* Re-enabling DNT header ;
* Restoring `network.cookie.cookieBehavior` tweak ;
* Re-enabling ETP with custom settings (including query parameter stripping) ;
* Re-dealing with persistent storage-related preferences (`2700`).

This increases divergence with Arkenfox upstream template.

> see #27
2022-10-02 09:18:05 +00:00
494f684d74 Adds mail.openpgp.remind_encryption_possible (TB 102.2+) 2022-10-01 17:43:15 +02:00
8970a6fda1 Removes privacy.userContext.newTabContainerOnLeftClick.enabled
It appears this preference has never been implemented in Thunderbird.
2022-10-01 16:22:28 +02:00
08713b3ea9 Resets mail.biff.alert.* back to default values
Let's leave new email alert preferences to their default values, but note that they may be appreciated in some environments.

> See #27
2022-10-01 11:18:23 +02:00
a3a5c4ad86 Bumps to v102.0 2022-09-28 20:51:45 +02:00
6798bda078 Merge pull request #24 from thunderbird/esr_102 2022-09-28 18:47:43 +00:00
c1e6a54f75 Bumps to v102.0-beta2 2022-09-10 17:28:00 +02:00
0dcc49687f Enforces mailnews.message_display.disable_remote_image 2022-09-10 17:27:55 +02:00
0ccd0c0e99 Enforces mail.compose.add_link_preview 2022-09-10 17:27:50 +02:00
d778e6d7b6 Adds corresponding SETTING tag for mail.default_send_format 2022-09-10 14:20:05 +02:00
902231ecf0 Restores two preferences in section 2700
`privacy.antitracking.enableWebcompat` & `privacy.partition.serviceWorkers` are actually present in TB ESR 102.
2022-09-10 14:19:29 +02:00
ea3c48a7a9 Leaves app.use_without_mail_account disabled not to hide emails UI
> See <https://searchfox.org/comm-esr102/rev/d9800535d0b488462c8ae64f7fe6647cc42535e1/mail/base/content/msgMail3PaneWindow.js#714-722>

Co-Authored-By: Dupond <Dupond@users.noreply.github.com>
2022-09-03 10:00:56 +02:00
f885b50de5 Removes unnecessary leading spaces in some documentation lines 2022-08-24 10:22:54 +02:00
255ccd84ae Applies Arkenfox v102.0..v102.1 migration 2022-08-24 10:22:53 +02:00
0abbda8e39 Adds mail.biff.show_alert and mail.biff.alert.show_* preferences 2022-08-24 10:22:36 +02:00
03c86462d8 Disables new calendar.extract.service.enabled preference 2022-08-24 10:22:36 +02:00
838529ffbd Cleans outdated 0300 section documentation (related to auto-install) 2022-08-24 10:22:36 +02:00
5387c41c91 Gets rid of mail.calendar-integration.opt-out (removed in TB 68 ESR) 2022-08-24 10:22:36 +02:00
22efe76834 Gets rid of calendar.useragent.extra (removed in TB 78 ESR) 2022-08-24 10:22:36 +02:00
fdcaf8570b Adds mail.biff.use_new_count_in_badge to template (left to default) 2022-08-24 10:22:36 +02:00
5caedc08de Switches to mail.default_send_format to send plaintext email (v101)
Thunderbird 101 replaced legacy `mail.default_html_action` and
`mailnews.sendformat.auto_downgrade` by `mail.default_send_format` new
preference to choose email sending format.

Whereas a proper "migration" is performed on first start, we stick to
plaintext email enforcement in this template, as done before.

See <https://bugzilla.mozilla.org/show_bug.cgi?id=1727493>.

> see #21
2022-08-24 10:22:36 +02:00
5a787eb8ce Adds mail.compose.warn_public_recipients.* preferences
* Adds `mail.compose.warn_public_recipients.threshold` with its default value
* Enables `mail.compose.warn_public_recipients.aggressive` to show an alert if previous setting warning has not be addressed (v93+)
2022-08-24 10:22:36 +02:00
39aaee7fa3 Allows Thunderbird to be used without any configured email account (v93) 2022-08-24 10:22:36 +02:00
4dc99eb87f Applies Arkenfox v91..v102 migration
> **WORK IN PROGRESS FOR ESR 102 : DO NOT USE IT AS IS**

Migration status :
    * updated README
    * updated header
    * updated index
    * updated sections
2022-08-24 10:22:35 +02:00
e95dc540c9 [META] Bumps to v91.2 2022-08-24 10:10:01 +02:00
6c5d84bc89 Leaves mail.tabs.autoHide to its default value (disabled)
This preference is strictly _personal_ and should not be enforced in the
template.

> see #21
> closes #25
2022-08-24 10:09:15 +02:00
db12db282f Improves permissions.memory_only preference documentation
* Replaces `NOTE` tag by a proper `SETUP-CHROME` as it affects Thunderbird runtime behavior
* Mentions that reading from disk gets disabled too
* Mentions that "remote mail content" permissions are also affected

> see #23
2022-07-18 19:56:56 +02:00
f8466f15dd When "HTML" literal is used in documentation, prefers its uppercase form
This will simplify lookups when case-sensitivity matching is enabled.
2022-06-11 12:20:49 +02:00
68628a397a [META] Bumps to v91.1 2022-05-25 09:06:16 +02:00
fb31ebb304 Prefers "personal" section (9000) for mail.compose.other.header pref
> followup for e5fdab03ee.
2022-05-25 09:05:55 +02:00
50afdb9a57 Enforces mail.suppress_content_language & mail.sanitize_date_header
> closes #19
2022-05-23 18:49:57 +02:00
5c59028af9 Adds a note about empty User-Agent breaking Microsoft Exchange OAuth2
> See #19.
2022-05-23 17:06:03 +02:00
e5fdab03ee Adds mail.compose.other.header preference to template
> See #19.
2022-05-23 16:59:43 +02:00
f45c0a3d75 [CI] Bumps actions/checkout and actions/setup-node to v3 2022-04-23 11:52:24 +02:00
6 changed files with 549 additions and 748 deletions

36
.eslint.config.mjs Normal file
View File

@ -0,0 +1,36 @@
// Thunderbird User.JS ESLint configuration file
import js from "@eslint/js";
export default [
js.configs.recommended,
{
rules: {
// Expect only double-quoted strings.
quotes: ["error", "double"],
// Expect a semicolon after each statement.
semi: ["error", "always", {"omitLastInOneLineBlock": false}],
// As project code style, don't allow tabulation nor trailing whitespaces.
"no-tabs": "error",
"no-trailing-spaces": "error",
// Don't allow whitespace before semicolons.
"semi-spacing": ["error", {"before": false}],
// Don't allow irregular whitespace characters in our sheet.
"no-irregular-whitespace": ["error", {"skipStrings": false, "skipComments": false}],
},
languageOptions: {
// From <https://searchfox.org/mozilla-central/rev/c938c7416c633639a5c8ce4412be586eefb48005/modules/libpref/parser/src/lib.rs#296>
globals: {
pref: "readonly",
user_pref: "readonly",
sticky: "readonly",
locked: "readonly",
sticky_pref: "readonly",
},
},
},
];

View File

@ -1,45 +0,0 @@
%YAML 1.2
---
root: true
extends: 'eslint:recommended'
globals:
# From <https://searchfox.org/mozilla-central/rev/c938c7416c633639a5c8ce4412be586eefb48005/modules/libpref/parser/src/lib.rs#296>
pref: true
user_pref: true
sticky: true
locked: true
sticky_pref: true
rules:
# Expect a semicolon after each statement.
semi:
- "error"
- "always"
-
omitLastInOneLineBlock: false
# As internal code style, don't allow tabulation.
no-tabs: "error"
# ... nor trailing spaces !
no-trailing-spaces: "error"
# Expect only double-quoted strings.
quotes:
- "error"
- "double"
# Don't allow whitespace before semicolons.
semi-spacing:
- "error"
-
before: false
# Don't allow irregular whitespace characters in our sheet.
no-irregular-whitespace:
- "error"
-
skipStrings: false
skipComments: false

View File

@ -9,9 +9,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- uses: actions/setup-node@v2
- uses: actions/setup-node@v4
- run: npm install -g eslint
- run: eslint user.js
- run: npm install eslint @eslint/js
- run: npx eslint -c .eslint.config.mjs user.js

View File

@ -1,6 +1,6 @@
MIT License
Copyright (c) 2019-2022 HorlogeSkynet
Copyright (c) 2019-2024 HorlogeSkynet
Copyright (c) 2019 dngray
Copyright (c) 2019 arkenfox [prev. ghacksuserjs]

View File

@ -2,18 +2,17 @@
> Thunderbird privacy, security and anti-fingerprinting: a comprehensive user.js template for configuration and hardening
### :purple_square: user.js
### 🟪 user.js
An `user.js` is a configuration file that can control hundreds of Thunderbird settings.
For a more technical breakdown and explanation, you can read more on the [overview](https://github.com/HorlogeSkynet/thunderbird-user.js/wiki/1.1-Overview) Wiki page.
An `user.js` is a configuration file that can control Thunderbird settings - for a more technical breakdown and explanation, you can read more in the [wiki](https://github.com/HorlogeSkynet/thunderbird-user.js/wiki/1.1-Overview).
### :green_square: Thunderbird user.js
### 🟩 Thunderbird user.js
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
The `thunderbird user.js` is a **template** which aims to provide as much privacy and enhanced security as possible, and to reduce tracking and fingerprinting as much as possible - while minimizing any loss of functionality and breakage (but it will happen).
Everyone, experts included, should at least read the [implementation](https://github.com/HorlogeSkynet/thunderbird-user.js/wiki/1.3-Implementation) wiki page.
Everyone, experts included, should at least read the [wiki](https://github.com/HorlogeSkynet/thunderbird-user.js/wiki), as it contains important information regarding a few `user.js` settings.
It differs from the `arkenfox user.js` in that the focus is to keep Thunderbird as an **e-mail client** and disable as many web browsing features as possible. We believe web browsing should be done in a web browser, and not an email client.
@ -22,23 +21,22 @@ It differs from the `arkenfox user.js` in that the focus is to keep Thunderbird
- For information about [extensions](https://github.com/HorlogeSkynet/thunderbird-user.js/wiki/4.1-Extensions), see the Wiki.
- **Calendar** users should [see this page](https://github.com/HorlogeSkynet/thunderbird-user.js/wiki/4.1.1-Calendar).
Also be aware that this `user.js` is made specifically for Thunderbird and has only been tested in the latest stable release.
Also be aware that this `user.js` is made specifically for Thunderbird and is only being tested against releases with extended support (ESR).
### :orange_square: Sitemap
### 🟧 Sitemap
- [Releases](https://github.com/HorlogeSkynet/thunderbird-user.js/releases)
- [Issues](https://github.com/HorlogeSkynet/thunderbird-user.js/issues)
- [Wiki](https://github.com/HorlogeSkynet/thunderbird-user.js/wiki)
### :red_square: Acknowledgments
### 🟥 Acknowledgments
* @tya99 most of the ground work and initial port from the Firefox version of [arkenfox user.js](https://github.com/arkenfox/user.js)
* [@dngray](https://github.com/dngray) continual maintenance and Wiki
* [@HorlogeSkynet](https://github.com/HorlogeSkynet) continual maintenance
### :blue_square: Related Projects
### 🟦 Related Projects
* [Privacy Handbuch](https://www.privacy-handbuch.de/handbuch_31p.htm)
* [Privacy Haters](http://r-36.net/scm/privacy-haters/file/README.md.html)
* [12bytes.org's user-overrides.js](https://codeberg.org/12bytes.org/thunderbird-user.js-supplement)
* ~~CHEF-KOCH/TBCK~~
* [12bytes's user-overrides.js](https://codeberg.org/12bytes/thunderbird-user.js-supplement)

1186
user.js

File diff suppressed because it is too large Load Diff