1
0
Fork
You've already forked LocalCDN
0
forked from nobody/LocalCDN
A web browser extension that emulates Content Delivery Networks to improve your online privacy. It intercepts traffic, finds supported resources locally, and injects them into the environment.
  • JavaScript 98.2%
  • CSS 1%
  • HTML 0.7%
2022年12月02日 15:46:02 +00:00
_locales Added translation using Weblate (Turkmen) 2022年10月24日 09:47:34 +02:00
audit Adjustments Chart.js ( #1204 ) 2022年11月18日 06:33:26 +01:00
core Add missing Mathjax 3 dependency to core/constants.js 2022年12月02日 15:46:02 +00:00
icons UTF-8 icons replaced with SVG 2021年08月15日 07:39:00 +02:00
modules leaflet v1.9.2 -> v1.9.3 ( #1208 ) 2022年11月19日 06:35:07 +01:00
pages leaflet v1.9.2 -> v1.9.3 ( #1208 ) 2022年11月19日 06:35:07 +01:00
resources leaflet v1.9.2 -> v1.9.3 ( #1208 ) 2022年11月19日 06:35:07 +01:00
screenshots Update screenshots ( #1041 ) 2022年07月04日 06:38:15 +02:00
.csslintrc Just code style (CSS) 2021年02月17日 06:59:56 +01:00
.eslintignore Updated: Internal module "Color Picker" v2.1.4 -> v2.2.0 2021年04月10日 07:04:41 +02:00
.eslintrc Updated: .eslintrc 2021年11月28日 09:29:12 +01:00
.gitignore Just code style (JS) 2021年02月17日 07:01:08 +01:00
.stylelintrc Just code style (CSS) 2021年02月17日 06:59:56 +01:00
CDN.txt Duplicate entry removed ( #816 ) 2021年12月22日 07:49:35 +01:00
CONTRIBUTING.md Improve contribution guidance 2021年04月05日 22:14:52 -04:00
ISSUE_TEMPLATE.md Update ISSUE_TEMPLATE.md 2022年07月26日 06:14:34 +02:00
LICENSE.txt Initial commit 2020年02月27日 13:45:29 +01:00
manifest.json v2.6.40 2022年10月29日 07:38:24 +02:00
PULL_REQUEST_TEMPLATE.md Improve contribution guidance 2021年04月05日 22:14:52 -04:00
README.md Update README.md 2022年07月24日 09:48:47 +02:00
THIRD_PARTY.txt Add missing Mathjax 3 dependency to THIRD_PARTY.txt 2022年12月02日 15:42:31 +00:00

LocalCDN

Translate CDNs Frameworks Firefox Add-on Chrome Add-on Buy Me a Coffee opencollective

LocalCDN is a fork of Decentraleyes and a web browser extension 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 to find out if you are properly protected. For more information, please read the tutorial or the Wiki. You can also download the extension directly from Mozilla and just try it.

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
  • Bootstrap CSS
  • Bootstrap JavaScript
  • AngularJS, AngularJS-Animate, AngularJS-Sanitize, AngularJS-Cookies and AngularJS-Touch
  • React, Vue.js, Chart.js and many other frameworks/libraries
  • MathJax (minimal)
  • TinyMCE (without plugins)
  • Internal statistics about CDNs and frameworks (day, week, month, year)
  • Export/Import your config
  • Prepared rules for uBlock Origin, uMatrix, AdGuard and NoScript

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 that lists the source (all CDNs and the path to the frameworks) and a resource file 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. This is the reason why the extension is over 17 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.

What's the different of LocalCDN in comparison to other CDN emulators?

LocalCDN

LocalCDN

LocalCDN with activated HTML filter (optional)

LocalCDN with activated HTML filter (optional)

Other CDN emulators

Other CDN emulators

⚠️ Important ⚠️

In some cases, LocalCDN is not allowed to replace requested resources because the website sets up a strong Same Origin Policy (SOP). Please read Broken JavaScript or CSS on some websites before opening an issue. Here you can also find an online tool to test a website. This test covers the most common causes and provides solutions.

Screenshots

Light

Light Theme

Dark

Dark Theme

Rule generator for uBlock Origin, uMatrix and AdGuard (after an update)

Rule generator after an update

Settings

Settings (Basic)

Settings (Advanced)

Settings (Other)

Settings (Info)

Internal statistics

Internal statistics Internal statistics

Contributing Code

Suggestions in the form of Issues, and contributions in the form of Merge Requests, are highly welcome.

Installation

Running the Code as temporary extension

Please read this guide to run the extension from source.

Important: All tagged commits are signed with GPG. It's likely best to ignore unsigned commits, unless you really know what you're doing. Please send an email if you have any questions or security concerns.

Contact

Just open an issue with your question or write an email (PGP possible!).

Submitting Translations

The language you want is not completely translated or you are a language talent? Please help us by translating this add-on on Weblate.

Donations

LocalCDN is free and open-source. If you like LocalCDN you can support continued development by making a donation. Any help would be greatly appreciated!

  • IBAN: DE22 5003 1000 1069 4660 16 (BIC: TRODDEF1XXX)
  • Bitcoin: 1C4GRNyuUFkp9dMDjUkV4TwDwdfxdgLzde
  • Ether: 0x2df49c1186f8b615c2059f29c3ed7f9f86d49552
  • Monero: 46j26ggSZNT9rN7VeFYXp2PsKEMyJSSYneBVKXY4xeemdfZfCpNg6tQEXQZpWiTTuGX3SbnDPwuh3167cCoYSrqN72H9jPk

Buy me a coffee Open Collective

License

MPL-2.0.

External libraries