O Decentraleyes for Firefox carrega recursos CDN localmente

Você pode aprender muito sobre um site ao monitorar suas conexões de rede ao conectar seu navegador a ele.

Você pode ver conexões com sites de terceiros, anúncios, scripts de análise da web e muito mais apenas com isso.

Uma prática comum é usar bibliotecas ou estruturas JavaScript populares como jQuery ou Ember. Os sites podem carregar versões hospedadas localmente, ou versões hospedadas por CDN (Network Public Deliveries), como as do Google, Microsoft ou Cloudflare.

Esses recursos geralmente são essenciais para a funcionalidade de um site, e bloqueá-los pode quebrar parte ou a totalidade do site.

Existem duas preocupações que os usuários da Internet podem ter quando se trata do uso dessas redes de entrega de conteúdo: privacidade e velocidade.

A velocidade é mais fácil de explicar. Embora muitas vezes seja mais rápido usar uma CDN para recursos do que uma versão hospedada localmente no próprio servidor do site, ainda significa ter que fazer uma conexão com a CDN em primeiro lugar. Isso não é tão rápido quanto disponibilizar esses recursos localmente no computador do usuário.

Privacidade, porque as conexões com esses sites são feitas e esses sites podem soltar cookies em seu sistema local. Eles também podem gravar sua atividade na Internet desde que você se conecta a eles usando um navegador da Web e obtém informações dessas conexões, como seu sistema operacional, o navegador da Web que você está usando, seu endereço IP ou localização no mundo.

O Decentraleyes for Firefox cuida de ambos, pelo menos para redes e recursos selecionados para entrega de conteúdo.

  • CDNs suportadas: Google Hosted Libraries, Microsoft Ajax CDN, CDNJS (Cloudflare), jQuery CDN (MaxCDN), jsDelivr (MaxCDN), Yandex CDN, Baidu CDN, Sina Public Resources e UpYun Libraries.
  • Recursos incluídos na extensão: AngularJS, Backbone.js, Dojo, Ember.js, Ext Core, jQuery, Modernizr, MooTools, Prototype, Scriptaculous, SWFObject, Underscore.js e Web Font Loader.

A extensão bloqueia as conexões com essas redes de entrega de conteúdo, substituindo as solicitações por recursos carregados localmente.

Isso cuida de ambos os problemas. Os recursos carregados localmente são sempre mais rápidos do que os carregados remotamente, mesmo que uma rede rápida e poderosa os disponibilize na Internet e, como as conexões não são mais feitas com essas redes, também não há impacto na privacidade.

Decentraleyes é uma nova extensão, e eu gostaria que ela fizesse mais do que está oferecendo no momento. Primeiro, é difícil saber se um recurso foi substituído ou não. Seria ótimo se isso fosse destacado na forma de um log ou mesmo um ícone que realce o número de recursos substituídos pelos recursos locais.

Segundo, ele funciona apenas se os recursos suportados forem carregados. No entanto, existem muitos outros recursos que podem ser carregados das redes de entrega de conteúdo. Uma opção para adicionar suas próprias substituições seria útil.

Terceiro, não deve ser necessário limitar sua funcionalidade às CDNs. Os sites podem carregar esses recursos a partir do servidor deles e, embora você não obtenha melhorias na privacidade, bloqueie-o e substitua-o por um local, você poderá obter melhorias na velocidade de carregamento.

Palavras finais

Decentraleyes é uma boa extensão que introduz algo que nada mais oferecia antes. Poderia se tornar uma grande extensão se o autor a melhorasse ainda mais. (obrigado Tom)