По една година развој, беше објавено објавувањето на децентрализирана веб-платформа , кој предлага користење на механизмите за адресирање и верификација на Биткоин во комбинација со технологиите за дистрибуирана испорака на BitTorrent за да се создадат страници што не можат да се цензурираат, фалсификуваат или блокираат. Содржината на сајтовите се чува во P2P мрежа на машините на посетителите и се потврдува со помош на дигиталниот потпис на сопственикот. За адресирање се користи систем на алтернативни root DNS сервери . Проектот е напишан во Python и лиценцирана според GPLv2.
Податоците објавени на страницата се потврдени и поврзани со сметката на сопственикот на страницата, слично на поврзувањето на паричниците на Биткоин, што исто така овозможува да се контролира релевантноста на информациите и да се ажурира содржината во реално време. За да се сокријат IP адресите, може да се користи анонимната мрежа Tor, чија поддршка е вградена во ZeroNet. Корисникот учествува во дистрибуцијата на сите страници до кои пристапил. Откако ќе се преземат во локалниот систем, датотеките се кешираат и се достапни за дистрибуција од тековната машина користејќи методи кои потсетуваат на BitTorrent.
За да ги видите сајтовите на ZeroNet, само стартувајте ја скриптата zeronet.py, по што можете да отворите локации во прелистувачот преку URL-то „http://127.0.0.1:43110/zeronet_address“ (на пример, „http://127.0.0.1 :43110/1HeLLo4uzjaLetFx6NMN3PMwF5qbebTf1D”). Кога отворате веб-локација, програмата наоѓа блиски врсници и презема датотеки поврзани со бараната страница (html, css, слики, итн.).
За да ја креирате вашата страница, само извршете ја командата „zeronet.py siteCreate“, по што ќе се генерираат идентификатор на страницата и приватен клуч за да се потврди авторството со помош на дигитален потпис.
За креираната локација, ќе се креира празен директориум од формата „data/1HeLLo4usjaLetFx6NMH5PMwF3qbebTf1D“. По промената на содржината на овој директориум, новата верзија мора да биде сертифицирана со помош на командата „zeronet.py siteSign site_identifier“ и внесување на приватниот клуч. Откако новата содржина е потврдена, таа треба да биде објавена со командата „zeronet.py sitePublish site_id“ за да може променетата верзија да стане достапна за врсниците (WebSocket API се користи за објавување промени). По должината на синџирот, врсниците ќе го проверат интегритетот на новата верзија користејќи дигитален потпис, ќе ја преземат новата содржина и ќе ја пренесат на други колеги.
Главните :
- Не постои единствена точка на неуспех - страницата останува достапна ако има барем еден врсник во дистрибуцијата;
- Недостаток на референтно складирање за страницата - страницата не може да се затвори со исклучување на хостинг, бидејќи податоците се наоѓаат на сите машини на посетители;
- Сите претходно прегледани информации се во кешот и се достапни од тековната машина во офлајн режим, без пристап до глобалната мрежа.
- Поддржете ажурирање на содржината во реално време;
- Можност за адресирање преку регистрација на домен во зоната „.bit“;
- Работете без прелиминарно поставување - само отпакувајте ја архивата со софтверот и стартувајте една скрипта;
- Способност за клонирање на веб-страници со еден клик;
- Автентикација без лозинка базирана на формат : сметката е заштитена со истиот криптографски метод како и криптовалутата Биткоин;
- Вграден SQL сервер со функции за синхронизација на податоци P2P;
- Способност да се користи Tor за анонимност и целосна поддршка за користење на скриени услуги на Tor (.onion) наместо IPv4 адреси;
- TLS поддршка за шифрирање;
- Автоматска пристапност преку uPnP;
- Можност за прикачување на повеќе автори со различни дигитални потписи на страницата;
- Достапност на приклучок за креирање на повеќекориснички конфигурации (openproxy);
- Поддршка за емитување вести;
- Работи во сите прелистувачи и оперативни системи.
Големи промени во ZeroNet 0.7
- Кодот е преработен за да го поддржи Python3, обезбедувајќи компатибилност со Python 3.4-3.8;
- Имплементиран е режим на синхронизација на заштитена база на податоци;
- Онаму каде што е можно, главната дистрибуција на библиотеки од трети страни е прекината во корист на надворешните зависности;
- Кодот за проверка на дигиталните потписи е забрзан 5-10 пати (се користи библиотеката libsecp256k1;
- Додадена е рандомизација на веќе генерирани сертификати за да се заобиколат филтрите;
- P2P кодот е ажуриран за да го користи протоколот ZeroNet;
- Додаден офлајн режим;
- Додаден е додаток UiPluginManager за инсталирање и управување со приклучоци од трети страни;
- Обезбедена е целосна поддршка за OpenSSL 1.1;
- Кога се поврзувате со врсници, лажните записи SNI и ALPN се користат за да се направат врските послични на повиците до обичните локации преку HTTPS;
Истиот ден со објавувањето на ZeroNet 0.7.0 ажурирање 0.7.1, кое елиминира опасна ранливост што потенцијално дозволува извршување на кодот на страната на клиентот. Поради грешка во кодот за рендерирање на променливите на шаблонот, отворена надворешна локација може да воспостави врска со клиентскиот систем преку WebSocket со неограничени права ADMIN/NOSANDBOX, што овозможува промена на параметрите за конфигурација и извршување на неговиот код на компјутерот на корисникот преку манипулации со параметарот open_browser.
Ранливоста се појавува во гранката 0.7, како и во експериментални изданија почнувајќи од ревизијата (промена направена пред 20 дена).
Извор: opennet.ru
