سوالات عمومی

این یک لیست کامل از سوالات مکرر است، از جمله برخی از سوالات فنی.

اصول

جمی چیه؟

به عنوان مثال:

جمی چی معنی داره؟

انتخاب نام جامی از کلمه سواییلی jamii که به معنای community به عنوان اسم و together به عنوان یک جزییات است الهام گرفته شده است. این نام به این دلیل انتخاب شد که منعکس کننده چشم انداز پروژه است: یک برنامه رایگان / آزاد برای همه که به کمک به جمع آوری جوامع کمک می کند ، از سوی جامعه پشتیبانی می شود و به آزادی و حریم خصوصی کاربران احترام می گذارد.

چطور ميتونم گزارش بگ بزنم؟

لطفا به عنوان:doc:`بگ گزارش راهنما ببینید.

چه چیزی جمی را از سایر سیستم عامل های ارتباطی متفاوت می کند؟

جامی مانند اکثر سیستم عامل های ارتباطی کار نمی کند زیرا * توزیع شده است*:

توپولوژی شبکه های متمرکز، غیرمتمرکز و توزیع شده

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

What do the green/orange/red status circles next to avatars mean?

On your own account, a red circle means that you aren't connected to the DHT or offline. You should have a detailled error banner explaining the issue. You may need to check your connection or restart the app.

For contacts, no circle means that no device is detected on the DHT. This contact is unreachable. If an orange circle is present, this means that at least a device is announced on the DHT, so this contact SEEMS to be reachable. You do not have a direct connection towards this peer yet. But they should be able to receive connection requests. Because the device is not directly connected to anything, we can't determine for sure the status of this device. So this can be translated to "Seems to be reachable", but connection may fail (firewall, deadlock, NAT, etc).

The presence generally have a TTL of 10 min over the DHT and several hours if push notifications are enabled.

If a green circle is present, this means that you're connected to a device of this peer.

چرا يه ویژگی در موکل من گم شده؟

همه مشتریان همه ویژگی ها را اجرا نمی کنند؛ لیست را بررسی کنید:doc:` اینجا <همه ویژگی ها به صورت مشتری>` تا ببینید آیا مشتری شما ویژگی را از دست می دهد.

شما می توانید درخواست های ویژگی را در https://git.jami.net انجام دهید.

جمي دستاوردهاي بازي رو ميخواد؟

شما می توانید دریافت خواندن را در Android فعال یا غیرفعال کنید. سایر سیستم عامل ها ممکن است هنوز در این ویژگی کار کنند. لطفا برای وضعیت فعلی:doc:All Features by Client <all-features-by-client> را ببینید.

جامي از تايپ اطلاعات پشتیبانی ميکنه؟

اکثر مشتریان از ارسال و دریافت اطلاعیه های تایپ پشتیبانی می کنند. شما می توانید آنها را در تنظیمات عمومی فعال/ غیر فعال کنید.

ميشه صفحه ي خودم رو به هم بديد؟

در تمام پلتفرم ها به جز iOS، دکمه "تشارک صفحه نمایش" را در هنگام تماس ویدئویی جستجو کنید.

میتونم تماس های کنفرانس گروه رو بگیرم؟

بله. شما می توانید با کلیک بر روی دکمه "به اشتراکگر اضافه کنید" تماس های Jami را به تماس های موجود (آدیو یا ویدیو) اضافه کنید.

جمی چیت های گروهی داره؟

بله، Jami اکنون:doc:../developer/swarm گروه چت دارد. با این حال، آنها در حال حاضر آزمایش هستند و باید از تنظیمات برنامه به صورت دستی فعال شوند. همچنین، چت های گروهی در حال حاضر به 8 شرکت کننده محدود هستند (تا اشکال و مسائل را می توان به راحتی پیدا کرد و در سناریوهای کوچکتر حل کرد و امیدوارم این محدودیت را در آینده رفع کند).

چرا پيام هاي ارسال شده من در تمام دستگاه هاي مرتبط ظاهر نمي شه؟

قبل از گروه، دستگاه های حساب، پیام های مشابهی را از تماس ها دریافت می کردند اگر دستگاه در زمان ارسال پیام آنلاین بود، اما پیام های * ارسال شده* در دستگاه های دیگری به جز فرستنده پیام ظاهر نمی شدند.

با معرفی Swarm، تاریخچه مکالمه مکالمه جدید Swarm (از جمله مکالمه ی یک به یک) بین تمام دستگاه های مرتبط یک حساب کاملاً همگام می شود. اگر از نسخه قدیمی تر Jami استفاده می کنید، لطفاً با پشتیبانی Swarm به آخرین نسخه ارتقا دهید. آخرین نسخه Jami همیشه از صفحه Download وب سایت Jami، در https://jami.net/download/ در دسترس است.

برای کسب اطلاعات بیشتر در مورد Swarm، می توانید پست وبلاگ ما را بخوانید ` هم وقت سازی تاریخچه مکالمه با Swarm <https://jami.net/synchronizing-conversation-history-with-swarm/>`_ و صفحه گروه در راهنمای توسعه دهندگان Jami را ببینید.

میتونم به تماس های غیر فعال پیام بدم؟

با:doc:../developer/swarm مکالمه، هر دستگاه تمام کپی از تمام پیام های آن مکالمه را ذخیره می کند. اگر یک دستگاه (که خود شما باشد یا شرکت کننده دیگری) در هنگام ارسال یک پیام در دسترس نیست / آنلاین است، هنگامی که دوباره به اینترنت می آید، سعی می کند هر پیام جدیدی را از سایر دستگاه های آنلاین / همسالان به خود جلب کند و تاریخچه پیام را هم وقت ساز کند. این کار می تواند هر زمان انجام شود که حداقل یک دستگاه دیگر که کپی پیام های جدید را دارد نیز آنلاین باشد.

توجه

شما می توانید بیشتر در مورد چگونگی همبستگی مکالمات سوارم در پست وبلاگ ما مطالعه کنید ` همبستگی تاریخچه مکالمات با سوارم <https://jami.net/synchronizing-conversation-history-with-swarm/>`_.

اگر شرکت کنندگان در مکالمه اغلب در همان زمان آنلاین نیستند (به عنوان مثال ، به دلیل تفاوت زون زمانی) ، یکی از آنها ممکن است انتخاب کند Jami را در یک دستگاه اغلب آنلاین تنظیم کند که پیام های هر شرکت کننده را دریافت می کند و هر بار که آنلاین شوند به دیگران منتقل می کند. بنابراین ، به طور مشابه با یک "سرور" عمل می کند ، در حالی که Jami به طور طبیعی توزیع می شود.

فایل های پیکربندی کجاست؟

Jami پیکربندی خود را (حساب، گواهینامه، تاریخچه) در مکان های مختلف بسته به سیستم عامل ذخیره می کند.

  • GNU/Linux: پیکربندی جهانی در زیر ~/.config/jami/dring.yml و فایل های خاص حساب در زیر ~/.local/share/jami/ قرار دارند. در نهایت، یک دایرکتوری کیش در ~/.cache/jami/ وجود دارد.

  • macOS: پیکربندی کامل در ~/Library/Application Support/Jami/ قرار دارد اگر از طریق https://jami.net نصب شده باشد. نسخه فروشگاه اپلیکیشن از ~/Library/Containers/com.savoirfairelinux.ring.macos/Data/Library/Application Support/jami/ استفاده می کند.

  • ** اندروید**: پیکربندی کامل در ``/data/cx.ring/` (می تواند نیاز به امتیازات ریشه برای مشاهده یا تغییر از خارج از Jami داشته باشد).

  • Windows: پیکربندی جهانی در %AppData%/Local/jami/dring.yml و فایل های خاص حساب در %AppData%/Local/jami/ قرار دارند. در نهایت، یک دایرکتوری پیشگیر در ``%USERPROFILE%/.cache/jami/` وجود دارد.

توجه: پیام های صوتی و ویدیویی در داده های محلی در پوشه: sent_data ثبت می شوند

برای فایل ها، اگر یک فایل ذخیره شود (بر روی فایل کلیک کنید، سپس ذخیره کنید) آن را به دایرکتوری که در تنظیمات برنامه تنظیم کرده اید اضافه می کنید.

براي تماس ها چقدر بايد باند برد داشته باشم؟

برای تماس های صوتی، جامی حدود 100 کیبایت در ثانیه استفاده می کند. برای یک تماس ویدیویی، شما برای کیفیت متوسط، حدود 2 Mbit/s نیاز دارید. اگر اتصال شما کند تر باشد، سرعت بیت به طور خودکار کاهش می یابد.

اگر شما یک کنفرانس ویدیویی را میزبانی می کنید، به طور تقریبی به 2 Mbps اضافی برای هر شرکت کننده نیاز خواهید داشت. به عنوان مثال برای یک کنفرانس با 10 شرکت کننده، هر شرکت کننده به 2 Mbps بالا و پایین و میزبان به 20 Mbps بالا و پایین نیاز خواهد داشت.

جامی همچنین از یک الگوریتم برای تغییر مصرف بسته به کیفیت لینک استفاده می کند. بنابراین، سرعت بیت می تواند حداقل 200 Kbit / s و حداکثر 6 Mbit / s باشد.

How can Savoir-Faire Linux (SFL) afford to give Jami away for free? How does SFL make money with Jami?

Savoir-Faire Linux (SFL) is a consulting company with some R&D projects. Jami is a GPLv3+ project and this will not change. Savoir-Faire Linux already sells services for several fields of expertise (hosting, developing websites and applications, embedded software, etc). Jami is financed several ways:

  • Donations

  • Customization contracts

  • Services for other projects

  • Visibility

  • R&D

  • https://jami.biz

  • As a distributed system, Jami incurs very low costs by design

  • Opt-in collection of anonymized statistics might be added in the future to better understand Jami usage; however, no personal data will be collected.

مدیریت حساب

حساب جمی چيست؟

یک حساب Jami یک کلید رمزگذاری غیر متقابل است. حساب شما توسط یک شناسه Jami شناسایی می شود که یک اثر انگشت است.

براي ایجاد حساب جمي چه اطلاعاتي بايد ارائه بدم؟

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

این اطلاعات را می توانید در صورت انتخاب ارائه دهید (همه اینها اختیاری است):

  1. . یه اوتار

  2. نام نمایش، نامی که مشتریان برای تماس شما نمایش می دهند. می تواند شامل شخصیت های خاص باشد.

  3. یک نام کاربری اختیاری که یک شناسه منحصر به فرد است که مستقیماً با شناسه جمی شما مرتبط است. این نقشه برداری نام کاربری->Jami ID در یک سرور ذخیره می شود (ns.jami.net بطور پیش فرض، اما شما می توانید خود را میزبانی کنید).

  4. رمز عبور. این رمز عبور برای محافظت از آرشیو حساب در دستگاه شما استفاده می شود.

اطلاعات بیشتر در مورد حساب های Jami در :ref:`Texical Overview <developer/technical-overview:Jami Account>]] در دسترس است.

شناسنامه "جامي" من کجاست؟

شناسه جامی شما باید در هر اپلیکیشن که استفاده می کنید به طور برجسته نمایش داده شود. به نظر می رسد یک رشته طولانی از حروف و اعداد؛ به عنوان مثال: f2c815f5554bcc22689ce84d45aefdda1bce9146.

چرا بايد از رمز عبور استفاده کنم؟

شما مجبور نیستید یک رمز عبور در حساب خود داشته باشید. در یک سیستم متمرکز شما می توانید از رمز عبور خود برای تأیید هویت با یک سرور عمومی که حساب شما ذخیره شده است استفاده کنید. کسی که رمز عبور شما را می داند می تواند هویت شما را دزدیده باشد.

با Jami، حساب شما در یک پوشه فاک: در دستگاه شما ذخیره می شود. ** رمز عبور فقط برای رمزگذاری حساب شما برای محافظت از شما از کسی که دسترسی فیزیکی به دستگاه شما دارد استفاده می شود.**

اگر دستگاه شما رمزگذاری شده باشد، ممکن است شما نمی خواهید یا نیازی به استفاده از رمز عبور ندارید، و در واقع نسخه های اخیر Jami هنگام ایجاد حساب های جدید به طور پیش فرض از رمزگذاری حساب درخواست نمی کنند.

Note: changing a password will only change the password on the current device and it's not synced (because their is no server and other devices can be offline anyway).

چرا لازم نيست اسم کاربری رو ثبت کنم؟

دائم ترین و امن ترین شناسه شناسه شما: Jami ID، اما از آنجا که این شناسه ها برای برخی افراد دشوار است، شما همچنین گزینه ثبت نام یک نام کاربر را دارید. ثبت نام نام کاربر نیاز به یک سرور نام دارد، مانند نام پیش فرض Jami در ns.jami.net.

اگر شما یک نام کاربری را ثبت نکرده اید، هنوز هم می توانید در هر زمان دیگری انتخاب کنید.

اگر سرور نام خود را در example.com میزبانی کنید، نام های کاربر ثبت شده در آن می تواند با جستجوی username@example.com جستجو شود.

میتونم اسم کاربریم رو عوض کنم؟

با سرور نام پیش فرض (ns.jami.net) نمی توانید نام کاربری خود را تغییر دهید.

تفاوت بین نام کاربری و نام نمایش چیست؟

شما می توانید از نام کاربری خود به عنوان شناسه استفاده کنید. نام کاربری به ID :ref:`Jami شما اشاره می کند.

نام نمایش به شما اجازه می دهد نام دیگری را انتخاب کنید که شما را به مخاطبانتان معرفی می کند. نام نمایش را می توان در هر زمان ویرایش یا تغییر داد و فقط مخاطبان شما می توانند آنها را ببینند.

چطور ميتونم حسابم رو پشتيباني کنم؟

دو راه براي پشتيباني حسابت هست:

  1. دستگاه دیگری را به حساب خود وصل کنید تا حساب شما در دو دستگاه باشد. شما می توانید این گزینه را در صفحه تنظیمات حساب پیدا کنید.

  2. پشتیبان گیری آرشیو حساب:ref:` <developer/technical-overview:Jami archive (export.gz)>`. این فایل را می توانید در فایل های حساب:ref:فولدر <user/faq:کجا فایل های پیکربندی قرار دارند؟>. در برخی از مشتریان، می توانید این آرشیو را از تنظیمات حساب صادر کنید.

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

اگر از سرور نام پیش فرض در ns.jami.net استفاده کردید، ** نمی توانید**. هیچ راهی برای اثبات این است که نام کاربر شما بدون کلید شما است.

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

برای اطلاعات بیشتر در مورد سرورهای نام، در اینجا ببینید:doc:../developer/name-server-protocol.

اگه رمز عبورم رو فراموش کنم ميتونم حسابم رو بازيابي کنم؟

نه. نمی تواند یک فرآیند بازیابی حساب سنتی وجود داشته باشد؛ شما تنها کسی هستید که به داده های خود دسترسی دارید. اگر نگران فراموش کردن رمز عبور هستید، لطفا از یک مدیر رمز عبور استفاده کنید.

وقتي حسابم رو حذف کنم چه اتفاقي ميفته؟

حساب شما فقط در دستگاه های خود ذخیره می شود. اگر حساب خود را از هر دستگاه حذف کنید، حساب گم شده و نمی توانید آن را بازگردانید (مگر اینکه قبلاً نسخه پشتیبان آن را تهیه کرده باشید). پس از آن هیچ کس دیگری نمی تواند از حساب شما استفاده کند.

تماس های شما هنوز پیام هایی که به آنها فرستاده اید را دارند، اما تمام سوابق عمومی حساب شما در DHT به دلیل غیاب و عدم فعالیت در نهایت ناپدید می شوند.

هشدار

سرور نام پیش فرض ns.jami.net` ** هیچ نام کاربر ثبت شده ای را حذف نمی کند - سرور نام های دیگر ممکن است (نه توصیه می شود) ، به تقدیر مدیر آنها. بنابراین، اگر شما یک حساب با نام کاربر ثبت شده در سرور نام پیش فرض دارید و حساب خود را حذف یا از دست می دهید و قبلاً از حساب خود پشتیبان گیری نکرده اید، هیچ کس (از جمله شما) قادر نخواهد بود دوباره یک حساب جدید با نام کاربر ثبت کند، بنابراین هیچ کس دیگر نمی تواند با شما در آن نام کاربر تماس بگیرد.

برای جلوگیری از از دست دادن حساب خود لطفا:ref:` پشتیبان گیری آن را <user/faq:چگونه می توانم پشتیبان گیری حساب خود را؟>`!

پیشرفته

جامي براي رمزگاري از آخر به آخر از چه پروتکل استفاده ميکنه؟

ما از TLS 1.3 با یک نیاز کامل به حفظ محرمانه برای رمزگذاری مذاکره شده برای تماس ها و انتقال فایل استفاده می کنیم. پیام ها با یک کلید RSA رمزگذاری می شوند.

وقتي در شبکه جامي شرکت مي کنم چه داده ها از دستگاه من عبور مي کنن؟

همه این داده ها رمزگذاری شده اند.

  • ICE descriptors of other Jami users (ICE is a protocol that helps establishing communication between two computers)

  • certain text messages

  • حساب هایی که در حال حاضر به یک دستگاه جدید مرتبط هستند، همانطور که در بالا توضیح داده شده است.

جریان های صوتی / ویدیویی و برخی پیام های متنی از طریق پروتکل VOIP عبور می کنند. پیام های متنی می توانند از طریق VOIP یا DHT (شبکه توزیع شده) ارسال شوند بسته به اینکه آیا یک کانال ارتباطی VOIP باز است یا نه.

چرا من قادر به ارتباط با خودم هستم؟

بسیاری از کاربران از Jami برای انتقال داده ها از یک دستگاه به ماشین دیگر استفاده می کنند.

بايد اطلاعيه هاي پرش رو فعال کنم؟

اطلاعیه های پش اجازه می دهد که Jami به شیوه ای سازگارتر با زمینه ی تحرک (استفاده انرژی، داده ها،...) عمل کند. با این حال، در حال حاضر، اطلاعیه ها از طریق سرورهای گوگل، از طریق سرویس Firebase می روند. تنها یک شناسه منتقل می شود و برای هر کسی که دسترسی به حساب شما ندارد غیرفعال است.

یک سرور بوتر استراپ چیست؟

یک سرور بوتر استرپ نقطه ورود شبکه توزیع شده است. برای ورود به یک شبکه، Jami باید یک گره دیگر را بشناسد. این نقش بوتر استرپ است. این می تواند هر گره ای در شبکه باشد، اما، گره های بوتر معمولا همیشه بالا و در دسترس هستند. یکی از پیش فرض در Jami bootstrap.jami.net است.

سرور تورن چيست؟

یک سرور TURN یک رله است و معمولا زمانی استفاده می شود که دو همتایان به دلیل برخی محدودیت های فایروال، NAT بدون هیچ پورت باز و هیچ IPv6 نمی توانند با یکدیگر تماس بگیرند.

یک سرور STUN فقط برای حساب های SIP استفاده می شود و به طور کلی برای دریافت IP عمومی شما استفاده می شود. برای حساب های Jami، DHT این اطلاعات را قبلاً می دهد.

DHT proxy چيست؟

پروکسی DHT یک سرور است که برای شما در DHT ثبت نام می کند و اطلاعات شما را به شما ارسال می کند. بنابراین، این سرور است که در DHT فعال خواهد بود و در شبکه شرکت می کند، و دیگر دستگاه هدف نیست. دستگاه های متعدد می توانند در یک پروکسی DHT ثبت نام کنند.

به طور کلی، برای انتقال داده ها بین دو همسال، 3 مرحله وجود دارد:

  1. نامزدهای مبادله (IP) از طریق DHT

  2. مذاکره کن درباره بهترین کانال p2p بین همسالان

  3. اطلاعات رو به اين سوکت منتقل کن

DHT فقط برای مرحله اول استفاده می شود.

اگه پراکسي DHT رو در اندرويد غیرفعال کنم و اطلاعات پش چي؟

اساساً 3 حالت در مورد نحوه استفاده از برنامه اندروید وجود دارد:

  • با اطلاعیه های پش (DHT proxy باید فعال شود) این حالت پشتیبانی می کند

notifications for Android (via Google/Firebase, and soon Unified Push or Apple/APN). This decrease battery usage, by removing the sync needed with the DHT and without any socket always alive. + Without push notifications but with DHT proxy enabled. This avoids the application synchronizing with other nodes, but "Run in background" MUST be enabled to avoid the operating system killing the application. + Without DHT proxy. In this case, "Run in background" MUST be enabled to avoid the operating system killing the application. The application will synchronize with the other DHT nodes.

هنوزم با برنامه اندروید مشکل دارم حتی اگه بهینه سازی باتری غیر فعال باشه

لطفا برای اطلاعات بیشتر https://dontkillmyapp.com را بخوانید. اگر این مسئله شما را حل نکند، می توانید یک گزارش بگ (به طور ایده آل با یک سناریو برای کمک به ما برای تولید مجدد و / یا ثبت نام) را باز کنید.

سرویس ثبت نام نام کاربر چگونه کار می کند؟

با سرور نام پیش فرض (ns.jami.net) ، نام های کاربر در یک بلاکچین Ethereum ثبت شده است. اگر شما یک توسعه دهنده هستید، می توانید سرور نام خود را با فناوری ذخیره سازی داده های زیربنایی انتخاب خود بسازید (به عنوان مثال می توانید از یک پایگاه داده SQL به جای استفاده از یک بلاکچین استفاده کنید).

با سرور نام پیش فرض، می توانید نام های کاربر را در https://ns.jami.net/name/test, جایی که test یک نام کاربر است که برای آن به دنبال تطابق هستیم:doc:Infohash <../developer/jami-identifiers>. پس از ثبت نام، این نام سرور **** هیچ راهی برای حذف نقشه برداری ارائه نمی دهد.

بیشتر در مورد Jami:doc:../developer/name-server-protocol بخوانید.

چطور ميتونم زماني براي تماس رو عوض کنم؟

در فایل dring.yml (ببینید:ref:user/faq:فایل های پیکربندی کجا قرار دارند؟) ، می توانید ringingTimeout (در ثانیه) را تغییر دهید.

چگونه پشتیبان گیری و واردات مجدد مکالمات و حساب ها را انجام دهیم

توجه

این فقط برای مشتریان مبتنی بر LRC (کتاب میز) است.

ابتدا باید تمام حساب های خود را صادر کنید (برای GNU/Linux: Settings => `Account => `Export account) سپس باید پایگاه داده را کپی کنید (به عنوان مثال ~/.local/share/jami/).

سپس در دستگاه جدید، هنگامی که شما برای اولین بار Jami را باز می کنید، باید حساب های خود را از طریق آرشیو ذخیره شده دوباره وارد کنید. این تنظیمات و تماس های شما را دوباره وارد می کند (با مکالمات خالی). سپس مشتری را ببندید و پایگاه داده را با ذخیره شده قبلی جایگزین کنید. این همه است!

چقدر امن هستي؟

** ما از TLS/SRTP برای امنیت اتصال و ارتباطات از طریق شبکه استفاده می کنیم.**

ما SRTP را بر روی SIP با استفاده از توصیه هایی که در دو RFC زیر توصیف شده است پیاده سازی می کنیم:

معمولاً دو نوع سوکت مذاکره می شود یکی برای سوکت کنترل و دیگری برای سوکت رسانه ای.

جلسه کنترل معمول از مجموعه رمزگذاری زیر استفاده می کند:

(TLS1.3)-(ECDHE-SECP384R1)-(RSA-PSS-RSAE-SHA384)-(AES-256-GCM)
(TLS_ECDHE_RSA_AES_256_GCM_SHA384)

DTLS (fallback) پشتیبانی شده:

"SECURE192:-KX-ALL:+ANON-ECDH:+ANON-DH:+SECURE192:-VERS-TLS-ALL:+VERS-DTLS-ALL:-RSA:%SERVER_PRECEDENCE:%SAFE_RENEGOTIATION"

TLS:

"SECURE192:-KX-ALL:+ANON-ECDH:+ANON-DH:+SECURE192:-RSA:-GROUP-FFDHE4096:-GROUP-FFDHE6144:-GROUP-FFDHE8192:+GROUP-X25519:%SERVER_PRECEDENCE:%SAFE_RENEGOTIATION"

مجموعه رمزنگاری شده پشتیبانی شده برای جلسه رسانه ای عبارتند از:

  • ``AES_CM_128_HMAC_SHA1_80 / SRTP_AES128_CM_HMAC_SHA1_80`

  • ``AES_CM_128_HMAC_SHA1_32 / SRTP_AES128_CM_HMAC_SHA1_32`

چه موقع اطلاعات عمومی آشکار می شوند؟

ما می توانیم سه سناریو اصلی اتصال را در نظر بگیریم: (1) یک پیکربندی کلاسیک، (2) پشت یک VPN، (3) از طریق Tor. از آنجا که Jami یک برنامه p2p است، خواننده احتمالا می داند که (2) یا (3) برای جلوگیری از انتشار IP کمی اجباری است.

علاوه بر این، حتی اگر این پاسخ من باشد، شما می توانید انتخاب کنید که به پاسخ من اعتماد نکنید و کد را بررسی کنید، یا از وایرسارک یا ابزارهای دیگر استفاده کنید. به طور کلی، من (و تا آنجا که من بیشتر توسعه دهندگان Jami را می دانم) از سناریو اول (گاهی اوقات دوم) استفاده می کنم و ما قطعا نمی توانیم تمام پیکربندی های شبکه ای را که می خواهیم آزمایش کنیم، بنابراین اگر یک خطا را کشف کنید، لطفا:doc:`

به هر حال، در این سه سناریو، سه عمل اصلی وجود دارد:

  • ارسال یک پیام (این از DHT استفاده خواهد کرد) ؛

  • ارسال یک فایل (TCP ICE اتصال به عنوان شرح داده شده در اینجا: انتقال فایل) و

  • قرار دادن تماس (TCP + UDP ICE اتصال به عنوان شرح داده شده در اینجا: تماس‌ها).

تنظیمات کلاسیک

  • ارسال پیام

برنامه Jami یک گره DHT (https://opendht.net) را در دستگاه شما اجرا می کند. بنابراین هر عملیاتی در DHT از ips شما استفاده خواهد کرد. به همین دلیل Jami گزینه ای برای استفاده از dhtproxy (به عنوان مثال dhtproxy.jami.net) دارد، این از استفاده از گره شما جلوگیری می کند، اما از گره دیگری در شبکه استفاده می کند (که ip شما را می بیند). توجه داشته باشید که پیام شما مستقیما به دستگاه دیگر ارسال نمی شود. در واقع پیام شما در برخی گره های DHT ارسال می شود و تماس شما پیام را در این گره بازمی گیرد. بنابراین، تماس شما IP شما را در این مرحله نمی بیند، اما گره ای که پیام را دریافت می کند (یا آنها IP گره را می بینند).

  • ارسال فایل

همانطور که در اسناد توضیح داده شده، شما یک پیام با تمام IP می فرستید که می دانید که همتایان شما می توانند با یک بسته رمزگذاری شده تماس بگیرند. بنابراین، اگر همتایان شما یک فایل را به شما ارسال کنند یا شما یک فایل را ارسال کنید، آدرس های شما در پیام ICE ظاهر می شوند.

  • تماس‌ها

همان طور که در بالا، IP در ICE حضور دارد.

پشت یک VPN

  • ارسال پیام

IP VPN شما توسط گره DHT استفاده خواهد شد. اگر می خواهید اثبات کنید، می توانید dhtnode را مرتب کنید و دستور la را اجرا کنید تا آدرس عمومی شما شناسایی شود. این چیزی است که من دریافت کردم:

./tools/dhtnode -b bootstrap.jami.net
Bootstrap: bootstrap.jami.net:4222
OpenDHT node be58fdc9f782269bfc0bbfc21a60bca5f02cb881 running on port 54299
 (type 'h' or 'help' for a list of possible commands)

>> la
Reported public addresses:
IPs OF MY VPN

بنابراین، اگر از یک پروکسی استفاده نکنید، آدرس های VPN شما برای استفاده از DHT استفاده می شود. اگر از یک Dhtproxy استفاده کنید، dhtproxy آدرس های VPN شما را مشاهده خواهد کرد.

  • ارسال فایل

همان طور که در بالا، ICE شامل خواهد شد: + آدرس از LAN شما + آدرس عمومی VPN شما + آدرس TURN اگر TURN فعال است

  • تماس بگير

همان طور که در بالا، آدرس عمومی شما با آدرس VPN شما جایگزین می شود. شما می توانید آن را در نوارها از daemon مشاهده کنید.

تور

  • ارسال پیام

Tor اساساً از UDP پشتیبانی نمی کند. این بدان معنی است که شما نمی توانید از گره DHT خود را به صورت محلی استفاده کنید، شما باید از DHTProxy استفاده کنید. این گره خروج را مشاهده می کند.

  • ارسال فایل

من دليل رو از هر توصيفي ترجيح ميدم پس من با Jami + TOR يه انتقال پرونده انجام دادم اين چيزي است که در دفترچه هاي ريموت مي بينم

[1574218330.556|10688|p2p.cpp           :241  ] [Account:93a03f519f394143] add remote ICE candidate: Hc0a8c801 1 TCP 2130706431 192.168.200.1 33293 typ host tcptype passive
[1574218330.556|10688|p2p.cpp           :241  ] [Account:93a03f519f394143] add remote ICE candidate: Hc0a8c801 1 TCP 2130706431 192.168.200.1 9 typ host tcptype active
[1574218330.556|10688|p2p.cpp           :241  ] [Account:93a03f519f394143] add remote ICE candidate: Hc0a80103 1 TCP 2130706431 192.168.1.3 33293 typ host tcptype passive
[1574218330.556|10688|p2p.cpp           :241  ] [Account:93a03f519f394143] add remote ICE candidate: Hc0a80103 1 TCP 2130706431 192.168.1.3 9 typ host tcptype active
[1574218330.556|10688|p2p.cpp           :241  ] [Account:93a03f519f394143] add remote ICE candidate: R33fe279d 1 TCP 16777215 51.254.39.157 27427 typ relay tcptype passive
[1574218330.556|10688|p2p.cpp           :241  ] [Account:93a03f519f394143] add remote ICE candidate: Sc0a8c801 1 TCP 1694498815 185.220.101.24 33293 typ srflx tcptype passive

اولین ها 192.168.x.x هستند پس ما اهمیتی نمی دهیم. 51.254.39.157 آدرس TURN در فرانسه است (جهاز من در کانادا است). 185.220.101.24 گره خروج Tor است:

inetnum:        185.220.101.0 - 185.220.101.127
netname:        MK-TOR-EXIT
  • تماس بگير

این کار نمی کند (در واقع، شما می توانید اتصال کنترل SIP را ایجاد کنید زیرا اتصال TCP است) ، اما رسانه ها در UDP مذاکره می شوند، بنابراین این شکست می خورد.

جمی از چه بندر هایی استفاده می کند؟

جامی به عنوان یک سرور کار می کند و برای هر اتصال پورت های جدید دریافت می کند (به طور تصادفی محدود). این دامنه هایی هستند که می توانند برای هر قطعه استفاده شوند:

  • dht: UDP [4000, 8888]

  • صدا: UDP [16384-32766]

  • ویدیو: UDP [49152-65534]

  • کنترل SIP: UDP/TCP به طور تصادفی بسته شده

توجه: اگر UDP مسدود شده باشد، می توان از dhtproxy برای استفاده از TCP استفاده کرد. توجه داشته باشید که رسانه ها کار نمی کنند زیرا فقط از UDP پشتیبانی می کند.

بنابراین برای ufw، ما توصیه می کنیم اجرا کنید ``sudo ufw پیش فرض اجازه می دهد خارج از ``.

در حال حاضر، نمی توانید محدوده خاصی برای پیکربندی پورت های مورد استفاده توسط Jami مشخص کنید. ترافیک ورودی را می توان بدون مشکلی کنترل کرد، Jami باید کار کند و در صورت نیاز می تواند از یک سرور TURN استفاده کند.

اگر شما خود را درکس یا نام سرور اجرا کنید:

  • dhtproxy، نام سرور: TCP [80-100]، 443

اگر سرور TURN خود را اجرا کنید:

  • TURN/STUN: TCP+UDP 3478, 5349

آیا می توانم از Jami در شبکه محلی (LAN) بدون دسترسی به اینترنت استفاده کنم؟

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

برای انجام این کار، از تنظیمات `اکاونت Jami ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` ` `

توجه

اگر شما از این حساب Jami برای ارتباط با دستگاه های دیگر در همان شبکه محلی / خصوصی استفاده می کنید، می توانید TURN را غیرفعال کنید. اگر این کار را انجام دهید و بعدا تصمیم بگیرید از این حساب برای ارتباط با دستگاه های دیگر Jami خارج از شبکه خود استفاده کنید، فراموش نکنید که TURN را دوباره فعال کنید، زیرا به Jami کمک می کند تا با برخی از فایروال های بیش از حد محدود کننده در مورد مشکلات کار کند.

چطور ميتونم کدک ها رو بيشتر تنظیم کنم؟

کدک ها می توانند از طریق یک فایل پیکربندی شوند. در فایل های پیکربندی، می توانید یک فایل به نام encoder.json را به این شکل ایجاد کنید:

{
    "libx264": {
        "profile": 100,
        "level": 42,
        "crf": 20,
        "preset": "ultrafast"
    },
    "h264_vaapi": {
        "low_power": 1
    },
    "libopus": {
        "application": "voip"
    }
}

یا:

{
    "libopus": {
        "bit_rate": 128000
    }
}

این فایل::ref:` در همان دایرکتوری <user/faq:کجا فایل های پیکربندی قرار دارند؟>` به عنوان dring.yml.

برای بررسی اینکه کدام گزینه ها پشتیبانی می شوند، از دستور ffmpeg -h encoder=[encoder_name]` استفاده کنید، جایی که encoder_name` می تواند هر یک از libx264`، `libvpx`, ```mpeg4, `h263, `libopus, `libspeex`, `g722, `pcm_alaw, یا pcm_mulaw (ناوی FFmpeg برای تمام کدرهای پشتیبانی شده توسط Jami).

چطور ميتونم پروسيسر صوتی رو تنظیم کنم؟

یک پردازنده صوتی به Jami اجازه می دهد تا صوتی میکروفون شما را تمیز و پردازش کند. می تواند بازگشت را حذف کند، صدا را کاهش دهد و حجم میکروفون شما را برابر کند. علاوه بر این، می تواند هنگام صحبت کردن شما را تشخیص دهد و این اطلاعات را به شرکت کنندگان در تماس ارسال کند. تنظیمات پردازنده صوتی را می توان در فایل dring.yml تنظیم کرد. برای پیدا کردن مکان این فایل:ref:`

کلید های اولویت مربوطه عبارتند از:

  • audioProcessor، که تنظیم می کند کدام پردازنده صوتی را برای استفاده استفاده کنید. گزینه های معتبر عبارتند از:

    • webrtc: کتابخانه پردازش صوتی WebRTC

    • speex: کتابخانه DSP `Speex

    • null: پردازش صوتی را غیرفعال می کند (اگرچه ممکن است باز هم دستگاه رد صدا سیستم شما استفاده شود، در زیر ببینید)

  • echoCancel، که نحوه لغو بازگشت را تنظیم می کند. گزینه های معتبر عبارتند از:

    • auto: سعی کنید از بازنوازگر بازگشت سیستم عامل خود استفاده کنید (اگر وجود دارد) ، در غیر این صورت به بازنوازگر بازگشت پردازنده صوتی انتخاب شده بازگردید

    • audioProcessor: فقط از بازنوازگر بازگشت پردازنده صوتی انتخاب شده استفاده کنید

    • system: فقط از بازکنرن بازگشت سیستم عامل خود استفاده کنید

    • null: هیچ غزل ای را لغو نکن

  • `` noiseReduce``, true/false تا کاهش صدا در پردازنده صوتی تنظیم شود

  • `` خودکارGainControl``, true/false تا کنترل خودکار دستاورد را روی پردازنده صوتی تنظیم کند

  • صوت فعالیت تشخیص ``, ``true/false