From 836a87e8bc9b285c411ce7754ffa697962ad4948 Mon Sep 17 00:00:00 2001 From: Awiteb Date: Fri, 18 Oct 2024 22:47:59 +0000 Subject: [PATCH] feat: Introduce new json format and relays concept Signed-off-by: Awiteb --- content/ar/protocol/v1.md | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/content/ar/protocol/v1.md b/content/ar/protocol/v1.md index 442ba08..5363ea9 100644 --- a/content/ar/protocol/v1.md +++ b/content/ar/protocol/v1.md @@ -46,7 +46,7 @@ add_toc = true ## عنوان دليل الخوادم {#servers-dir-domain} -عنوان دليل الخوادم هو نطاق عادي على سبيل المثال `example.com` يحتوي على المسار التالي /.well-known/oxidetalis/servers ومحتوى هذا المسار ملف json يوجد به خادم او اكثر يستخدمونها مستخدمين هذا الدليل. +عنوان دليل الخوادم هو نطاق عادي على سبيل المثال `example.com` يحتوي على المسار التالي /.well-known/oxidetalis/directory ومحتوى هذا المسار ملف json يوجد به خادم و مُرحلات مستخدمين هذا الدليل. الخادم الذي في هذا الدليل يكون اسمه خادماً إذا كان يقبل التواصل الداخلي، إذا كان يقبل التواصل الخارجي فقط حتى بين مستخدمينه، يصبح اسمه مُرحل. @@ -55,7 +55,16 @@ add_toc = true ### مهمة هذا الدليل {#why-dir} -في الإتصال الخارجي يحتاج المُرسل معرفة خادم المُستقبل لإرسال الرسالة إليه، عبر هذا الدليل سيعرف المُرسل الخوادم التي يوجد بها المُستقبل. +في الإتصال الخارجي يحتاج المُرسل معرفة خادم المُستقبل لإرسال الرسالة إليه، عبر هذا الدليل سيعرف المُرسل خادم المُستقبل و المُرحلات التي يستقبل الرسائل منها. + +### الخادم و المُرحلات {#server-and-relays} + +المستخدم يمكن أن يكون لديه خادم واحد أو لا يكون لديه، من خلال هذا الخادم سوف يتم جلب ملف تعريف المستخدم، أسمه و صورة ملفه التعريفي و النبذة و أي معلومات خاصة به. +و يستطيع الخادم تحويل الرسائل الخارجية إلى مستخدميه مثله مثل المُرحلات. + +المُرحل لديه وظيفة واحدة فقط، وهي تحويل الرسائل الخارجية إلى مستخدميه، ليس لدى المرحل أي وظيفة أخرى، لا يقوم بتخزين ملفات مستخدمينه التعريفية ولا أي معلومات ما عدى عناوينهم العامة لتحويل الرسائل إلهم. + +> سوف يتم الإشارة إلى الخوادم و المُرحلات بخوادم في هذا التوثيق. ### الإشارة إلى مستخدمين الدليل {#mention-dir-users} @@ -69,25 +78,31 @@ add_toc = true النوع الثاني وهو خدمات شبكة Tor المخفية، سوف يتم الإتصال بها بـhttp و ws، يتم الإشارة إليها بوضع عنوانها في شبكة Tor فقط بدون المنفذ، على سبيل المثال duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion -يتم وضع خوادم الدليل في المفتاح `otmp_servers` وهي مصفوفة نصية يوجد بها الخوادم + +### محتوى المسار /.well-known/oxidetalis/directory في الدليل {#dir-content} + +يجب أن يرجع هذا المسار نص بتنسيق JSON يحتوي هذا النص على المفتاحين "server" و "relays"، محتوى المفتاح "server" نص ([تم توضيح تنسيقه هنا](#servers-dir)) ويمكن أن يكون null و المفتاح "relays" مصفوفة نصية يوجد بها المُرحلات ([تم توضيح تنسيقها هنا](#servers-dir)) ويمكن أن تكون null. +يمكن للمستخدم أن لا يكون لديه خادم بالتالي لن يكون لديه ملف تعريفي، و يمكن أن لا يكون لديه مُرحلات وسوف يتم التواصل الخارجي عبر خادمه. يعد الدليل تالف إذا لم يكن به خادم ولا مُرحلات. + #### أمثلة {#dir-example} -في المثال التالي مُخرج الدليل `example.com` في المسار /.well-known/oxidetalis/servers ويتضح به انه لايوجد إلا خادم واحد +في المثال التالي مُخرج الدليل `example.com` في المسار /.well-known/oxidetalis/directory ويتضح به انه لايوجد إلا الخادم
```json -{ "otmp_servers": ["otmp.example.com:443"] } +{ "server": "otmp.example.com:443", "relays": null } ```
-في المثال التالي مُخرج الدليل `example.net` في المسار /.well-known/oxidetalis/servers ويتضح به انه يوجد خادمين، واحد في شبكة الإنترنت العالمية و الأخر في Tor +في المثال التالي مُخرج الدليل `example.net` في المسار /.well-known/oxidetalis/directory ويتضح به انه يوجد مُرحلين فقط
```json { - "otmp_servers": [ - "otmp.example.net:7294", + "server": null, + "relays": [ + "random-relay.tld:7294", "duckduckgogg42xjoc72x3sjasowoarfbgcmvfimaftt6twagswzczad.onion" ] }