ActivityPub-ը ամենակայֆ բաննա

2026-06-18 12:36:45.596453+00

գոյություն ունեն տարբեր տեսակի բաց ու փակ պրոտոկոլներ, որոնց միջոցով հավելվածները իրար հետ շփվում են - էլ զռլամա OStatus-ը, էլ ActivityPump-ը, էլ պրոպրիետար զիբիլները որոնք կիրառվում են հանրահայտ սոց․ ցանցերում։ սակայն ActivityPub-ը այս պրոտոկոլների գազանանոցից տարբերվումա իր․․․ հեշտությամբ։

ու հեշտության մեջ ներառվումա այս պրոտոկոլի հեշտ հավաքելը, որի համար ձեզանից պահանջվում է ընդամենը աչքի ծերով կարդալ այս պրոտոկոլի սպեցիֆիկացիան ու վերջ։ անգամ ամենաբլած կայքում (որտեղ Դուք գտնվում եք) կարելիա հեշտ ու հանգիստ միացնել լոկալ ցանց, որը ActivityPub-ի միջոցով կտեսնի բոլորին, այդ թվում Mastodon-ով ու Pixelfed-ով գրանցված օգտատերերին։

երկու բառով պրոտոկոլի մասին

սին պրոտոկոլը աշխատում է բավականին պարզ․ ամեն մասնակից ճանաչում է Ձեզ ըստ Ձեր վեբ մատնահետքի - այն ունիվերսալ փոխակերպվող տվյալ է, ըստ որի հարցում է կատարվում դեպի կայք որտեղ Դուք գրանցված եք։ եթե կայքը վերադարձնում է համապատասխան եզրերը, ուրեմն շնորհավոր - Դուք երևում եք ActivityPub-ով։

եզրերը (ու առհասարակ վեբ մատնահետքերը) իրենց հերթին հատուկ կազմակերպված JSON-ներ են, որոնք պարունակում են ստանդարտացված տվյալներ, որոնք պարտադիր պետք է բռնեն https://www.w3.org/ns/activitystreams սպեցիֆիկացիայի հետ։ այն է ներկայացնում տվյալների կառուցվածքը, որը պետք է ստանալ։

դե իհարկե կապը դերասանների, որոնք կոչվում են actor, միջև տեղի է ունենում օբյեկտների (Objects) պարունակությամբ, որոնք էլ նամակներն են, մեջները կան տեքստ, մեդիա, ռեպոստ, բաժանորդագրություն և այլն։ ու այդ ամենը համակարգված փոխակերպվում է ֆեդերացիաների միջև։

թարմացումներն էլ հասցվում են <<ՀայՓոստ>>-ի սկզբունքով. արեցի՞ր գործողություն, օրինակ գրեցիր քո դարդերը գրառման մեջ ու հրապարակեցիր բոլորին, ուրեմն պետք է թարմացումներդ հասցնես դեպի ֆեդերացիա հարցումների միջոցով։ ֆեդերացիաները որպես ստացողներ կվերցնեն այդ ամեն ինչը և իրենց մոտ լոկալ կմշակեն դրանք, ցուցադրելով բաժանորդներին քո գրածները։ այդպես նաև տարվում են օգտատերի մասին տեղեկատվության թարմացումները և բոլոր-բոլոր գործողությունները։

եթե ամփոփենք կառուցվածքը կարճ նախադասությամբ - մենք դերասաններ ենք, իսկ թատերաբեմը սերվերներն են որոնք իրար մեջ շփվում են ActivityStreams-ի ստանդարտներով :)

ո՞նց սարքեցի

նախ և առաջ ես փորձեցի հույսս դնեմ պատրաստի լուծումների վրա․ քանի որ այս կայքը գրված է php-ով, ես որոշեցի շատ սար ու ձոր չընկնեմ ու ոգեշնչվեմ Սայմոն Վիլսոնի արածով: թեպետ և այստեղից ես հասկացա որոշակի բաներ պրոտոկոլի մասին, բայց սա ինձ համար բավական չէր։ համարյա թե զրոյից որոշեցի գրել պարզ դաս, որը կգործի եղած կայքի բեքի հետ, ու այդտեղի գրառումները կարտացոլի բոլորին։

Դուք ձեռքով կարող եք այցելել հետևյալ հղումներով, որոնք կենսական են ActivityPub-ի համար․

ինչու՞ հենց այս երկուսը․

առաջինը հանդիսանում է Ձեր վեբ-մատնահետքը, ըստ որի ActivityPub-ով աշխատող կայքերը կարողանում են ճանաչել Ձեզ ու ստանալ համապատասխան վերջնակետեր Ձեր մասին տեղեկատվություն քաշելու համար։ առաջնահերթ սա պարտադիր է ունենալը, այլապես առռը հա թե Դուք կերևաք որևէ Fedi-ներում։

իսկ երկրորդը պետք է ֆեդերացիաներում ներկայանալու համար։ սրանով արդեն ներկայացվում է ետին պատկերը, թե ինչպիսի node-րի տարբերակներ եք սպասարկում և ոնց եք ներկայանում, որպես ինչ։ այս "չքնաղ" կայքում նոդը ճանաչվում է որպես Aniverse, ուստի կարելի է ինչ-որ տեղ համարել որ մենք զրոյից Mastodon ենք գրում :)

մինուսներ

ներկայիս իմպլեմենտացիան ունի ընդամենը երկու մինուս․

վերջաբան (համենայն դեպս հիմա)

քանի որ ես աշխատանքի եմ ու սա վռազ-վռազ եմ գրել, սպասեք որ ես այստեղ կատարելու եմ թարմացումներ ու ավելի մանրամասն եմ բացատրելու սպեցիֆիկացիայի աշխատանքը

բաժանորդագրվեք նաև @[email protected] -ին, սա է իմ այստեղի պաշտոնական հաշիվը :)