از جمی در LAN استفاده کنید

به دلیل طبیعت توزیع شده Jami، امکان استفاده از آن از طریق یک LAN، بدون هیچ اتصال به اینترنت وجود دارد. این به شما امکان می دهد تا بدون دسترسی به اینترنت جهانی با دیگران در شرکت / ساختمان / کشور ارتباط برقرار کنید. با این حال، برخی از خدمات خارجی هستند بنابراین در این سند ما برخی از اصلاحات را توضیح خواهیم داد که ممکن است نیاز داشته باشید.

افزایش

بوترپ چيست؟

جامی از فناوری DHT برای پیدا کردن کاربران دیگر استفاده می کند. بنابراین، تمام کاربران که می خواهید با آنها تماس بگیرید باید در همان شبکه DHT قابل دسترسی باشند (به عنوان مثال اگر اینترنت بین دو ساختمان تقسیم شود، کاربران در ساختمان های اول نمی توانند به ساختمان دوم برسند). برای ورود به یک شبکه DHT، باید به حداقل یک گره دیگر دسترسی داشته باشید. این گره به عنوان بوترپ نامیده می شود، نقطه ورود شبکه است. به طور پیش فرض bootstrap.jami.net پیکربندی شده است، اما هر گره ای در DHT عمومی می تواند یک بوترپ باشد (این یک گره کلاسیک است، معمولا همیشه آنلاین است).

پس اگر اینترنت قطع شده باشد، برای ایجاد شبکه به یک بوترپ دیگر نیاز دارید. در یک LAN، دو راه برای پیکربندی آن در Jami وجود دارد:

تنظیمات بوتر استرپ

در تنظیمات حساب پیشرفته، کاربر می تواند چندین بوترپ را پیکربندی کند. bootstrap.jami.net معمولا پیش فرض است، bootstrap.jami.net؛your.bootstrap.tld معتبر خواهد بود. IP:port یک گره DHT دیگر می تواند به عنوان بوترپ مشخص شود.

Running a bootstrap

It's possible to run a DHT node to serve as a bootstrap for Jami clients. In this case, the bootstrap field in the settings must be replaced by the new bootstrap. The documentation to run a DHT node is located in OpenDHT's wiki: https://github.com/savoirfairelinux/opendht/wiki/Running-a-node-with-dhtnode

کشف همسالان محلی

روش دیگری این است که کشف همتایان را فعال کنید. این با پخش بسته های UDP (مانند یک پرینتر) بوترپ را در شبکه اعلام می کند. بنابراین، پخش UDP باید توسط شبکه پشتیبانی شود تا کار کند. با این حال، این روش نیازی به مشخص کردن ip:port در تنظیمات ندارد، بنابراین می توان آن را ترجیح داد.

TURN

سرویس خارجی دیگر، سرور TURN است که در صورت جلوگیری از تمام ارتباطات ممکن توسط NAT استفاده می شود. به طور کلی turn.jami.net است اما می تواند هر TURN باشد (ما از coturn استفاده می کنیم، cf. /developer/set-up-your-own-turn-server)

در یک LAN، ممکن است نادیده گرفته شود (چون NAT وجود نخواهد داشت) ، اما غیر فعال کردن آن نباید ضروری باشد (چون اگر غیر قابل دسترسی باشد استفاده نخواهد شد).

در تلفن همراه (DHT Proxy)

یک DHT Proxy با دستگاه های موبایل برای صرفه جویی در باتری با اجتناب از همگام سازی استفاده می شود. این به طور کلی dhtproxy.jami.net است اما می تواند هر گره DHT با REST API فعال باشد. با این حال، اگر DHT proxy از اطلاعیه های پش استفاده می کند، به سرویس خارجی دیگری (Firebase یا APN یا یک نمونه ی Push متحد) بستگی دارد. در این مورد، تنها سوم را می توان به صورت خود میزبان کرد.

در iOS کار بدون فشار اساساً امکان پذیر نیست، زیرا سیستم عامل اپل هر برنامه را به محض اینکه در پس زمینه باشد از بین می برد. بنابراین شما نمی توانید استفاده از اطلاعیه های فشار را غیرفعال کنید. با این حال، برای آندروید، ممکن است بخواهید پراکسی خود را (با یا بدون پشتیبانی یکپارچه فشار) میزبانی کنید، یا می توانید پراکسی DHT را غیرفعال کنید و "در پس زمینه اجرا کنید" را فعال کنید تا از DHT محلی خود استفاده کنید.

نام سرور

در نهایت، آخرین سرویس خارجی که ممکن است به شما نیاز باشد، یک نام سرور است. این برای ترجمه آدرس ها (ID اثر انگشت ۴۰ حرف) به نام های کاربر استفاده می شود. شما ممکن است به ns.jami.net دسترسی نداشته باشید، اما می توانید یکی را به صورت خود میزبان کنید (نام پروتکل سرور) یا فقط از ID ها استفاده کنید.