4
6
Fork
You've already forked webextension
3
This is the official repository for JShelter webextension
  • JavaScript 66.1%
  • Python 20.1%
  • HTML 6.2%
  • Shell 3.3%
  • CSS 2.9%
  • Other 1.4%
Libor Polčák 298e1a7aaf 0.24.3
Firefox-only: [Update NSCL to 13.6.27.901](https://lists.nongnu.org/archive/html/js-shield/2026-07/msg00007.html), Fix TypeError: newTarget is not a function (SyncMessage.js:710:26)
2026年07月05日 09:29:29 +02:00
.github/ISSUE_TEMPLATE Add issue template for Github mirror repository 2022年04月22日 10:03:25 +02:00
.reuse Improve reuse compliance 2022年05月12日 15:29:52 +02:00
chrome 0.24.1 release 2026年07月03日 12:14:31 +02:00
common Creating new translation file uk from Weblate 2026年07月03日 12:07:05 +02:00
firefox 0.24.3 2026年07月05日 09:29:29 +02:00
LICENSES Improve reuse compliance 2022年05月12日 15:29:52 +02:00
logos_images/store_imgs Update store screenshots 2022年03月16日 17:01:58 +01:00
nscl @a5bb9d3a93 Update NSCL to 13.6.27.901 2026年07月05日 09:19:24 +02:00
tests Merge development branches 2026年07月01日 15:02:02 +02:00
tools/i18n weblate2main.py: Fix error with missing description in base locales 2025年06月09日 08:47:37 +02:00
wasm wS-WEBA: Slightly change audioFarble function 2026年07月01日 13:57:49 +02:00
website 0.24.3 2026年07月05日 09:29:29 +02:00
.editorconfig Add .editorconfig reflecting CODING_STYLE 2026年06月01日 11:32:33 +02:00
.gitignore Add .editorconfig reflecting CODING_STYLE 2026年06月01日 11:32:33 +02:00
.gitmodules nscl submodule path update 2021年06月10日 11:48:32 +02:00
code_of_conduct.md CoC: update the e-mail to report abuse 2022年04月11日 14:04:54 +02:00
CODING_STYLE CODING_STYLE: Reflect PEP8 for Python 2026年06月01日 10:59:56 +02:00
CODING_STYLE.license Make the project Reuse compliant 2021年06月10日 13:57:39 +02:00
doxyfile Update project name in doxyfile to JShelter 2024年09月27日 10:19:37 +02:00
DoxygenLayout.xml Update DoxygenLayout to accomodate changes naming scheme 2024年09月27日 09:53:43 +02:00
DoxygenLayout.xml.license Make the project Reuse compliant 2021年06月10日 13:57:39 +02:00
fix_manifest.sh [mv3] Move wrappers code generation from content script to ServiceWorker. 2024年07月22日 22:44:09 +02:00
fix_wasm_farbling.sh fix_wasm_farbling: remove debug output 2025年05月02日 15:17:47 +02:00
generate_fpd.sh generate_fpd.sh: Use GNU sed if available 2024年02月28日 12:26:28 +01:00
generate_wrappers.js Propagate code_builders changes in 3e02571ffd to generate_wrappers.js 2026年05月29日 16:33:29 +02:00
LICENSE.md Update the GPL text as markdown 2021年02月12日 17:32:14 +01:00
make_release.sh make_release.sh: Update to codeberg 2026年06月01日 12:25:55 +02:00
Makefile Makefile: Remove NSCL log messages 2026年06月09日 09:22:51 +02:00
README.md Add funding section to the README 2026年05月05日 13:42:44 +02:00

Disclaimer: This is a research project under development, see the issue page and the webextension home page for more details about the current status.

What is JShelter?

JShelter is a browser extension to give back control over what your browser is doing. A JavaScript-enabled web page can access much of the browser's functionality, with little control over this process available to the user: malicious websites can uniquely identify you through fingerprinting and use other tactics for tracking your activity. JShelter aims to improve the privacy and security of your web browsing.

How does it work?

Like a firewall that controls network connections, JShelter controls the APIs provided by the browser, restricting the data that they gather and send out to websites. JShelter adds a safety layer that allows the user to choose if a certain action should be forbidden on a site, or if it should be allowed with restrictions, such as reducing the precision of geolocation to the city area. This layer can also aid as a countermeasure against attacks targeting the browser, operating system or hardware.

How can I get started?

JShelter is a browser extension with support for multiple browsers: Firefox, Google Chrome, and Opera. The extension also works with Brave, Microsoft Edge, and most likely any Chromium-based browser. Let us know if you want to add the extension to additional stores.

See our website for additional information and documentation. We recommend reading our paper to get a better idea about the project.

Contributing

If you have any questions or you have spotted a bug, please let us know. If you found a security bug that you do not want to share publicly, please, send a report to jshelter@gnu.org.

If you would like to give us feedback, we would really appreciate it.

If you want to add a new wrapper, please, follow the guide. If you have an image/artwork that you want to push to the project, we suggest stripping exif data:

exiftool -all= -tagsfromfile @ -Orientation filename.png

If you want to translate JShelter to a new language or improve an existing translation, go to Weblate.

License Information

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 3 of the License, or (at your option) any later version.

Funding

This project is funded through the NGI Zero Commons fund established with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101092990, under the aegis of DG Communications Networks, Content and Technology as JShelter UX.

This project was funded through the NGI0 Entrust Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101069594.

This project was funded through the NGI0 PET Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 825310 as JavaScript Restrictor and JShelter projects.

This project was supported by the MV CR VI20172020062 project.