ZeroNet 0.7-ի՝ ապակենտրոնացված կայքերի ստեղծման հարթակի թողարկում

Մեկ տարվա մշակումից հետո թողարկվեց ապակենտրոնացված վեբ հարթակի թողարկումը ZeroNet 0.7, որն առաջարկում է օգտագործել Bitcoin-ի հասցեավորման և ստուգման մեխանիզմները BitTorrent-ի բաշխված առաքման տեխնոլոգիաների հետ համատեղ՝ ստեղծելու այնպիսի կայքեր, որոնք չեն կարող գրաքննվել, կեղծվել կամ արգելափակվել: Կայքերի բովանդակությունը պահվում է P2P ցանցում այցելուների մեքենաներում և ստուգվում է սեփականատիրոջ թվային ստորագրության միջոցով: Հասցեավորման համար օգտագործվում է այլընտրանքային արմատային DNS սերվերների համակարգ Նեմեկոն. Նախագիծը գրված է Python-ով և տարածվում է լիցենզավորված GPLv2-ի համաձայն:

Կայքում տեղադրված տվյալները ստուգվում են և կապված են կայքի սեփականատիրոջ հաշվի հետ, ինչպես Bitcoin դրամապանակների կապը, ինչը նաև հնարավորություն է տալիս վերահսկել տեղեկատվության համապատասխանությունը և թարմացնել բովանդակությունը իրական ժամանակում: IP հասցեները թաքցնելու համար կարող է օգտագործվել անանուն Tor ցանցը, որի աջակցությունը ներկառուցված է ZeroNet-ում: Օգտագործողը մասնակցում է իր մուտք գործած բոլոր կայքերի բաշխմանը: Տեղական համակարգ ներբեռնվելուց հետո ֆայլերը պահվում են քեշում և հասանելի են դառնում ընթացիկ մեքենայից բաշխման համար՝ օգտագործելով BitTorrent-ը հիշեցնող մեթոդները:

ZeroNet կայքերը դիտելու համար պարզապես գործարկեք zeronet.py սկրիպտը, որից հետո կարող եք կայքեր բացել բրաուզերում «http://127.0.0.1:43110/zeronet_address» URL-ի միջոցով (օրինակ՝ «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» գոտում տիրույթի գրանցման միջոցով հասցեագրման հնարավորություն;
  • Աշխատեք առանց նախնական տեղադրման. պարզապես բացեք արխիվը ծրագրաշարով և գործարկեք մեկ սցենար;
  • Կայքերը մեկ սեղմումով կլոնավորելու ունակություն;
  • Ձևաչափի վրա հիմնված գաղտնաբառի նույնականացում BIP32հաշիվը պաշտպանված է նույն կրիպտոգրաֆիկ եղանակով, ինչ Bitcoin կրիպտոարժույթը.
  • Ներկառուցված SQL սերվեր P2P տվյալների համաժամացման գործառույթներով;
  • Tor-ն անանունության համար օգտագործելու հնարավորություն և IPv4 հասցեների փոխարեն Tor թաքնված ծառայություններ (.onion) օգտագործելու լիարժեք աջակցություն;
  • 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 ճյուղում, ինչպես նաև փորձնական կառուցվածքներում՝ սկսած վերանայումից։ 4188 (փոփոխությունը կատարվել է 20 օր առաջ)։

Source: opennet.ru

Добавить комментарий