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. https://www.localcdn.org/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
nobody d884ba91e1
Merge remote-tracking branch 'origin/develop' into main
2 days ago
_locales Translated using Weblate (Portuguese) 3 days ago
core Implemented: Import validation (#109) 3 days ago
icons Implemented: Restore default colors (#109) 3 days ago
modules AMO warning fixed: Replaced innerHTML in Color Picker 2 days ago
pages Small code improvements (#109) 2 days ago
resources Added: InstantSearch.js v3.7.0 and v4.8.1 (#117) 1 week ago
screenshots Screenshot updated (#109) 2 days ago
ISSUE_TEMPLATE.md Updated ISSUE_TEMPLATE.md 2 months ago
LICENSE.txt Initial commit 7 months ago
PULL_REQUEST_TEMPLATE.md Updated PR template 3 months ago
README.md Updated README.md 3 days ago
manifest.json v2.5.0 2 days ago

README.md

LocalCDN

Translate CDNs Frameworks

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 to find out if you are properly protected. For more information, please read the tutorial or our Wiki pages. You can also download the extension directly from Mozilla and just try it.

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 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

LocalCDN based on Decentraleyes. It includes more frameworks and more CDNs:

  • Supports cloud storage by browsers sync feature (Firefox Sync or own Sync-Server) if enabled
  • Removed integrity checks of embedded script and style elements (Firefox only)
  • Font Awesome
  • 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
  • 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

Advantages of LocalCDN:

👍 more frameworks/libraries (> 100 🎉 🎉 🎉)

👍 smaller size than other extensions

👍 remove crossorigin and integrity attributes of script and stylesheet tags to increase replacements (Firefox only)

👍 doesn’t matter which version a website requested

👍 supports cloud storage if enabled

We need you!

We Need You!

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.

⚠️ Important ⚠️

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 before opening an issue.

On behalf of everyone: Thank you!

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

License

MPL-2.0.

External libraries