+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новини

ZeroNet 0.7 - побачив світ випуск децентралізованої web-платформи

ZeroNet 0.7 - побачив світ випуск децентралізованої web-платформи

Побачив світ випуск децентралізованої web-платформи ZeroNet 0.7, яка пропонує використовувати механізми адресації та верифікації Bitcoin у поєднанні з технологіями розподіленої доставки BitTorrent для створення сайтів, які неможливо піддати цензурі, підробити або заблокувати. Вміст сайтів зберігається в P2P-мережі на машинах відвідувачів та перевіряється за цифровим підписом власника. Для адресації використовуються система альтернативних кореневих DNS-серверів Namecoin. Проект написаний мовою Python і розповсюджується під ліцензією GPLv2.

Дані верифіковані та прив'язані до облікового запису власника сайту за аналогією з прив'язкою гаманців Bitcoin, що також дає можливість контролювати актуальність інформації та оновлювати контент у режимі реального часу. Для приховання IP-адрес може використовуватися анонімна мережа Tor, підтримка якої вбудована в ZeroNet. Користувач бере участь у роздачі всіх сайтів, до яких звертався. Після завантаження на локальну систему файли зберігаються в кеші та стають доступними для роздачі з поточної машини, використовуючи методи, що нагадують BitTorrent.

Для перегляду сайтів ZeroNet достатньо запустити скрипт zeronet.py, після чого у браузері можна відкривати сайти через URL "http://127.0.0.1:43110/адрес_zeronet" (наприклад, "http://127.0.0.1:43110/ 1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D"). При відкритті сайту програма знаходить найближчих peer-ів та завантажує пов'язані із запитаною сторінкою файли (html, css, картинки тощо). Для створення свого сайту достатньо запустити команду "zeronet.py siteCreate" після чого буде згенеровано ідентифікатор сайту та закритий ключ для підтвердження авторства по цифровій підписи.

Для створеного сайту буде сформовано порожню директорію виду "data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D". Після зміни вмісту цієї директорії, потрібно завірити нову версію за допомогою команди "zeronet.py siteSign ідентифікатор_сайту" та введення закритого ключа. Як тільки новий вміст буде завірено, потрібно анонсувати його командою "zeronet.py sitePublish ідентифікатор_сайту", щоб змінений варіант став доступним peer-ам (для анонсу змін використовується API WebSocket). По ланцюжку peer-и перевірять цілісність нової версії за цифровим підписом, завантажать новий вміст і передадуть іншим peer-ам.

Основні можливості:

  • Відсутність єдиної точки відмови - сайт залишається доступним, якщо в роздачі є хоча б один peer;
  • Відсутність еталонного сховища сайту - сайт неможливо закрити відключивши хостинг, оскільки дані розміщені на всіх машинах відвідувачів;
  • Вся раніше переглянута інформація є в кеші і доступна з поточної машини в режимі offline без виходу в глобальну мережу.
  • Підтримка оновлення вмісту в режимі реального часу;
  • Можливість адресації через реєстрацію домену в зоні ".bit";
  • Робота без попереднього налаштування - достатньо розпакувати архів з ПЗ і запустити один скрипт;
  • Можливість клонування сайтів в один клік;
  • Безпаральна авторизація на основі формату BIP32: обліковий запис захищений тим же криптографічним методом, що й криптовалюта Bitcoin;
  • Вбудований SQL-сервер з функціями P2P-синхронізації даних;
  • Можливість використання Tor для анонімності та повна підтримка використання прихованих сервісів Tor (.onion) замість IPv4-адрес;
  • Підтримка TLS-шифрування;
  • Автоматична доступність через uPnP;
  • Можливість прикріплення до сайту кількох авторів, які мають різні цифрові підписи;
  • Наявність плагіна для створення розрахованих на багато користувачів конфігурацій (openproxy);
  • Підтримка трансляції стрічок новин;
  • Робота в будь-яких браузерах та операційних системах.

Основні зміни в ZeroNet 0.7

  • Код перероблений для підтримки Python3, забезпечена сумісність із Python 3.4-3.8;
  • Реалізовано захищений режим синхронізації БД;
  • По можливості припинено постачання в основному складі сторонніх бібліотек на користь зовнішніх залежностей;
  • У 5-10 разів прискорено код для верифікації цифрових підписів (задіяна бібліотека libsecp256k1;
  • Додано рандомізацію вже згенерованих сертифікатів для обходу фільтрів;
  • Оновлено код P2P, який переведений на використання протоколу ZeroNet;
  • Додано режим роботи в Offline;
  • Додано плагін UiPluginManager для встановлення та керування сторонніми плагінами;
  • Забезпечено повну підтримку OpenSSL 1.1;
  • При з'єднанні з peer-ами задіяні фіктивні записи SNI і ALPN, щоб зробити з'єднання більш схожими на звернення до звичайних сайтів по HTTPS;

Того ж дня, що й реліз ZeroNet 0.7.0 сформовано оновлення 0.7.1, у якому усунуто небезпечну вразливість, яка потенційно дозволяє організувати виконання коду на стороні клієнта. Через помилку в коді відображення змінних шаблонів відкритий зовнішній сайт може встановити з'єднання до системи клієнта через WebSocket з необмеженими правами ADMIN/NOSANDBOX, що дає можливість змінити параметри конфігурації і домогтися виконання свого коду на комп'ютері. користувача через маніпуляції із параметром open_browser. Вразливість проявляється у гілці 0.7, а також в експериментальних зборках, починаючи з ревізії 4188

Інші новини

Найкраща ціна