پرش به محتوا

راهنمای شیوه‌نامه پیام‌رسانی ماتریکس

ویکی‎کتاب، کتابخانهٔ آزاد

این صفحه به راهنمای «شیوه‌نامهٔ پیام‌رسانی ماتریکس» می‌پردازد.

ماتریکس چیست؟

[ویرایش]
نشان شبکهٔ پیام‌رسانی ماتریکس

ماتریکس یک شیوه‌نامه (پروتکل) پیام‌رسانی نامتمرکز و آزاد است. نامتمرکز بودن به این معنی است که افراد می‌توانند کارساز خانگی (homeserver) خودشان را در یک شبکه راه بیندازند و نیز با افراد داخل کارسازهای خانگی دیگر در ارتباط باشند. یک مزیت نامتمرکز بودن به این است که افراد به یک کارساز متکی نیستند.

امنیت

[ویرایش]

ماتریکس برای تبادل اطلاعات در اتاق‌های رمزگذاری شده و پیام خصوصی از رمزنگاری پیشرفتۀ سرتاسری (انتها-به-انتها) (E2EE) استفاده می‌کند. پیام‌های اتاق‌هایی که رمزگذاری نشده باشند و فراداده‌ها (اطلاعاتی همچون زمان یا نشانی ارسال پیام) نیز از هیچ نوع رمزنگاری‌ای استفاده نمی‌کنند. در اتاق‌های رمزگذاری شدهٔ ماتریکس، افراد فقط در صورتی می‌توانند به پیام‌های این اتاق‌ها دسترسی داشته باشند که کلید رمزگشایی آن‌ها در اختیارشان باشد. این بدین منظور است که حتی صاحب کارساز هم نمی‌تواند به این پیام‌ها دسترسی داشته باشد؛ بنابراین «هر اتاق رمزگذاری شده‌ای امن است، حتی اگر کارساز خانگی آن اتاق دست وزیر اطلاعات باشد». کلید رمزگشایی در تنظیمات ماتریکس، قابل ذخیره و دریافت است.

لزوم استفاده

[ویرایش]
  • نرم‌افزار آزاد بودن
  • نامتمرکز بودن
  • استفاده از رمزنگاری پیشرفتۀ سرتاسری (انتها-به-انتها)
  • دشوار بودن فیلترینگ آن در ایران (به‌دلیل تعدد کارسازها)
  • وجود کارخواه‌ها و کارسازهای زیاد

کارخواه‌ها

[ویرایش]

ماتریکس چندین کارخواه (client) برای انواع سامانه‌های عامل (سیستم‌عامل) و شبکۀ وب دارد که به دست جامعه توسعه یافته است. فهرست کامل این کارخواه‌ها را می‌توانید در این صفحه ببینید.

المنت وب
المنت اندروید
نماگرفتی از کارخواه «المنت» برای وب و اندروید
نماگرفتی از کارخواه «صینی» برای وب

کارسازهای خانگی

[ویرایش]

ماتریکس تعداد خیلی زیادی کارساز خانگی عمومی دارد که می‌توانید از آن‌ها استفاده کنید و به شبکۀ ماتریکس وصل شوید و با اعضای دیگر کارسازهای خانگی در ارتباط باشید. هر کارساز خانگی می‌تواند سیاست و شرایط خودش را داشته باشد؛ بنابراین قبل از عضو شدن، حتماً سیاست آن را مطالعه کنید. فهرست کارسازهای خانگی ماتریکس را می‌توانید با جست‌وجو در اینترنت پیدا کنید. در زیر چند کارساز خانگی رایج آورده شده است:

در شرایط اینترانت(قطع اینترنت و دردسترس بودن تنها شبکه داخلی کشور)، یک کارساز خانگی ایرانی هم زده شده است. نشانی:

مقایسه

[ویرایش]

مقایسه با واتس‌اپ

[ویرایش]

«واتس‌اپ» نرم‌افزار آزاد نیست و ناامن است. واتس‌اپ ادعا می‌کند که رمزنگاری سرتاسری دارد و امن است؛ اما این پیام‌رسان کلید رمزگشایی پیام‌ها را در اختیار کاربر قرار نمی‌دهد.

مقایسه با تلگرام

[ویرایش]

کارخواه «تلگرام» یک نرم‌افزار آزاد است و به این معنی است که از شما جاسوسی نمی‌کند؛ اما کارسازش آزاد نیست و به این معنی است که تلگرام یک پیام‌رسان نامتمرکز نیست و کاربران امکان ساخت کارسازهای خانگی خود و حاکمیت بر آن را ندارند. همچنین تلگرام ادعا می‌کند که کلیدهای رمزگشایی پیام‌ها را در کارسازهای کشورهای مختلف قرار داده است و برای رمزگشایی پیام‌ها، به مجوز چندین دولت احتیاج دارد؛ اما این ادعا منطقی و قابل اثبات نیست.

مقایسه با سیگنال

[ویرایش]

سیگنال ادعا می‌کند که پیام‌های شما رمزگذاری سرتاسری می‌شود و همچنین می‌توانید سیگنال را به عنوان پیام‌رسان پیامک موبایل هم استفاده کنید. البته راهی وجود دارد که کارخواه ماتریکس پیام‌رسان پیامک شود. سیگنال متمرکز است و کارسازش در ایالات متحده آمریکاست؛ اما ماتریکس غیرمتمرکز است و کارساز های ماتریکس در نقاط مختلف جهان هستند.

همچنین توسعه دهنده اسبق سیگنال درجریان اضافه شدن LibreSignal به اف-دروید اعلام نموده بود که با کارخواه‌های غیر رسمی که از سرورهای سیگنال استفاده می‌کنند مشکل دارد؛ این یعنی سیگنال برخلاف تلگرام و ماتریکس به کاربران اجازه نمی‌دهد که از کارخواه‌های غیر رسمی استفاده کنند.

فیلترینگ

[ویرایش]

شبکهٔ ماتریکس، به‌دلیل نامتمرکز بودن آن قابل فیلتر و مسدود شدن نیست. تنها کارساز‌های خانگی ماتریکس می‌توانند به صورت تکی فیلتر شوند؛ برای مثال اگر کارساز خانگی matrix.org فیلتر شود، کارساز mozilla.org وجود دارد و با آن، می‌توان به اتاق‌های داخل کارسازهای خانگی دیگر وصل شد. همچنین کارسازهای خانگی میزبانی شده در ایران هم، با امنیت کامل، می‌توانند شرایط اینترانت را (برای مثال در شرایط اعتراضات)، دور بزنند؛ دقیقاً مثل پروکسی‌های داخلی «تلگرام».

سؤالات متداول

[ویرایش]

تغییر کارساز خانگی

[ویرایش]

برای تغییر کارساز خانگی (Home server) می‌توانید از این وبگاه استفاده کنید.

ارسال پیام به کاربر

[ویرایش]

برای ارسال پیام باید شناسهٔ کاربری که می‌خواهید به آن پیام دهید را داشته باشید. قالب شناسه‌های کاربری در ماتریکس به این صورت است:

@آدرس کارساز:شناسه کاربری

دکمه و بخش ارسال پیام در کارخواه‌ها متفاوت است. برای مثال در کارخواه «المنت» اندروید با زدن دکمۀ «+» و نوشتن شناسهٔ کاربر دلخواه‌تان می‌توانید به آن پیام دهید.

جست‌وجو یا عضو شدن در یک اتاق

[ویرایش]

برای عضو شدن، دیدن و یا جست‌وجوی یک اتاق، در اکثر کارخواه‌ها می‌توانید با زدن دکمۀ «#» این عمل را انجام دهید. قالب شناسهٔ اتاق‌های ماتریکس نیز به این صورت است:

#آدرس کارساز:شناسه اتاق

پل زدن بین ماتریکس و تلگرام

[ویرایش]

برای اینکه بین ماتریکس و تلگرام پیام‌ها ردوبدل شود، دو راه وجود دارد:

۱. خود میزبانی

شما می‌توانید به کمک اجرای این نرم افزار روی یک سرور ماتریکس که خودتان میزبانی می‌کنید، بین تلگرام و ماتریکس پل بزنید و گروه‌های تلگرامیتان را به ماتریکس وصل کنید. اما نیازمند فضای ذخیره سازی زیادی است که ممکن است برایتان به‌صرفه نباشد.

مستندات این نرم افزار در اینجا دردسترس است.

۲.استفاده از پل های عمومی

لیستی از پل های عمومی در اینجا وجود دارد که می‌توانید به کمک آنها گروه‌های تلگرامی را به ماتریکس وصل کنید.

ما توصیه می‌کنیم که از پل t2bot.io استفاده نکنید. زیرا این ربات از نسخه قدیمی‌تر mautrix-telegram استفاده می‌کند که بعضی از قابلیت ها را ندارد؛ همچنین به خاطر ترافیک سنگین ممکن است این پل در هفته، حداقل ۲ روز قطع شود. همچنین برای پل زدن بین اتاق رمزنگاری شده، می‌توان از پل tchncs.de استفاده کرد؛ اما این کار از نظر امنیتی منطقی نیست و پیشنهاد می‌شود فقط در اتاق‌های رمزنگاری نشده پل زده شود.

پل زدن بین ماتریکس و دیسکورد

[ویرایش]

برای اینکه بین ماتریکس و دیسکورد پیام‌ها ردوبدل شود، می‌توان از این ربات استفاده کرد و مستندات ربات نیز در پیوند قبلی موجود است.

نکته: این ربات در اتاق‌های رمزگذاری شده کار نمی‌کند!

کد منبع این ربات در اینجا موجود است، همچنین به کمک این راهنما موجود در README کد منبع ربات می‌توانید یک پل ماتریکس و دیسکورد را برای خودتان میزبانی کنید.

اشکال زدایی

[ویرایش]

دریافت پیام KEYS_WITHHELD

[ویرایش]

پیام «ناتوان در رمزگشایی: KEYS_WITHHELD» ریشه از فعال کردن یک گزینه در تنظیمات کارخواهِ فرد ارسال‌کننده دارد. گزینه «رمزنگاری فقط به نشست‌های تأیید شده» در بخش «تنظیمات - حریم خصوصی» این امکان را می‌دهد که فقط به کاربرانی که تأییدشان (Verify) کرده‌اید اجازه خواندن پیام‌هایتان را بدهید.

چه‌کار کنم؟

[ویرایش]
  • تایید کردن:

اگر این پیام را از شخصی دریافت کردید، یا اینکه آن شخص می‌گوید که این پیام را دیده است، یکی از شما باید از قسمت «درباره کاربر» همدیگر را تأیید کنید تا از این پس به پیام‌های یکدیگر دسترسی داشته باشید. برای این‌کار، باید هر دو برخط (آنلاین) باشید. دو روش برای تأیید وجود دارد؛ یکی اسکن «QR Code» و دیگری، تأیید با شکلک (ایموجی).

  • غیرفعال کردن «رمزنگاری فقط به نشست‌های تأیید شده»:

برای غیرفعال کردن گزینۀ «رمزنگاری فقط به نشست‌های تأیید شده»، به قسمت «تنظیمات - حریم خصوصی» بروید و آن را غیرفعال کنید. اینگونه دیگر نیازی به تأیید کردن نیست و همه می‌توانند از این پس پیام‌هایتان را ببینند.

توسعه‌دهندگان

[ویرایش]

راه‌اندازی کارساز خانگی ماتریکس

[ویرایش]

برای راه‌اندازی یک کارساز خانگی ماتریکس، به یک کارساز ماتریکس نیاز دارید.

سیناپس

[ویرایش]

معروف‌ترین کارساز ماتریکس، سیناپس (Synapse) است. سیناپس با زبان پایتون نوشته شده است. برای نصب آن، اینجا را ببینید.

همچنین یکی از انشعاب‌های (Fork) مفید سیناپس، matrix-docker-ansible-deploy نام دارد که حاوی کتابخانه‌های مفید است. برای نصب آن، اینجا را ببینید.

دندریت

[ویرایش]

یک کارساز دیگر ماتریکس، دندریت (Dendrite) است که با هدف رفع اشکالات سیناپس (مانند مصرف زیاد حافظهٔ موقت) توسعه داده شده است. در حال حاضر، دندریت در فاز بتاست و در حال توسعه است و بعضی از ویژگی‌های سیناپس را ندارد. برای نصب آن، اینجا را ببینید.

فرهنگ لغت

[ویرایش]
  • کارساز خانگی (Home server): به یک کارساز رایانه‌ای مستقر در یک محل مسکونی اطلاق می‌شود، که از طریق شبکهٔ محلی یا اینترنت، به سایر دستگاه‌های شبکهٔ خانگی یا خارج از شبکهٔ خانگی، خدمات ارائه می‌دهد.
  • کارخواه (Client): یک نرم‌افزار کاربردی است که از طریق یک شبکه به خدمات یک سامانهٔ رایانه‌ای دیگر به نام کارساز دسترسی دارد. برای وصل شدن به یک کارساز خانگی ماتریکس، به یک کارخواه نیاز است.
  • انشعاب (Fork): به رونوشت کردن از یک پروژه برای توسعهٔ آن در راستای هدفی خاص (مثلاً افزودن قابلیتی که جزء اهداف توسعه‌دهندگانش نیست یا حذف ویژگی‌ای که بعضی آن را نمی‌پسندند) انشعاب می‌گویند.