پیشنهاد سال یک ماه بخرید، یک ماه هدیه بگیرید روی تمام سرورهای مجازی و اختصاصی، با هر مدتی — هزینه 12 ماه بپردازید، 24 ماه استفاده کنید. دو برابر کردن مدت
خانه / راهنماهای میزبانی با حریم خصوصی / راه‌اندازی سرور Matrix: فدراسیون، متادیتا و آنچه رمزگذاری پنهان نمی‌کند
عملیات

راه‌اندازی سرور Matrix شخصی

یک هوم‌سرور یک جعبهٔ خصوصی نیست که فقط چت کند — یک گرهٔ تکرار در یک شبکهٔ عمومی است. راه‌اندازی شخصی Matrix واقعاً چه چیزی را حل می‌کند، رمزگذاری سرتاسری چه چیزی را آشکار باقی می‌گذارد، کدام پیاده‌سازی را اجرا کنید، و کدام تصمیم‌های عملیاتی برگشت‌ناپذیرند.

بدون KYC
فقط ارز دیجیتال
بدون لاگ
DMCA نادیده گرفته می‌شود
دسترسی کامل Root
NVMe SSD

افراد سرور Matrix خود را راه‌اندازی می‌کنند تا مانع از آن شوند که یک شرکت گفت‌وگوهایشان را در اختیار داشته باشد، و این بخش دقیقاً همان‌طور که وعده داده شده عمل می‌کند. آنچه بعداً آن‌ها را غافلگیر می‌کند، ماهیت واقعی چیزی است که نصب کرده‌اند: یک هوم‌سرور یک جعبهٔ خصوصی نیست که فقط چت را پشتیبانی کند. این یک گرهٔ تکرار (replication node) در یک شبکهٔ عمومی است، و فدراسیون بسیار بیشتر از آنچه اغلب مدیران تازه‌کار انتظار دارند، شبیه یک پروتکل انتشار عمل می‌کند.

هیچ‌کدام از این‌ها دلیلی برای راه‌اندازی نکردن آن نیست — بلکه دلیلی است برای راه‌اندازی آگاهانهٔ آن. حریم خصوصی‌ای که شما به دست می‌آورید واقعی اما مشخص است: مالکیت داده‌ها به شما منتقل می‌شود، حساب کاربری‌تان را کس دیگری نمی‌تواند ببندد، و مسائل حقوقی به حوزهٔ قضایی‌ای می‌رسد که خودتان انتخاب کرده‌اید، نه حوزه‌ای که یک شرکت انتخاب کرده باشد. حریم خصوصی‌ای که به دست نمی‌آورید نیز به همان اندازه مشخص است، و تقریباً تمام آن در شکاف میان «پیام‌ها رمزگذاری شده‌اند» و «هیچ‌کس نمی‌تواند بفهمد چه کسی با چه کسی صحبت می‌کند» نهفته است. این راهنما هر دو نیمه را پوشش می‌دهد، سپس به جزئیات عملیاتی‌ای می‌پردازد که تعیین می‌کنند آیا سرور یک سال بعد همچنان سالم خواهد بود یا نه.

راه‌اندازی هوم‌سرور شخصی واقعاً چه چیزی را تغییر می‌دهد

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

نگرانی شما چیستآیا هوم‌سرور شخصی شما این را رفع می‌کند؟
اینکه یک شرکت محتوای پیام‌های شما را بخواندرمزگذاری سرتاسری (E2EE) از قبل این مورد را در اتاق‌های خصوصی پوشش می‌دهد — و بله، خوداستقراری همچنین شرکت را از میان برمی‌دارد
اینکه یک شرکت پروفایلی از اینکه با چه کسی و چه زمانی صحبت می‌کنید بسازدتا حدی. شما دیگر داده را به یک اپراتور مرکزی نمی‌دهید، و اکنون سرور خودتان آن سابقه را نگه می‌دارد
اینکه حساب کاربری‌تان توسط شخص دیگری بسته یا معلق شودبله. روشن‌ترین دستاورد کل این کار است، و کمتر از همه دربارهٔ آن صحبت می‌شود
درخواست قانونی برای داده‌های شماناپدید نمی‌شود، بلکه جابه‌جا می‌شود. اکنون درخواست به خود شما می‌رسد، تحت قانون کشوری که انتخاب کرده‌اید
اینکه دیگران به گراف اجتماعی شما پی ببرندخیر. هر سروری که عضوی در آن اتاق داشته باشد، همان دادهٔ عضویت را که شما دارید دریافت می‌کند
پنهان کردن اینکه اصلاً چنین سروری وجود داردخیر. فدراسیون به یک نام عمومی و یک پورت قابل‌دسترس نیاز دارد؛ این دقیقاً نقطهٔ مقابل پنهان بودن است

دو ردیف آخر را با دقت بخوانید، چون همان‌جاست که انتظارها فرو می‌ریزد. اگر هدف شما این است که هیچ‌کس نتواند اصلاً وجود یک سرویس را اثبات کند، Matrix ابزار مناسبی نیست و یک سرویس پیازی (onion service) به گزینهٔ درست نزدیک‌تر است. اگر هدف شما مالکیت، کنترل و حوزهٔ قضایی است، هوم‌سرور ابزاری عالی است و ادامهٔ این راهنما دربارهٔ اجرای درست آن است.

راه‌اندازی سرور Matrix شخصی
یک هوم‌سرور یک شرکت‌کننده در یک شبکهٔ عمومی است، نه یک جعبهٔ خصوصی: هر سروری که عضوی در اتاق شما داشته باشد، نسخهٔ خودش را از اینکه چه کسی پیوسته، چه زمانی، و چقدر مکرر صحبت می‌کند نگه می‌دارد.

فدراسیون یک پروتکل تکرار است که لباس یک پروتکل چت را پوشیده

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

پیامدهای این موضوع در هر دو جهت جاری است و هیچ‌کدام شهودی نیستند. داده‌ای که کاربران شما تولید می‌کنند — نام نمایشی، آواتار، پیوستن و ترک اتاق، برچسب‌های زمانی، واکنش‌ها — روی هر سروری که عضوی در آن اتاق دارد کپی می‌شود، و صرف‌نظر از اینکه بعداً چه چیزی را روی سرور خودتان حذف کنید، در پایگاه‌دادهٔ آن‌ها باقی می‌ماند. حذف (redaction) یک درخواست به همتایان است، نه یک فرمان. در فدراسیونی از سرورهای مستقل هیچ «حذف پیام برای همه» وجود ندارد، و انتظار داشتن چنین چیزی رایج‌ترین سوءتفاهم دربارهٔ این پروتکل است.

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

آنچه رمزگذاری پوشش می‌دهد، و آنچه آشکار باقی می‌ماند

Matrix محتوای پیام را با Megolm رمزگذاری می‌کند، و در اتاق‌های خصوصی این ویژگی به‌طور پیش‌فرض فعال است. این همان بخشی را محافظت می‌کند که بیشتر برای مردم اهمیت دارد و واقعاً کار می‌کند — سرور شما متن رمزشده‌ای را ذخیره می‌کند که نمی‌تواند آن را بخواند، که وقتی سرور یک سخت‌افزار اجاره‌ای است، یک ویژگی واقعی و مفید است. پاکت اطراف پیام داستان دیگری است، و این شکاف بیشتر از آن چیزی است که بیشتر خلاصه‌ها اعتراف می‌کنند.

سیگنالرمزگذاری‌شده؟قابل‌مشاهده برای
متن پیام و محتوای فایلبلهفقط دستگاه‌های تأییدشدهٔ اعضای اتاق
چه کسی در اتاق است، و هر پیوستن یا ترک اتاقخیرهر هوم‌سروری که عضوی در آن اتاق دارد
برچسب‌های زمانی، بسامد پیام‌ها، ساعات فعالیتخیرهر هوم‌سرور شرکت‌کننده
نام‌های نمایشی، آواتارها، حضور و در حال تایپ بودنخیرهر هوم‌سرور شرکت‌کننده
نام، موضوع و آواتار اتاقخیرهر هوم‌سرور شرکت‌کننده
اندازهٔ پیوست و زمان‌بندی انتقال آنخیرهر هوم‌سرور شرکت‌کننده
دامنهٔ سرور شما و آدرس IP آنخیرکل فدراسیون — این عمداً چنین طراحی شده است

خوانش عملی این است: رمزگذاری از چه چیزی محافظت می‌کند، فدراسیون چه کسی، چه زمانی و چه‌قدر مکرر را منتشر می‌کند. برای بیشتر جوامع این معامله کاملاً قابل‌قبول است و همین صداقت نکتهٔ اصلی است. برای مدل تهدیدی که خود گراف اجتماعی بخش حساس آن است، یک پروتکل فدرال‌شده از نظر ساختاری ابزار نادرستی است، و هیچ تنظیمی این را تغییر نمی‌دهد.

Synapse، Dendrite یا Conduit — واقعاً کدام را اجرا کنید

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

  • Synapse سرور مرجع است، به زبان پایتون نوشته شده، و تنها گزینه‌ای است که همهٔ ویژگی‌ها از روز اول در آن کار می‌کنند. همچنین گرسنه‌ترین گزینه است: مصرف حافظه با تعداد و اندازهٔ اتاق‌هایی که کاربران شما می‌پیوندند رشد می‌کند، و یک سرور شلوغ در نهایت باید به فرایندهای کارگر تقسیم شود. آن را زمانی انتخاب کنید که به Space‌ها، ابزارهای مدیریت، بریج‌ها و APIهای مدیریتی نیاز دارید که دقیقاً همان‌طور که مستند شده رفتار کنند.
  • Dendrite بازنویسی به زبان Go است. به‌طور محسوسی از Synapse سبک‌تر است و برای یک سرور کوچک کاملاً قابل استفاده است، به قیمت کمی عقب‌ماندگی در برخی ویژگی‌ها. گزینهٔ میانی معقولی است وقتی Synapse برای تعداد افرادی که واقعاً دارید سنگین به نظر می‌رسد.
  • Conduit و فورک فعالانه توسعه‌یافته‌اش conduwuit به زبان Rust نوشته شده‌اند و به‌صورت یک باینری تکی با پایگاه‌دادهٔ توکار عرضه می‌شوند. آن‌ها یک سرور خانوادگی یا یک جامعهٔ کوچک را روی کوچک‌ترین پلنی که می‌فروشیم بدون شکایت اجرا می‌کنند. هزینهٔ این کار یک اکوسیستم کوچک‌تر است: برخی ابزارهای مدیریتی و چند بریج فرض را بر Synapse می‌گذارند.

برای یک سرور اول با تعداد کمی کاربر، نرم‌افزارهای خانوادهٔ Conduit روی یک VPS کوچک کم‌دردسرترین مسیر به چیزی است که کار می‌کند و ارزان می‌ماند. برای هر چیزی که انتظار رشد آن را دارید — یک جامعهٔ عمومی، یک شرکت، پروژه‌ای با بریج — از Synapse شروع کنید و از مهاجرت بعدی صرف‌نظر کنید، چون جابه‌جایی بین پیاده‌سازی‌ها بعداً یک کار خروجی‌گرفتن و بازسازی است، نه یک تغییر تنظیمات.

تنظیم delegation که همه آن را اشتباه انجام می‌دهند

Matrix نامی را که در شناسه‌های کاربری شما ظاهر می‌شود از ماشینی که ترافیک را سرویس می‌دهد جدا می‌کند، و اشتباه گرفتن این دو رایج‌ترین خطای دائمی در خوداستقراری است. server_name شما همان دامنه‌ای است که بعد از دونقطه در هر شناسهٔ کاربری روی سرورتان ظاهر می‌شود. به محض امضا شدن اولین رویداد، این نام بخشی از هویت شما در فدراسیون می‌شود و پس از آن قابل تغییر نیست مگر با رها کردن هر حساب و هر اتاق روی آن ماشین.

تنظیمی که تقریباً همیشه می‌خواهید این است: server_name دامنهٔ اصلی شماست، در حالی که نرم‌افزار روی یک زیردامنه اجرا می‌شود. این دو را با delegation به هم متصل می‌کنید، به یکی از دو روش. روش ساده یک فایل JSON استاتیک است که در /.well-known/matrix/server روی دامنهٔ اصلی سرو می‌شود و میزبان و پورت واقعی را نام می‌برد. روش جایگزین یک رکورد DNS، _matrix._tcp، است که به همان مکان اشاره می‌کند. فایل سمت کلاینت را نیز در /.well-known/matrix/client سرو کنید، تا برنامه‌ها هوم‌سرور را فقط از روی یک آدرس پیدا کنند.

نام را پیش از نصب هر چیزی تعیین کنید. تنظیم server_name روی زیردامنه، فقط به این دلیل که نرم‌افزار آنجا اجرا می‌شود، خطای کلاسیک است و غیرقابل‌بازگشت: هر شناسهٔ کاربری، شناسهٔ اتاق و رویداد امضاشده آن را برای همیشه با خود حمل می‌کند. دامنه‌ای را انتخاب کنید که دوست دارید روی یک کارت ویزیت چاپ شود، به هر کجا که فرایند واقعاً روی آن گوش می‌دهد delegate کنید، و TLS معتبر را روی هر دو نام نگه دارید — خرابی گواهی روی میزبان delegate‌شده فدراسیون را از کار می‌اندازد حتی وقتی برنامه به‌صورت محلی سالم به نظر می‌رسد.

اندازه‌گیری صادقانهٔ منابع

Matrix در عملکرد عادی محدود به CPU نیست؛ محدود به حافظه و رفتار پایگاه‌داده است. ارقام منتشرشده برای Synapse یک کف مفید هستند: تقریباً 2 گیگابایت رم برای شروع، حدود 4 گیگابایت وقتی ده تا پنجاه کاربر فعال دارید، و 8 گیگابایت یا بیشتر فراتر از صد کاربر. سرورهای خانوادهٔ Conduit بسیار پایین‌تر از این‌ها قرار می‌گیرند. آنچه این ارقام از قلم می‌اندازند این است که مصرف به اتاق‌های پیوسته‌شده وابسته است، نه افراد ثبت‌شده — پنج کاربر در صد اتاق عمومی بزرگ بسیار بیشتر از پنجاه کاربر در چند اتاق خصوصی کوچک هزینه دارد.

از این‌جا دو قاعدهٔ عملی نتیجه می‌شود. پایگاه‌داده را روی حافظهٔ سریع قرار دهید و جا برای رشد آن بگذارید، چون الگوی نوشتن کوچک و پیوسته است، نه ناگهانی. و برای تعداد کاربران امروز اندازه‌گیری نکنید: برای اتاق‌هایی اندازه‌گیری کنید که آن کاربران در ماه اول به آن‌ها می‌پیوندند، که معمولاً همان‌جاست که غافلگیری رخ می‌دهد. پلن ورودی ما یک سرور کوچک Conduit یا Dendrite را به‌راحتی نگه می‌دارد، در حالی که یک نمونهٔ Synapse برای یک جامعهٔ واقعی باید روی یک پلن میان‌رده یا بالاتر باشد — صفحهٔ میزبانی چت سطوحی را که در برابر هر یک از این حالت‌ها توصیه می‌کنیم فهرست می‌کند.

آپ‌تایم این‌جا بیشتر از بیشتر بارهای کاری اهمیت دارد، چون یک سرور چت که از دسترس خارج است تنها در دسترس نبودن نیست — بلکه به‌آرامی رویدادهایی را از دست می‌دهد که همتاها مدتی دوباره تلاش می‌کنند و سپس ارسال آن‌ها را متوقف می‌کنند. فدراسیون در برابر چند دقیقه اغماض دارد و در برابر چند روز بی‌رحم است.

مخزن رسانه یک بمب دیسکی آهسته است

هر تصویر، ویدیو و فایلی که از اتاقی عبور کند که کاربران شما در آن هستند می‌تواند روی دیسک شما ذخیره شود، از جمله رسانهٔ راه دوری که کاربران خودتان هرگز باز نکرده‌اند. نگهداری پیش‌فرض در Synapse آن را برای همیشه نگه می‌دارد. نتیجه قابل پیش‌بینی است و هنوز افراد را غافلگیر می‌کند: سروری که پایگاه‌دادهٔ آن پایدار است اما پوشهٔ رسانهٔ آن بی‌سروصدا رشد می‌کند تا این‌که حجم پر می‌شود، و در آن نقطه علامت دیگر «دیسک پر است» نیست بلکه «سرور رفتار عجیبی دارد» است.

از همان روز اول برای رسانهٔ راه دور یک سیاست نگهداری تعیین کنید، نه بعد از اولین قطعی. Synapse تنظیمات نگهداری را در homeserver.yaml در اختیار می‌گذارد، به‌همراه نقاط پایانی مدیریتی برای پاک کردن تاریخچه و فایل‌های ذخیره‌شدهٔ قدیمی؛ synapse-compress-state مقدار شگفت‌آوری از جدول‌های وضعیت روی یک سرور قدیمی‌تر بازپس می‌گیرد. هم پایگاه‌داده و هم مسیر رسانه را زیر نظر داشته باشید، و به‌جای هشدار روی از کار افتادن سرویس، روی فضای آزاد هشدار تنظیم کنید — علامت دوم روزها بعد از اولی می‌رسد.

یک تنظیم شایستهٔ یک تصمیم آگاهانه است، نه یک پیش‌فرض. پیش‌نمایش لینک‌ها باعث می‌شود سرور شما هر لینکی که در یک اتاق ارسال می‌شود را واکشی کند، به این معنا که آدرس IP سرور شما همان لحظه‌ای که کسی یک لینک را جای‌گذاری می‌کند، یک درخواست خروجی به یک شخص ثالث می‌فرستد — از جمله لینکی که مشخصاً برای دیدن اینکه چه کسی طعمه را می‌گیرد انتخاب شده باشد. اگر هوم‌سرور شما پشت یک لایهٔ محافظ قرار دارد و آدرس واقعی آن اهمیت دارد، این را با دقت بسنجید؛ راهنمای ما دربارهٔ پنهان کردن آدرس سرور مبدأ همین دسته از نشت اطلاعات را با جزئیات بیشتری پوشش می‌دهد.

ثبت‌نام، اسپم و شهرتی که به ارث می‌برید

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

پیش‌فرض‌های قابل‌دفاع ساده هستند. enable_registration را برای یک سرور خصوصی خاموش نگه دارید و خودتان حساب‌ها را بسازید. اگر می‌خواهید در باز بماند، آن را دروازه‌بانی کنید: registration_requires_token ثبت‌نام را بدون هیچ سرویس شخص‌ثالثی به یک سیستم دعوتی تبدیل می‌کند، و یک کپچا در برابر انتهای خام مشکل کمک می‌کند. برای اتاق‌هایی که مدیریت می‌کنید، بات‌های مدیریتی از خانوادهٔ Mjolnir و Draupnir به شما اجازه می‌دهند فهرست‌های مسدودسازی و ACLهای اتاق را در کل یک جامعه به‌جای یک اتاق در هر بار اعمال کنید.

دانستنش در جهت مقابل هم ارزش دارد: محدودهٔ آدرس‌های ما روی فهرست‌های مسدودسازی ACL مربوط به Matrix که میان هوم‌سرورها دست‌به‌دست می‌شود حمل نمی‌شود، بنابراین یک سرور تازه با شهرتی پاک شروع می‌کند. آنچه بعداً بر سر آن شهرت می‌آید را نحوهٔ اداره کردن ثبت‌نام تعیین می‌کند، نه محل قرارگیری ماشین.

بریج‌ها، و صورت‌حساب متادیتایی که همراه می‌آورند

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

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

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

یک سرور Matrix یک فایل دارد که از دست دادن آن به شکلی جبران‌ناپذیر است که هیچ ربطی به حجم داده ندارد. کلید امضا — signing.key در Synapse — همان چیزی است که به سرور شما اجازه می‌دهد ثابت کند رویدادهایی که ادعا می‌کنند از دامنهٔ شما آمده‌اند واقعاً چنین‌اند. آن را از دست بدهید و دیگر نمی‌توانید به‌طور قابل‌باور سرور خودتان باشید؛ همتاها رویدادهایی را که یک غریبه با نام شما امضا کرده رد می‌کنند. آن را جدا از هر چیز دیگر پشتیبان بگیرید، و آن نسخه را خارج از ماشین نگه دارید.

از کلید و پایگاه‌داده پشتیبان بگیرید، و بفهمید چرا بازیابی یکی بدون دیگری خطرناک است. بازگرداندن پایگاه‌دادهٔ Matrix به یک نسخهٔ قدیمی‌تر، سرور شما را در وضعیتی قرار می‌دهد که همتایانش از آن پیش‌تر رفته‌اند، و واگرایی حاصل بسیار سخت‌تر از یک بازسازی تمیز است. با pg_dump نسخه‌های پشتیبان پیوسته بگیرید، آن‌ها را خارج از ماشین نگه دارید، و به یاد داشته باشید که در این پلتفرم هیچ نسخهٔ پشتیبان سمت ارائه‌دهنده‌ای برای رجوع وجود ندارد — هیچ‌چیز پس از فسخ نگه‌داری نمی‌شود، که کل هدف این ترتیب همین است و در راهنمای پشتیبان‌گیری ما پوشش داده شده.

به‌روزرسانی‌ها معمولی هستند اما اختیاری نیستند. نسخه‌های جدید هوم‌سرور مهاجرت‌های اسکیمای پایگاه‌داده به همراه دارند، و رد شدن از چندین نسخه یک به‌روزرسانی پنج‌دقیقه‌ای را به یک بعدازظهر کامل تبدیل می‌کند. پیش از پرش، یادداشت‌های انتشار را بخوانید، به‌اندازه‌ای منظم به‌روزرسانی کنید که هر گام کوچک بماند، و بهداشت پایهٔ میزبان را از چک‌لیست سخت‌سازی ساعت اول انجام دهید — یک سرور چت یک سرویس رو-به-اینترنت با عمر طولانی و یک پایگاه‌داده متصل به آن است، و سزاوار همان رفتار است.

محل قرارگیری سرور همچنان نتیجه را تعیین می‌کند

همهٔ آنچه در بالا آمد پیکربندی است. بخشی که پیکربندی نمی‌تواند به آن دست بزند این است که کدام نظام حقوقی درخواستی دربارهٔ کاربران شما دریافت می‌کند، و برای یک سرور ارتباطی این پرسش وزن بیشتری نسبت به یک وب‌سایت دارد. یک هوم‌سرور سوابق عضویت، برچسب‌های زمانی و دادهٔ گراف اجتماعی را حتی وقتی بدنهٔ پیام‌ها رمزگذاری شده، به‌صورت آشکار نگه می‌دارد — پس حوزهٔ قضایی میزبان آن، همان حوزه‌ای است که دسترسی به آن سابقه را حکومت می‌کند.

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

نسخهٔ کوتاه

اگر می‌خواهید فقط شش چیز از این صفحه با خود ببرید، این‌ها را ببرید:

  • server_name را پیش از نصب هر چیزی انتخاب کنید — این تنها تصمیمی است که هرگز نمی‌توانید آن را تجدیدنظر کنید.
  • با /.well-known/matrix/server یا یک رکورد SRV delegate کنید، و TLS معتبر را روی هر دو نام نگه دارید.
  • برای اتاق‌هایی که کاربران شما به آن‌ها می‌پیوندند اندازه‌گیری کنید، نه برای تعداد کاربرانی که دارید.
  • از همان روز اول نگهداری رسانه را تنظیم کنید، و دربارهٔ پیش‌نمایش لینک‌ها آگاهانه تصمیم بگیرید، نه اینکه پیش‌فرض را به ارث ببرید.
  • ثبت‌نام را بسته یا دارای توکن نگه دارید؛ بازگرداندن شهرت سوخته‌شدهٔ یک دامنه پرهزینه است.
  • signing.key را جداگانه پشتیبان بگیرید، و هرگز پایگاه‌داده را پشت‌سر همتایان خود عقب نبرید.

این کارها را انجام دهید و سرور شما بی‌دردسر خواهد بود، که دقیقاً همان چیزی است که یک سرور چت باید باشد. آنچه در ازای آن به دست می‌آورید ارزش صریح بودن دارد: نه نامرئی بودن، و نه پروتکلی که پنهان کند چه کسی با چه کسی صحبت می‌کند، بلکه گفت‌وگوهایی که محتوایشان مال شماست، حسابی که هیچ‌کس دیگری نمی‌تواند ببندد، و ماشینی که زیر نظامی حقوقی نشسته که خودتان آگاهانه انتخاب کرده‌اید. هوم‌سرور را جایی بگذارید که خودتان انتخاب کرده‌اید، و بگذارید فدراسیون به سراغش بیاید.

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

سرور Matrix شخصی — پرسش‌های متداول

01 آیا خوداستقراری Matrix پیام‌های من را خصوصی‌تر می‌کند؟

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

02 آیا مدیران هوم‌سرورهای دیگر می‌توانند اتاق‌های من را بخوانند؟

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

03 Synapse یا Conduit — کدام را اجرا کنم؟

برای یک سرور خصوصی کوچک، Conduit یا conduwuit را انتخاب کنید، چون یک باینری تکی به زبان Rust با پایگاه‌دادهٔ توکار، به‌راحتی روی یک پلن ورودی اجرا می‌شود و توجه بسیار کمی نیاز دارد. Synapse را برای هر چیزی که انتظار رشد آن، اجرای بریج روی آن، یا مدیریت عمومی آن را دارید انتخاب کنید، چون پیاده‌سازی مرجع است و هر ویژگی و ابزار مدیریتی ابتدا روی آن هدف‌گذاری می‌شود. مهاجرت میان پیاده‌سازی‌ها بعداً به معنای خروجی گرفتن و بازسازی است، پس با در نظر گرفتن سال دوم انتخاب کنید.

04 یک سرور Matrix چقدر رم نیاز دارد؟

برای Synapse، حدود 2 گیگابایت برای شروع، تقریباً 4 گیگابایت برای ده تا پنجاه کاربر فعال، و 8 گیگابایت یا بیشتر فراتر از صد کاربر. سرورهای خانوادهٔ Conduit بسیار کمتر از این ارقام مصرف می‌کنند. اصلاح مهم این است که حافظه به تعداد و اندازهٔ اتاق‌هایی وابسته است که کاربران شما به آن‌ها می‌پیوندند، نه به تعداد حساب‌هایی که میزبانی می‌کنید — چند کاربر در چند اتاق عمومی بزرگ، هزینه‌ای بیشتر از بسیاری کاربر در اتاق‌های خصوصی کوچک دارند.

05 چرا هوم‌سرور من این‌قدر دیسک مصرف می‌کند؟

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

06 آیا باید ثبت‌نام را باز بگذارم؟

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

07 آیا اجرای یک بریج رمزگذاری سرتاسری را می‌شکند؟

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

08 آیا می‌توانم بعداً server_name خودم را تغییر دهم؟

نه، و این نکته‌ای است که ارزش دارد پیش از نصب دو بار بخوانید. server_name در هر شناسهٔ کاربری، شناسهٔ اتاق و رویداد امضاشده‌ای که سرور شما تولید می‌کند جای گرفته، پس تغییر آن به معنای رها کردن حساب‌ها و اتاق‌ها است، نه تغییر نام آن‌ها. دامنهٔ ساده‌ای را که واقعاً می‌خواهید انتخاب کنید، سپس با delegation از طریق well-known یا یک رکورد SRV آن را به هر میزبانی که نرم‌افزار را اجرا می‌کند اشاره دهید.

هوم‌سرور را همان‌جا اجرا کنید که خودتان انتخاب کرده‌اید

هفت حوزهٔ قضایی، روت کامل، ISO سفارشی و پهنای‌باند نامحدود در هر پلن — از $7.50/ماه برای یک سرور کوچک Conduit یا Dendrite. بدون KYC، بدون ایمیل، فقط پرداخت کریپتویی.

مشاهده پلن‌های VPS همه مناطق Private Hosting