mirror of
https://github.com/HorlogeSkynet/thunderbird-user.js.git
synced 2025-11-05 07:45:25 +01:00
Compare commits
156 Commits
v60
...
version/11
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
824edabe63 | ||
|
|
48529d1963 | ||
|
|
c6fef1356e | ||
|
|
ebeb8cf3fb | ||
|
|
ee7649a8b4 | ||
|
|
7390a8056c | ||
|
|
e6c5df30f2 | ||
|
|
ad0cac10b2 | ||
|
|
d6b18302e4 | ||
|
|
ee80afc278 | ||
|
|
3996c279fd | ||
|
|
088da14f7e | ||
|
|
87b0d325e2 | ||
|
|
5a59c1b7e7 | ||
|
|
167ddc02be | ||
|
|
8bd612fd82 | ||
|
|
fc144d3cb1 | ||
|
|
ac8a715b06 | ||
|
|
439e5b5e7d | ||
|
|
07d26c7881 | ||
|
|
d2283b8c91 | ||
|
|
32afc0b38d | ||
|
|
32663905d0 | ||
|
|
4f5cde426c | ||
|
|
cc6cab6525 | ||
|
|
eba6bc4dea | ||
|
|
d8d79d6c84 | ||
|
|
494f684d74 | ||
|
|
8970a6fda1 | ||
|
|
08713b3ea9 | ||
|
|
a3a5c4ad86 | ||
|
|
6798bda078 | ||
|
|
c1e6a54f75 | ||
|
|
0dcc49687f | ||
|
|
0ccd0c0e99 | ||
|
|
d778e6d7b6 | ||
|
|
902231ecf0 | ||
|
|
ea3c48a7a9 | ||
|
|
f885b50de5 | ||
|
|
255ccd84ae | ||
|
|
0abbda8e39 | ||
|
|
03c86462d8 | ||
|
|
838529ffbd | ||
|
|
5387c41c91 | ||
|
|
22efe76834 | ||
|
|
fdcaf8570b | ||
|
|
5caedc08de | ||
|
|
5a787eb8ce | ||
|
|
39aaee7fa3 | ||
|
|
4dc99eb87f | ||
|
|
e95dc540c9 | ||
|
|
6c5d84bc89 | ||
|
|
db12db282f | ||
|
|
f8466f15dd | ||
|
|
68628a397a | ||
|
|
fb31ebb304 | ||
|
|
50afdb9a57 | ||
|
|
5c59028af9 | ||
|
|
e5fdab03ee | ||
|
|
f45c0a3d75 | ||
|
|
c4172ac672 | ||
|
|
e8f584b901 | ||
|
|
9b7b22420d | ||
|
|
8719ad5a37 | ||
|
|
7ffec7ed57 | ||
|
|
2d82b7cc0c | ||
|
|
c41232b1c3 | ||
|
|
c96eed17c0 | ||
|
|
616c2b1553 | ||
|
|
fc22408d19 | ||
|
|
1196a9ce4f | ||
|
|
714fd1898f | ||
|
|
dcf351aa96 | ||
|
|
de8048fea6 | ||
|
|
3580cfd3c4 | ||
|
|
c54c059011 | ||
|
|
a492b510df | ||
|
|
f7788b2c8a | ||
|
|
ac43ee758d | ||
|
|
74735518be | ||
|
|
881a339584 | ||
|
|
efe11df8e4 | ||
|
|
5a1ff8ddfa | ||
|
|
57073e7516 | ||
|
|
68b3e25656 | ||
|
|
e639a79445 | ||
|
|
3b2afdd532 | ||
|
|
5342ec1619 | ||
|
|
f675a006d5 | ||
|
|
d3308d2f5f | ||
|
|
7c8504b6d0 | ||
|
|
d169ad4ba8 | ||
|
|
d35ac2f330 | ||
|
|
3c70f08468 | ||
|
|
7f3b35ca64 | ||
|
|
b8ef724bb0 | ||
|
|
5f8cb09775 | ||
|
|
0ca3d51157 | ||
|
|
aa773053bf | ||
|
|
d751f49340 | ||
|
|
b600990f30 | ||
|
|
6d624b759e | ||
|
|
e7086e6b5f | ||
|
|
894ae0d78b | ||
|
|
a6a674ad37 | ||
|
|
700f90e954 | ||
|
|
352394a62f | ||
|
|
fc6ea5582f | ||
|
|
428fa861b9 | ||
|
|
148bfac882 | ||
|
|
13b544b208 | ||
|
|
667189eedb | ||
|
|
b4a7a771ec | ||
|
|
e859c40916 | ||
|
|
b36710a76e | ||
|
|
ba65d33451 | ||
|
|
accbfcc009 | ||
|
|
5ee06c6d89 | ||
|
|
8591d9b2c8 | ||
|
|
ac6137d6f4 | ||
|
|
7bc7c89ac7 | ||
|
|
52d0864e41 | ||
|
|
37066f8c06 | ||
|
|
787ca411fb | ||
|
|
68d36833f7 | ||
|
|
f9413919b5 | ||
|
|
b58655a422 | ||
|
|
08b2bf9467 | ||
|
|
bc1a74afa7 | ||
|
|
8c2ef50da0 | ||
|
|
3cd96847ca | ||
|
|
10b1bb2b7c | ||
|
|
1692de442c | ||
|
|
a9b0166323 | ||
|
|
ce8dfe3329 | ||
|
|
30848dd7e7 | ||
|
|
b90bbe45b2 | ||
|
|
5ede0acaaa | ||
|
|
eb8cade42e | ||
|
|
c57ead1b76 | ||
|
|
3ce96df737 | ||
|
|
49921ed98c | ||
|
|
5f9bf7f88d | ||
|
|
989a0f9447 | ||
|
|
c549b95263 | ||
|
|
634914c41f | ||
|
|
59d8211ff4 | ||
|
|
3fa04abd7a | ||
|
|
bc6e3335f9 | ||
|
|
d51c67fc70 | ||
|
|
9d9fb07b8e | ||
|
|
d5459932b4 | ||
|
|
1d418ff6fc | ||
|
|
791f8fc34a | ||
|
|
2280e84bfe | ||
|
|
d78aa86ede |
36
.eslint.config.mjs
Normal file
36
.eslint.config.mjs
Normal 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",
|
||||
},
|
||||
},
|
||||
},
|
||||
];
|
||||
4
.github/FUNDING.yml
vendored
Normal file
4
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
# repo: HorlogeSkynet/thunderbird-user.js
|
||||
# filename: FUNDING.YML
|
||||
|
||||
liberapay: HorlogeSkynet
|
||||
38
.github/ISSUE_TEMPLATE/bug.md
vendored
Normal file
38
.github/ISSUE_TEMPLATE/bug.md
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve Thunderbird User.JS
|
||||
title: "[BUG] "
|
||||
labels: 'bug'
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
<!-- A clear and concise description of what the bug is. -->
|
||||
|
||||
|
||||
**Expected behavior**
|
||||
<!-- A clear and concise description of what you expected to happen. -->
|
||||
|
||||
|
||||
**Screenshots**
|
||||
<!-- If applicable (i.e. graphical glitch), add screenshots to help explain your problem. -->
|
||||
|
||||
|
||||
**Environment**
|
||||
<!-- Please complete the following information: -->
|
||||
- Thunderbird version used (X.Y.Z) :
|
||||
- `thunderbird user.js` template version used (X.Y or commit SHA) :
|
||||
- Operating system and version :
|
||||
- \[IF RELEVANT\] Graphical environment name and version :
|
||||
|
||||
|
||||
**Additional context**
|
||||
<!-- If applicable, add any other context about the problem here. -->
|
||||
|
||||
|
||||
**Checklist**
|
||||
<!--- Put an `X` in all the boxes that apply : -->
|
||||
- [ ] I can confirm the bug is due to `thunderbird user.js` **template** and not an overridden preference nor an add-on ;
|
||||
- [ ] I have searched for `[SETUP-*]` tags and read them up ;
|
||||
- [ ] I have searched the GitHub project (issues and Wiki) for my issue.
|
||||
30
.github/ISSUE_TEMPLATE/change_request.md
vendored
Normal file
30
.github/ISSUE_TEMPLATE/change_request.md
vendored
Normal file
@@ -0,0 +1,30 @@
|
||||
---
|
||||
name: Change request
|
||||
about: Suggest a change for Thunderbird User.JS
|
||||
title: "[RFC] "
|
||||
labels: 'enhancement'
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
<!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->
|
||||
|
||||
|
||||
**List the concerned preferences**
|
||||
<!-- A clear and concise list of the preferences you want to add/remove/change. -->
|
||||
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
<!-- A clear and concise description of any alternative solutions or features you've considered. -->
|
||||
|
||||
|
||||
**Additional context**
|
||||
<!-- Add any other context (Thunderbird version, OS, etc.) or screenshots about the feature request here. -->
|
||||
|
||||
|
||||
**Checklist**
|
||||
<!--- Put an `X` in all the boxes that apply : -->
|
||||
- [ ] I know `thunderbird user.js` is a **template** and personal preferences should be stored elsewhere ;
|
||||
- [ ] The change I want to propose should globally improve the `usability / ( privacy + security + anti-fingerprinting )` ratio ;
|
||||
- [ ] I agree that subsequent modifications to my change scope may occur in the future.
|
||||
28
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
28
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
<!--- Provide a general summary of your changes in the title above -->
|
||||
|
||||
|
||||
## Description
|
||||
<!--- Describe your changes in detail -->
|
||||
|
||||
|
||||
## Reason and / or context
|
||||
<!--- Why is this change required ? What problem does it solve ? -->
|
||||
<!--- If it fixes an open issue, please link to the issue here -->
|
||||
|
||||
|
||||
## How has this been tested ?
|
||||
<!--- Include details of your testing environment here -->
|
||||
|
||||
|
||||
## Types of changes :
|
||||
<!--- What types of changes does your code introduce ? Put an `X` in all the boxes that apply : -->
|
||||
- [ ] Bug fix (non-breaking change which fixes an issue)
|
||||
- [ ] Typo / style fix (non-breaking change which improves readability)
|
||||
- [ ] New feature (non-breaking change which adds functionality)
|
||||
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
|
||||
|
||||
## Checklist :
|
||||
<!--- Put an `X` in all the boxes that apply : -->
|
||||
- [ ] My changes looks good ;
|
||||
- [ ] I agree that my code may be modified in the future ;
|
||||
- [ ] My code follows the code style of this project (see `.eslintrc.yml`).
|
||||
17
.github/workflows/linting.yml
vendored
Normal file
17
.github/workflows/linting.yml
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
---
|
||||
name: Linting
|
||||
|
||||
on: [push, pull_request]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Run ESLint on user.js
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-node@v4
|
||||
|
||||
- run: npm install eslint @eslint/js
|
||||
- run: npx eslint -c .eslint.config.mjs user.js
|
||||
4
LICENSE
4
LICENSE
@@ -1,6 +1,8 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2019 ghacksuserjs
|
||||
Copyright (c) 2019-2024 HorlogeSkynet
|
||||
Copyright (c) 2019 dngray
|
||||
Copyright (c) 2019 arkenfox [prev. ghacksuserjs]
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
49
README.md
49
README.md
@@ -1,17 +1,42 @@
|
||||
### :large_blue_diamond: user.js
|
||||
A `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/dngray/ghacks-thunderbird-user.js/wiki/1.1-Overview) wiki page.
|
||||
# Thunderbird User.JS
|
||||
|
||||
### :large_blue_diamond: thunderbird user.js
|
||||
The Thunderbird `user.js` is a **template** which aims to provide as much privacy and enhanced security as possible. It differs from the `ghacks user.js` in that the focus is to keep Thunderbird as an **email 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.
|
||||
> Thunderbird privacy, security and anti-fingerprinting: a comprehensive user.js template for configuration and hardening
|
||||
|
||||
- If you're using Thunderbird with Tor we suggest that you install the [TorBirdy](https://addons.thunderbird.net/addon/torbirdy) addon. If you are using Tor, you should also consider using [Tails](https://tails.boum.org/) or [Whonix](https://www.whonix.org/).
|
||||
- If you're a **Gmail** user see [this article about OAuth2](https://github.com/dngray/ghacks-thunderbird-user.js/wiki/3.1-OAuth2-Users).
|
||||
- For information about [extensions](https://github.com/dngray/ghacks-thunderbird-user.js/wiki/4.1-Extensions), see the wiki. **Calendar** users should [see this page](https://github.com/dngray/ghacks-thunderbird-user.js/wiki/4.1.1-Calendar).
|
||||
### 🟪 user.js
|
||||
|
||||
Also be aware that this `user.js` is made specifically for Thunderbird and has only been tested in the latest stable release.
|
||||
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).
|
||||
|
||||
### :large_blue_diamond: acknowledgments
|
||||
* [tya99](https://github.com/tya99) most of the ground work and initial port from the Firefox version of [ghacks user.js](https://github.com/ghacksuserjs/ghacks-user.js)
|
||||
* [dngray](https://github.com/dngray) continual maintenance and Wiki
|
||||
### 🟩 Thunderbird user.js
|
||||
|
||||
### :large_blue_diamond: [](https://opensource.org/licenses/MIT)
|
||||
[](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 [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.
|
||||
|
||||
- If you're using Thunderbird (< 68) with Tor we suggest that you install the [TorBirdy](https://addons.thunderbird.net/addon/torbirdy) add-on. If you are using Tor, you should also consider using [Tails](https://tails.boum.org/) or [Whonix](https://www.whonix.org/).
|
||||
- If you're using **Gmail**, please check [this article about OAuth2](https://github.com/HorlogeSkynet/thunderbird-user.js/wiki/3.1-OAuth2-Users).
|
||||
- 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 is only being tested against releases with extended support (ESR).
|
||||
|
||||
### 🟧 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)
|
||||
|
||||
### 🟥 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
|
||||
|
||||
### 🟦 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's user-overrides.js](https://codeberg.org/12bytes/thunderbird-user.js-supplement)
|
||||
|
||||
Reference in New Issue
Block a user