
Parley: רשת צ'אט מבוזרת שנשענת על IRC רגיל
פרויקט קוד פתוח בשם Parley מאפשר לכל אחד להריץ מופע צ'אט קטן עבור הדומיין שלו ולהתחבר לאחרים ב-HTTPS חתום, בעוד לקוחות IRC רגילים כמו irssi או WeeChat עובדים בלי תוספים.
רשת צ'אט בלי מרכז
Parley היא רשת צ'אט פדרטיבית בקוד פתוח שבה כל אדם או צוות מריץ מופע קטן עבור הדומיין שלו. הזהויות נראות כמו כתובות דואר אלקטרוני: [email protected] פועל על foo.com ו[email protected] על bar.com. המופעים מוצאים זה את זה דרך DNS ומסמכי זהות ידועים ומציגים את כל הרשת ללקוחות IRC רגילים.
Parley עובד עם לקוחות IRC קיימים כמו irssi, WeeChat ו-Textual, בלי תוספים: בוב כותב /msg [email protected] hi וההודעה מגיעה גם אם שני המופעים מעולם לא שמעו זה על זה. המפתחים מגדירים את הקוד כאב טיפוס עובד, שפועל על מופע אמיתי אך טרם הוקשח. הפרויקט כתוב ב-Go ברישיון MIT.
איך עובדת הפדרציה
הגילוי מתחיל ב-DNS: רשומת SRV בשם _parley._tcp מצביעה על המופע שמשרת את הדומיין, ובכתובת https://chat.example.com/.well-known/parley/instance.json מתפרסמים מפתח ציבורי מסוג ed25519 וכתובת ה-inbox. כל אירוע הוא מסמך JSON עם חתימת ed25519 נפרדת בכותרים, שנשלח ל-inbox של הצד השני, והמקבל מאמת אותו במפתח שהוא עצמו גילה, ולכן הפדרציה פתוחה. די לכתוב למישהו בדומיין חדש כדי ששני המופעים יתחברו בעצמם ויחליפו ביניהם את העמיתים שהם מכירים, וכך נבנית רשת בלי הגדרות.
ערוצים, היסטוריה וניהול
#dev הוא גלובלי: הוא משוכפל בכל מופע מקושר ואין לו בעלים, ולכן אין לו נושא ואין מפעילים; ¬es מקומי, לעולם לא יוצא מהמופע והוא המקום היחיד שבו קיים נושא. מכיוון שלערוץ גלובלי אין בעלים, אי אפשר לגרש ממנו איש, ולכן /ban הופך לרשימת חסימות לפי מסכה: /ban *!*@example.com חוסם מופע שלם. ההיסטוריה נשמרת בכל מופע ב-SQLite עם אינדקס טקסט מלא וניתן לחפש בה ב-parleyctl search, ומופע שחוזר אחרי הפסקה מושך את מה שהחמיץ.
הרצת מופע ומה עוד חסר
כדי להריץ מופע מספיק מכולה מתמונת prologic/parley ודומיין: ספריית הנתונים מחזיקה את מפתח הזהות, מסדי הנתונים והחשבונות, ואין קובץ תצורה. חשבונות נוצרים ב-parleyctl, בעמוד הניהול או בכניסה אחודה דרך OpenID Connect. גרסה 0.6.0 הוסיפה הגבלת קצב: הודעה אחת בשנייה ו-20 בבת אחת, כאשר בוטים פטורים. המפתחים מפרטים את החסרים בגלוי: המפתחות ברמת המופע בלבד, אין הצפנה מקצה לקצה, מצבי ערוץ ומפעילים לא קיימים כלל, ולקוח צ'אט בדפדפן לא נבנה בכוונה.
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.