
Parley: adi IRC üzərində qurulmuş federativ söhbət şəbəkəsi
Açıq kodlu Parley layihəsi hər kəsə öz domeni üçün kiçik söhbət instansı işə salmağa və imzalanmış HTTPS ilə başqalarına qoşulmağa imkan verir. irssi və ya WeeChat kimi adi IRC klientləri əlavəsiz işləyir.
Mərkəzi olmayan söhbət şəbəkəsi
Parley açıq kodlu, federativ söhbət şəbəkəsidir: hər şəxs və ya komanda öz domeni üçün kiçik bir instans işə salır. Kimliklər e-poçta bənzəyir: [email protected] foo.com üzərində, [email protected] isə bar.com üzərində çalışır. İnstanslar bir-birini DNS və tanınmış sənədlərlə tapır və bütün şəbəkəni adi IRC klientlərinə göstərir.
Parley irssi, WeeChat və Textual kimi IRC klientləri ilə əlavəsiz işləyir: bob /msg [email protected] hi yazır və iki instans əvvəllər bir-birini heç eşitməmiş olsa da mesaj çatır. Müəlliflər kodu işlək prototip adlandırır: dizayn real instansda işləyir, amma sistem hələ möhkəmləndirilməyib. Layihə Go dilində yazılıb və MIT lisenziyası ilə yayılır.
Federasiya necə işləyir
Axtarış DNS ilə başlayır: _parley._tcp SRV qeydi domenə xidmət edən instansı göstərir, https://chat.example.com/.well-known/parley/instance.json isə ed25519 açıq açarını və inbox ünvanını yayımlayır. Hər hadisə başlıqlarında ayrı ed25519 imzası olan JSON sənədidir və qarşı tərəfin /inbox ünvanına göndərilir; alan onu özü aşkar etdiyi açarla yoxlayır, buna görə federasiya açıqdır. Yeni domendə kiməsə yazdıqda iki instans özü birləşir və bildikləri qonşuları bir-birinə ötürür, beləcə şəbəkə ayar olmadan qurulur.
Kanallar, tarixçə və moderasiya
#dev qlobaldır: üzvü olan hər bağlı instansda təkrarlanır və heç kimə aid deyil, ona görə nə mövzusu, nə operatorları var; ¬es isə lokaldır, instansdan heç vaxt çıxmır və mövzunun olduğu yeganə yerdir. Qlobal kanalın sahibi olmadığı üçün oradan heç kimi qovmaq mümkün deyil, buna görə /ban maskaya görə blok siyahısına çevrilir: /ban *!*@example.com bütöv instansı bloklayır. Tarixçə hər instansda SQLite-da tam mətn indeksi ilə saxlanılır və fasilədən sonra instans buraxdığı mesajları özü çəkir.
İnstansın işə salınması və çatışmazlıqlar
İşə salmaq üçün prologic/parley təsvirindən konteyner və domen kifayətdir: verilənlər qovluğunda kimlik açarı, verilənlər bazaları və hesablar saxlanılır, konfiqurasiya faylı isə yoxdur. Hesablar parleyctl, admin səhifəsi və ya OpenID Connect ilə açılır. 0.6.0 versiyası hesab başına saniyədə bir mesaj və eyni anda 20 limit gətirdi, botlar istisnadır. Müəlliflər çatışmazlıqları açıq sadalayır: açarlar yalnız instans səviyyəsindədir, ucdan uca şifrələmə yoxdur, kanal rejimləri və operatorları yoxdur, /nick əmri yoxdur və brauzer söhbət klienti qəsdən yaradılmayıb.
SiTech — AI ilə gücləndirilmiş veb hazırlanması
Sürətli və müasir saytlar qurur, AI-ı real biznes proseslərinə gətiririk. Layihəniz və ya sualınız var? Kömək etməyə hazırıq.