
Parley. դաշնային չաթ-ցանց՝ հիմնված սովորական IRC-ի վրա
Բաց կոդով Parley նախագիծը թույլ է տալիս ցանկացածին իր դոմենի համար փոքր չաթ-ինստանս աշխատեցնել և ստորագրված HTTPS-ով միանալ ուրիշներին։ irssi-ի կամ WeeChat-ի նման սովորական IRC հաճախորդները աշխատում են առանց հավելումների։
Չաթ՝ առանց կենտրոնի
Parley-ը բաց կոդով դաշնային չաթ-ցանց է, որտեղ ամեն մարդ կամ թիմ փոքր ինստանս է աշխատեցնում իր դոմենի համար։ Նույնացուցիչները նման են էլ. փոստի հասցեների՝ [email protected]ը գործում է foo.com-ում, [email protected]ը՝ bar.com-ում։ Ինստանսները միմյանց գտնում են DNS-ի և հայտնի փաստաթղթերի միջոցով։
Parley-ն աշխատում է irssi, WeeChat և Textual հաճախորդների հետ առանց հավելումների. bob-ը գրում է /msg [email protected] hi, և հաղորդագրությունը հասնում է, նույնիսկ եթե ինստանսները իրար չեն ճանաչում։ Հեղինակները կոդը կոչում են աշխատող նախատիպ. դիզայնը գործում է իրական ինստանսի վրա, սակայն համակարգը դեռ ամրապնդված չէ։ Գրված է Go-ով, արտոնագիրը MIT է։
Ինչպես է աշխատում դաշնությունը
Որոնումը սկսվում է DNS-ից. _parley._tcp SRV գրառումը ցույց է տալիս դոմենը սպասարկող ինստանսը, իսկ https://chat.example.com/.well-known/parley/instance.json հրապարակում է ed25519 հանրային բանալին և inbox-ի հասցեն։ Ամեն իրադարձություն JSON փաստաթուղթ է՝ վերնագրերում առանձին ed25519 ստորագրությամբ, որն ուղարկվում է կողմի /inbox հասցեին, իսկ ստացողը ստուգում է այն իր հայտնաբերած բանալիով, ուստի դաշնությունը բաց է։ Բավական է գրել նոր դոմենի ինչ-որ մեկին, և ինստանսները միանում են ու փոխանակում իրենց հայտնի հարևաններին, այդպես ցանցը կառուցվում է առանց կարգավորումների։
Ալիքներ, պատմություն և մոդերացիա
#dev-ը գլոբալ է. այն կրկնվում է յուրաքանչյուր կապված ինստանսում և ոչ մեկին չի պատկանում, ուստի չունի թեմա կամ օպերատորներ. ¬es-ը տեղական է, երբեք չի հեռանում ինստանսից և միակ վայրն է, որտեղ թեմա կա։ Քանի որ գլոբալ ալիքը տեր չունի, ոչ մեկին հնարավոր չէ վտարել, այդ պատճառով /ban-ը դառնում է արգելափակոցների ցուցակ ըստ դիմակի. /ban *!*@example.com-ը փակում է ամբողջ ինստանսը։ Պատմությունը պահվում է ամեն ինստանսում SQLite-ում՝ լրիվ տեքստային ինդեքսով, իսկ ընդմիջումից հետո ինստանսը ինքն է վերցնում բաց թողածը։
Ինստանսի աշխատեցումը և սահմանափակումները
Աշխատեցնելու համար բավական է prologic/parley պատկերից կոնտեյներ և դոմեն. տվյալների պանակում պահվում են ինքնության բանալին, բազաներն ու հաշիվները, իսկ կարգավորումների ֆայլ չկա։ Հաշիվները ստեղծվում են parleyctl-ով, ադմինի էջից կամ OpenID Connect-ի միջոցով։ 0.6.0-ում ավելացավ հաճախության սահմանափակում. վայրկյանում մեկ հաղորդագրություն և միաժամանակ 20, բոտերը բացառություն են։ Հեղինակները բացահայտ թվարկում են պակասները. բանալիները միայն ինստանսի մակարդակում են, ծայրից ծայր գաղտնագրում չկա, ալիքի ռեժիմներ ու օպերատորներ չկան, իսկ վեբ չաթ-հաճախորդը դիտավորյալ բացակայում է։
SiTech — AI-ով հզորացված վեբ մշակում
Ստեղծում ենք արագ ու ժամանակակից կայքեր և AI-ը ներդնում իրական բիզնես գործընթացներում։ Ունե՞ք նախագիծ կամ հարց։ Ուրախ կլինենք օգնել։