diff --git a/README.md b/README.md index 965ef05b..c601a8d1 100644 --- a/README.md +++ b/README.md @@ -2,49 +2,42 @@ [![Translate](https://www.localcdn.org/badges/translation.svg)](https://hosted.weblate.org/projects/localcdn/localcdn/) [![CDNs](https://www.localcdn.org/badges/cdn.svg)](https://codeberg.org/nobody/LocalCDN/src/branch/main/core/mappings.js) [![Frameworks](https://www.localcdn.org/badges/frameworks.svg)](https://codeberg.org/nobody/LocalCDN/src/branch/main/resources/) -A web browser extension (and a fork of Decentraleyes) that emulates Content Delivery Networks to improve your online privacy. It intercepts traffic, finds supported resources locally, and injects them into the environment. All of this happens automatically, so no prior configuration is required. Feel free to use the following [testing utility](https://www.localcdn.org/test/) to find out if you are properly protected. For more information, please read the [tutorial](https://www.localcdn.org/tutorial) or our [Wiki pages](https://codeberg.org/nobody/LocalCDN/wiki). You can also [download](https://addons.mozilla.org/en-US/firefox/addon/localcdn-fork-of-decentraleyes/) the extension directly from Mozilla and just try it. +A web browser extension (and a fork of Decentraleyes) that emulates Content Delivery Networks to improve your online privacy. It intercepts traffic, finds supported resources locally, and injects them into the environment. All of this happens automatically, so no prior configuration is required. Feel free to use the following [testing utility](https://www.localcdn.org/test/) to find out if you are properly protected. For more information, please read the [tutorial](https://www.localcdn.org/tutorial) or the [Wiki](https://codeberg.org/nobody/LocalCDN/wiki). You can also [download](https://addons.mozilla.org/en-US/firefox/addon/localcdn-fork-of-decentraleyes/) the extension directly from Mozilla and just try it. -## How does it work? +### What are the advantages? + +* Supports cloud storage by browsers sync feature (Firefox Sync or own Sync-Server) if enabled +* Removes integrity and crossorigin tags from embedded script and style elements to replace even more frameworks +* Font Awesome +* Google Material Icons +* jQuery up to 3.5.1 +* Bootstrap CSS +* Bootstrap JavaScript +* AngularJS, AngularJS-Animate, AngularJS-Sanitize, AngularJS-Cookies and AngularJS-Touch +* React, Vue.js, Chart.js and many other frameworks/libraries +* Internal statistics about CDNs and frameworks (day, week, month, year) +* Export/Import your config (day, week, month, year) +* Prepared rules for uBlock Origin, uMatrix and AdGuard + +> **Note:** LocalCDN is no silver bullet, but it does prevent a lot of websites from making you send these kinds of requests. Ultimately, you can make LocalCDN block requests for any missing CDN resources, too. + +#### How does it work? LocalCDN uses redirection for certain requests. There is a [mapping file](https://codeberg.org/nobody/LocalCDN/src/branch/main/core/mappings.js#L71) that lists the source (all CDNs and the path to the frameworks) and a [resource file](https://codeberg.org/nobody/LocalCDN/src/branch/main/core/resources.js#L328) that defines the destination. Currently only JavaScript and CSS files are redirected. However, some CSS files internally refer to other files, e.g. Font Awesome. All requests are redirected to a local file, e.g. [jQuery](https://codeberg.org/nobody/LocalCDN/src/branch/main/resources/jquery). This is the reason why the extension is currently 10 MB in size. Only if LocalCDN cannot find a local resource (and the option is enabled), a request will be blocked. An adblocker (e.g. uBlock Origin, uMatrix or AdGuard) decides which requests are allowed. Only if your adblocker allows a request, it will be intercepted by LocalCDN. LocalCDN catches the request after an adblocker and not before. -## Differences between LocalCDN and Decentraleyes +## What's the different of LocalCDN in comparison to other CDN emulators? -LocalCDN based on Decentraleyes. It includes more frameworks and more CDNs: +#### LocalCDN +[LocalCDN](screenshots/replacement_html_filter_off.png) -* Supports cloud storage by browsers sync feature (Firefox Sync or own Sync-Server) if enabled -* Removed integrity checks of embedded script and style elements -* Font Awesome -* Google Material Icons -* jQuery up to 3.5.1 -* Bootstrap CSS (Delivered by StackPath, NetDNA and MaxCDN) -* Bootstrap JavaScript (Delivered by StackPath, NetDNA and MaxCDN) -* AngularJS, AngularJS-Animate, AngularJS-Sanitize, AngularJS-Cookies and AngularJS-Touch -* React, Vue.js, Chart.js and many other frameworks/libraries -* Prepared rules for uBlock Origin, uMatrix and AdGuard - -> **Note:** LocalCDN is no silver bullet, but it does prevent a lot of websites from making you send these kinds of requests. Ultimately, you can make LocalCDN block requests for any missing CDN resources, too. - - -## What is the different of LocalCDN in comparison to other CDN emulators? - -![The Replacement of Libraries](screenshots/replacement.png?raw=true "The Replacement of Libraries") - -**Advantages of LocalCDN:** - -:thumbsup: more frameworks/libraries (> 100 :tada: :tada: :tada:) - -:thumbsup: smaller size than other extensions (10 MB) - -:thumbsup: remove crossorigin and integrity attributes of script and stylesheet tags to increase replacements (Firefox only) - -:thumbsup: doesn't matter which version a website requested - -:thumbsup: supports cloud storage if enabled +#### LocalCDN with activated HTML filter (optional) +[LocalCDN with activated HTML filter (optional)](screenshots/replacement_html_filter_on.png) +#### Other CDN emulators +[Other CDN emulators](screenshots/replacement_other_cdn_emulators.png) ## We need you! @@ -52,26 +45,24 @@ LocalCDN based on Decentraleyes. It includes more frameworks and more CDNs: The whole Internet is full of different frameworks and CDNs that negatively affect your privacy. If you find a website that embeds another unsupported version of a framework, please report that website. - -### :warning: **Important** :warning: +#### :warning: **Important** :warning: In some cases, it isn't possible to use our framework because the website sets up a strong "Same Origin Policy" (SOP). Please read [Broken JavaScript or CSS on some websites](https://codeberg.org/nobody/LocalCDN/wiki/Home#user-content-7-a-website-looks-weird-or-cannot-be-used-if-i-deactivate-localcdn-everything-works-what-is-the-problem) before opening an issue. On behalf of everyone: Thank you! - ## Screenshots -### Light +#### Light [Light Theme](screenshots/screenshot_light.png) -### Dark +#### Dark [Dark Theme](screenshots/screenshot_dark.png) -### Rule generator for uBlock Origin, uMatrix and AdGuard (after an update) +#### Rule generator for uBlock Origin, uMatrix and AdGuard (after an update) [Rule generator after an update](screenshots/screenshot_after_update.png) -### Settings +#### Settings [Settings (Basic)](screenshots/screenshot_settings_1.png) [Settings (Advanced)](screenshots/screenshot_settings_2.png) @@ -80,8 +71,7 @@ On behalf of everyone: Thank you! [Settings (Info)](screenshots/screenshot_settings_4.png) - -### Internal statistics +#### Internal statistics [Internal statistics](screenshots/screenshot_statistics_light.png) [Internal statistics](screenshots/screenshot_statistics_dark.png) ## Contributing Code @@ -119,6 +109,6 @@ LocalCDN is free and open-source. If you like LocalCDN you can support continued [MPL-2.0](https://www.mozilla.org/MPL/2.0). -### External libraries +#### External libraries * Color Picker (Taufik Nurrohman, https://github.com/taufik-nurrohman/color-picker, MIT License) diff --git a/screenshots/replacement.png b/screenshots/replacement.png deleted file mode 100644 index be8b716a..00000000 Binary files a/screenshots/replacement.png and /dev/null differ diff --git a/screenshots/replacement_html_filter_off.png b/screenshots/replacement_html_filter_off.png new file mode 100644 index 00000000..929938eb Binary files /dev/null and b/screenshots/replacement_html_filter_off.png differ diff --git a/screenshots/replacement_html_filter_on.png b/screenshots/replacement_html_filter_on.png new file mode 100644 index 00000000..8594d201 Binary files /dev/null and b/screenshots/replacement_html_filter_on.png differ diff --git a/screenshots/replacement_other_cdn_emulators.png b/screenshots/replacement_other_cdn_emulators.png new file mode 100644 index 00000000..fc077dff Binary files /dev/null and b/screenshots/replacement_other_cdn_emulators.png differ