Lançamento do ZeroNet 0.7, uma plataforma para criar sites descentralizados

Após um ano de desenvolvimento, foi lançado o ZeroNet, uma plataforma web descentralizada ZeroNet 0.7, que oferece a utilização de mecanismos de endereçamento e verificação do Bitcoin em combinação com tecnologias de entrega distribuída do BitTorrent para criar sites que não podem ser censurados, falsificados ou bloqueados. O conteúdo dos sites é armazenado em uma rede P2P nos dispositivos dos visitantes e é verificado por meio da assinatura digital do proprietário. Para endereçamento, são utilizados sistemas alternativos de servidores DNS raiz Namecoin. O projeto é escrito na linguagem Python e é distribuído sob a licença GPLv2.

Os dados hospedados no site são verificados e vinculados à conta do proprietário do site, similar à vinculação de carteiras Bitcoin, o que também permite controlar a atualidade das informações e atualizar o conteúdo em tempo real. Para ocultar endereços IP, pode-se usar a rede anônima Tor, cujo suporte está embutido no ZeroNet. O usuário participa da distribuição de todos os sites que acessou. Após o download para o sistema local, os arquivos são salvos em cache e tornam-se disponíveis para distribuição a partir da máquina atual, utilizando métodos semelhantes ao BitTorrent.

Para visualizar sites ZeroNet, basta executar o script zeronet.py, após o qual é possível abrir sites no navegador através da URL "http://127.0.0.1:43110/enderec_zeronet" (por exemplo, "http://127.0.0.1:43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D"). Ao abrir o site, o programa encontra os peers mais próximos e carrega os arquivos relacionados à página solicitada (html, css, imagens etc.).
Para criar seu próprio site, basta executar o comando "zeronet.py siteCreate", após o qual será gerado um identificador de site e uma chave privada para confirmar a autoria por meio da assinatura digital.

Para o site criado, será formada uma diretório vazia no formato "data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D". Após alterar o conteúdo deste diretório, é necessário assinar a nova versão usando o comando "zeronet.py siteSign identificador_site" e introduzindo a chave privada. Assim que o novo conteúdo for assinado, é necessário anunciá-lo com o comando "zeronet.py sitePublish identificador_site" para que a versão alterada se torne disponível para os peers (para o anúncio das alterações, utiliza-se a API WebSocket). Nesta cadeia, os peers verificarão a integridade da nova versão por meio da assinatura digital, carregarão o novo conteúdo e o transferirão para outros peers.

Principais da funcionalidade:

  • A ausência de um ponto único de falha — o site permanece acessível se houver pelo menos um peer na distribuição;
  • A ausência de um repositório padrão do site — o site não pode ser encerrado desconectando o serviço de hospedagem, pois os dados estão distribuídos em todas as máquinas dos visitantes;
  • Todas as informações previamente visualizadas estão em cache e disponíveis a partir da máquina atual em modo offline, sem necessidade de conexão à rede global.
  • Suporte à atualização de conteúdo em tempo real;
  • Possibilidade de endereçamento através do registro de domínio na zona «.bit»;
  • Funciona sem configuração prévia — basta descompactar o arquivo com o software e executar um script;
  • Possibilidade de clonagem de sites com um clique;
  • Autenticação sem senha baseada no formato BIP32: a conta é protegida pelo mesmo método criptográfico que a criptomoeda Bitcoin;
  • Servidor SQL integrado com recursos de sincronização de dados P2P;
  • Possibilidade de usar Tor para anonimato e total suporte para o uso de serviços ocultos Tor (.onion) em vez de endereços IPv4;
  • Suporte à criptografia TLS;
  • Disponibilidade automática via uPnP;
  • Possibilidade de anexar vários autores ao site, cada um com assinaturas digitais diferentes;
  • Disponibilidade de um plug-in para criar configurações multiusuário (openproxy);
  • Suporte à transmissão de fluxos de notícias;
  • Funciona em todos os navegadores e sistemas operacionais.

Principais mudanças no ZeroNet 0.7

  • Código reestruturado para suporte ao Python3, garantindo compatibilidade com Python 3.4-3.8;
  • Implementado modo de sincronização de banco de dados seguro;
  • Interrompido, quando possível, o fornecimento de bibliotecas de terceiros do pacote principal em favor de dependências externas;
  • Código para verificação de assinaturas digitais acelerado em 5-10 vezes (usada a biblioteca libsecp256k1;
  • Adicionada randomização de certificados já gerados para contornar filtros;
  • Código P2P atualizado, que foi adaptado para usar o protocolo ZeroNet;
  • Adicionado modo de operação offline;
  • Adicionado plug-in UiPluginManager para instalação e gerenciamento de plug-ins de terceiros;
  • Total suporte ao OpenSSL 1.1;
  • Ao se conectar com peers, são utilizados registros fictícios SNI e ALPN, para tornar as conexões mais parecidas com acessos a sites comuns via HTTPS;

No mesmo dia do lançamento do ZeroNet 0.7.0 para smartphones OnePlus One, Fairphone 2, Nexus 4, Nexus 5, Nexus 7 2013, Meizu MX4/PRO 5, Bq Aquaris E5/E4.5/M10. O projeto também Atualização 0.7.1, que corrige uma vulnerabilidade crítica que potencialmente permite a execução de código no lado do cliente. Devido a um erro no código de renderização de variáveis ​​de template, um site externo aberto pode estabelecer uma conexão com o sistema do cliente via WebSocket com permissões ADMIN/NOSANDBOX ilimitadas, o que possibilita alterar configurações e executar código no computador do usuário através de manipulações com o parâmetro open_browser.
A vulnerabilidade se manifesta na ramificação 0.7, bem como em compilações experimentais a partir da revisão. 4188 (alteração feita há 20 dias).

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster