Sortie de ZeroNet 0.7, une plateforme de création de sites Web décentralisés

Après un an de développement, la sortie d'une plateforme web décentralisée est sortie ZéroNet 0.7, qui propose d'utiliser les mécanismes d'adressage et de vérification de Bitcoin en combinaison avec les technologies de livraison distribuée de BitTorrent pour créer des sites qui ne peuvent pas être censurés, contrefaits ou bloqués. Le contenu des sites est stocké dans un réseau P2P sur les machines des visiteurs et est vérifié à l’aide de la signature numérique du propriétaire. Un système de serveurs DNS racine alternatifs est utilisé pour l'adressage Namecoin. Le projet est écrit en Python et distribué par sous licence GPLv2.

Les données publiées sur le site sont vérifiées et liées au compte du propriétaire du site, à l'instar de la mise en relation des portefeuilles Bitcoin, ce qui permet également de contrôler la pertinence des informations et de mettre à jour le contenu en temps réel. Pour masquer les adresses IP, le réseau Tor anonyme peut être utilisé, dont la prise en charge est intégrée à ZeroNet. L'utilisateur participe à la diffusion de tous les sites auxquels il a accédé. Une fois téléchargés sur le système local, les fichiers sont mis en cache et mis à disposition pour distribution à partir de la machine actuelle en utilisant des méthodes rappelant BitTorrent.

Pour afficher les sites ZeroNet, exécutez simplement le script zeronet.py, après quoi vous pourrez ouvrir les sites dans le navigateur via l'URL « http://127.0.0.1:43110/zeronet_address » (par exemple, « http://127.0.0.1 :43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D") . Lors de l'ouverture d'un site Web, le programme trouve les pairs à proximité et télécharge les fichiers associés à la page demandée (html, css, images, etc.).
Pour créer votre site, exécutez simplement la commande « zeronet.py siteCreate », après quoi un identifiant de site et une clé privée seront générés pour confirmer la paternité à l'aide d'une signature numérique.

Pour le site créé, un répertoire vide de la forme « data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D » sera créé. Après avoir modifié le contenu de ce répertoire, la nouvelle version doit être certifiée à l'aide de la commande « zeronet.py siteSign site_identifier » et en saisissant la clé privée. Une fois le nouveau contenu vérifié, il doit être annoncé avec la commande « zeronet.py sitePublish site_id » afin que la version modifiée soit disponible pour les pairs (l'API WebSocket est utilisée pour annoncer les modifications). Tout au long de la chaîne, les pairs vérifieront l'intégrité de la nouvelle version à l'aide d'une signature numérique, téléchargeront le nouveau contenu et le transféreront à d'autres pairs.

principal capacités:

  • Il n'y a pas de point de défaillance unique : le site reste accessible s'il y a au moins un homologue dans la distribution ;
  • Manque de stockage de référence pour le site - le site ne peut être fermé en déconnectant l'hébergement, puisque les données se trouvent sur toutes les machines des visiteurs ;
  • Toutes les informations précédemment consultées sont dans le cache et sont accessibles depuis la machine actuelle en mode hors ligne, sans accès au réseau mondial.
  • Prend en charge la mise à jour du contenu en temps réel ;
  • Possibilité d'adressage par enregistrement de domaine dans la zone « .bit » ;
  • Travaillez sans configuration préalable - décompressez simplement l'archive avec le logiciel et exécutez un script ;
  • Possibilité de cloner des sites Web en un clic ;
  • Authentification sans mot de passe basée sur le format BIP32: le compte est protégé par la même méthode cryptographique que la cryptomonnaie Bitcoin ;
  • Serveur SQL intégré avec fonctions de synchronisation des données P2P ;
  • La possibilité d'utiliser Tor pour l'anonymat et la prise en charge complète de l'utilisation des services cachés Tor (.onion) au lieu des adresses IPv4 ;
  • Prise en charge du cryptage TLS ;
  • Accessibilité automatique via uPnP ;
  • Possibilité de rattacher plusieurs auteurs avec des signatures numériques différentes au site ;
  • Disponibilité d'un plugin pour créer des configurations multi-utilisateurs (openproxy) ;
  • Prise en charge de la diffusion de flux d'actualités ;
  • Fonctionne dans tous les navigateurs et systèmes d'exploitation.

Changements majeurs dans ZeroNet 0.7

  • Le code a été retravaillé pour prendre en charge Python3, assurant la compatibilité avec Python 3.4-3.8 ;
  • Un mode de synchronisation de base de données protégé a été implémenté ;
  • Dans la mesure du possible, la distribution principale de bibliothèques tierces a été interrompue au profit de dépendances externes ;
  • Le code de vérification des signatures numériques a été accéléré 5 à 10 fois (la bibliothèque libsecp256k1 est utilisée ;
  • Ajout de la randomisation des certificats déjà générés pour contourner les filtres ;
  • Le code P2P a été mis à jour pour utiliser le protocole ZeroNet ;
  • Mode hors ligne ajouté ;
  • Ajout du plugin UiPluginManager pour l'installation et la gestion de plugins tiers ;
  • La prise en charge complète d'OpenSSL 1.1 est fournie ;
  • Lors de la connexion à des pairs, des enregistrements SNI et ALPN factices sont utilisés pour établir des connexions plus similaires aux appels vers des sites classiques via HTTPS ;

Le même jour que la version ZeroNet 0.7.0 formé mise à jour 0.7.1, qui élimine une vulnérabilité dangereuse qui permet potentiellement l'exécution de code côté client. En raison d'une erreur dans le code de rendu des variables du modèle, un site externe ouvert peut établir une connexion au système client via WebSocket avec des droits ADMIN/NOSANDBOX illimités, ce qui permet de modifier les paramètres de configuration et d'exécuter son code sur l'ordinateur de l'utilisateur via manipulations avec le paramètre open_browser.
La vulnérabilité apparaît dans la branche 0.7, ainsi que dans les versions expérimentales à partir de la révision 4188 (changement effectué il y a 20 jours).

Source: opennet.ru

Ajouter un commentaire