Skip to content

Commit 8408458

Browse files
Formatting
1 parent 6b5ad73 commit 8408458

1 file changed

Lines changed: 52 additions & 10 deletions

File tree

README.md

Lines changed: 52 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,71 @@ Copyright (C) 2021 Giorgio Maone <https://maone.net>
44
SPDX-License-Identifier: GPL-3.0-or-later
55
-->
66

7-
# NoScript Commmons Library
7+
# <img src = 'https://raw.githubusercontent.com/hackademix/nscl/main/nscl-logo.png' width = '38'/> NSCL  [![Badge License]][License]
88

9-
### What
9+
**[NoScripts]** Commons Library
1010

11-
A collection of reusable modules, APIs and documentation designed to facilitate the cross-browser development and maintenance of privacy and security browser extensions, helping them survive the restrictions imposed by Google's [Manifest V3](https://developer.chrome.com/extensions/migrating_to_manifest_v3) on Chromium-based browser, but in perspective on Firefox-based ones too, should Mozilla be forced to compromise and downgrade their WebExtensions API to some extent for compatibility's sake. Furthermore, it will aid developers porting and/or maintaining extensions on mobile browsers, such as the new Firefox for Android (code-name "Fenix"), which support just a subset of the APIs available on the desktop.
11+
*A collection containing* ***Documentation*** *,* ***Modules*** *and* ***APIs*** <br>
12+
*designed to for* ***cross-browser*** *development / maintenance* <br>
13+
*of privacy / security extensions.*
1214

13-
### Why
15+
---
1416

15-
By abstracting the common functionality shared among security and privacy extensions, providing consistent implementations across multiple browser engines and shielding developers from the browser-dependent implementation details (which precisely in the most optimistic scenario, i.e. Firefox keeping its WebExtensions API as powerful as it is, are doomed to diverge dramatically), this library aims to minimize the additional maintenance burden and mitigate the danger of introducing new, insidious bugs and security vulnerabilities due to features mismatches and multiple code paths.
17+
**[Issues] ⸥ ⸢ [General Discussions]**
18+
19+
---
20+
21+
## Integration
22+
23+
- Add this repository as a **[Git Submodule]**
24+
- Integrate the [`include.sh`][Include] script into your build workflow
25+
26+
---
1627

17-
Cross-browser issues have a chance to be fixed or worked around in one single place, ideally with the help of multiple developers sharing the same requirements. The solutions will be subject to automated tests to timely catch regressions, especially those caused by further changes in the APIs provided by the different browsers. The residual browser-specific differences, compromises and corner cases which couldn't be addressed at all, or without significant performance penalties, are clearly benchmarked and documented, to make both developers and users well aware of the limitations imposed by each browser and capable of educated decisions, tailored to their security and privacy needs. This transparency should pressure browser vendors into increasing their support level, when they're are publicly shown to be measurably lacking in comparison with their competitors.
28+
## Why
1829

19-
### How
30+
As **Google** is imposing **[Manifest V3]** on *chromium-based browsers* <br>
31+
and **Mozilla** may comply and downgrade their **WebExtensions API** <br>
32+
for compatibility sake as well, developers now have to struggle with <br>
33+
the limited tool-set that remains.
2034

21-
To start using the NSCL, just add this repository as a git [submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules) and integrate the [include.sh](https://github.com/hackademix/nscl/blob/main/include.sh) script in your browser extensions building workflow.
35+
This library tries to alleviate some of these problems.
2236

23-
Please use the [issue tracker](https://github.com/hackademix/nscl/issues) here for bug reports and RFEs, and [this forum](https://forums.informaction.com/viewforum.php?f=27) for general discussion.
37+
---
2438

25-
![NoScript Commons Library](https://raw.githubusercontent.com/hackademix/nscl/main/nscl-logo.png)
39+
## Mobile
40+
41+
This library is also useful in the aspect of porting / maintaining extension <br>
42+
for mobile browser, such as the `Fenix` Android browser, considering that <br>
43+
often only a small subset of the desktop **APIs** are supported.
44+
45+
---
46+
47+
## Details
48+
49+
By abstracting the common functionality shared among security and privacy extensions, providing consistent implementations across multiple browser engines and shielding developers from the browser-dependent implementation details (which precisely in the most optimistic scenario, i.e. Firefox keeping its WebExtensions API as powerful as it is, are doomed to diverge dramatically), this library aims to minimize the additional maintenance burden and mitigate the danger of introducing new, insidious bugs and security vulnerabilities due to features mismatches and multiple code paths.
50+
51+
Cross-browser issues have a chance to be fixed or worked around in one single place, ideally with the help of multiple developers sharing the same requirements. The solutions will be subject to automated tests to timely catch regressions, especially those caused by further changes in the APIs provided by the different browsers.
52+
53+
The residual browser-specific differences, compromises and corner cases which couldn't be addressed at all, or without significant performance penalties, are clearly benchmarked and documented, to make both developers and users well aware of the limitations imposed by each browser and capable of educated decisions, tailored to their security and privacy needs. This transparency should pressure browser vendors into increasing their support level, when they're are publicly shown to be measurably lacking in comparison with their competitors.
2654

2755
#### Security reports
2856

2957
We strive to fix security sensitive issues in the shortest time possible (hours, ideally) while protecting users.
3058
If you've find one, please report privately at [security@noscript.net](mailto:security@noscript.net).
3159
To ensure confidentiality and protect users, please encrypt your report with this __PGP key__:
3260
3359 0391 70A3 CD9B 25CF 5A46 231A 83AF DA9C 2434.
61+
62+
<!----------------------------------------------------------------------------->
63+
64+
[NoScripts]: https://github.com/hackademix/noscript
65+
[Issues]: https://github.com/hackademix/nscl/issues
66+
67+
[License]: ./LICENSE
68+
[Include]: ./include.sh
69+
70+
[Badge License]: https://img.shields.io/badge/License-GPLv3-blue.svg
71+
72+
[General Discussions]: https://forums.informaction.com/viewforum.php?f=27
73+
[Manifest V3]: https://developer.chrome.com/extensions/migrating_to_manifest_v3
74+
[Git Submodule]: https://git-scm.com/book/en/v2/Git-Tools-Submodules

0 commit comments

Comments
 (0)