شعار توفره @RamyashReeshetty
Chitchatter هي أداة اتصال مجانية (كما هو الحال في كل من السعر والحرية). تم تصميمه ليكون أبسط طريقة للتواصل مع الآخرين على انفراد وأمان ، وهي:
Chitchatter يستخدم Vite. لن يكون الشبكات الآمنة وسحر التدفق ممكنًا بدون Tristero. يتم تشغيل وظيفة نقل الملفات بواسطة secure-file-transfer .
افتح https://chitchatter.im/ وانضم إلى غرفة لبدء الدردشة مع أي شخص آخر في الغرفة. بشكل افتراضي ، أسماء الغرف هي uuids عشوائية التي يتم إنشاؤها من جانب العميل. للتواصل الخاص مع شخص ما ، يوصى بالانضمام إلى إحدى هذه الغرف التي تم إنشاؤها عشوائيًا ومشاركة عنوان URL (عبر الزر "؟" في الجزء العلوي من الصفحة) إلى من ترغب في التواصل معه عبر وسيلة آمنة من اختيارك (مثل Note Note أو Yopass). سيتم تقديم اسم المستخدم إليك ، وسيكون من الجيد مشاركة ذلك مع من ستقوم بالدردشة معه مسبقًا حتى يعلموا أنهم يتحدثون معك.
iframe .react-markdown .shift واضغط على enter ).لا يوجد نقص في تطبيقات الدردشة السهلة الاستخدام المتاحة ، لكنها تعتمد على خدمة مركزية لتسهيل الاتصالات. من الصعب الوثوق بهذه الخدمات المركزية ، لأن المصالح التجارية والضغط الحكومي يمكن أن تجبر مشغلي الخدمة على العمل ضد مصلحة المستخدمين. حتى عندما يتم التعامل مع بيانات المستخدم بحسن نية من قبل مشغلي الخدمات ، يبقى الاحتمال أن يتم فك تشفير البيانات المشفرة في الراحة مقابل إرادة المستخدم.
Chitchatter تصاميم حول هذه المخاطر مع بنية شبكة الويب. لا يوجد مشغل خدمة مركزي يخزن أو يحتمل أن يسيء إلى بيانات الاتصال. يتعين على بعض الخدمات إنشاء اتصال أولي بين أقرانهم ، ولكن على خلاف ذلك ، يستخدم التطبيق التواصل المباشر من نظير إلى نظير لكل شيء. أي خدمات تستخدمها Chitchatter ليس لها أي ارتباط بالمشروع وهي متاحة للجمهور لجميع لاستخدامها.
يوفر Chitchatter حلاً خاصًا وآمنًا لـ:
أنا أفكر في إكمال ميزة chitchatter لأنه يفعل كل الأشياء التي أحتاجها شخصيًا للقيام بها. ليس لدي خطط محددة لإضافة وظائف مهمة في المستقبل ، لكنني قد أفعل ذلك إذا بدا لي ممتعًا في ذلك الوقت. أنا ملتزم بإصلاح أي أخطاء مهمة يتم الإبلاغ عنها ، لذا يرجى فتح مشكلة إذا اكتشفت واحدة! بصرف النظر عن ذلك ، فإن Chitchatter هو بشكل فعال في وضع الصيانة في المستقبل المنظور.
إذا كنت ترغب في تنفيذ ميزة وكنت على استعداد لدفع تكلفة التطوير لضمان القيام بذلك ، فيرجى تقديم مشكلة github التي تصف الميزة والإشارة إلى أنك على استعداد للتعويض عن العمل. إذا لم تكن على استعداد للدفع ، فيرجى فتح مشكلة github بغض النظر. قد أقوم بتنفيذها إذا كان من الممتع القيام بذلك ، ولكن قد يصعد أفراد آخرون من المجتمع أيضًا لتنفيذه عبر طلبات السحب.
سأقدم دائمًا طلبات دعم الوقت من الآخرين. إذا كنت على استعداد لوضع العمل لتحسين Chitchatter ، فأنا على استعداد لمساعدة Shepherd التي تعمل على شحنها وشحنها.
إذا كنت لا توافق على اتجاه المشروع ، فنحن نرحب بك في شوكة Chitchatter وتأخذه في آخر.
أنا على استعداد للقيام بتركيبات وتخصيصات من Chitchatter لاحتياجاتك. إذا كنت ترغب في الانقباض لي لتقديم نسخة من chitchatter تم تصميمها خصيصًا لك ، فيرجى مراسلتي عبر البريد الإلكتروني على [email protected] واسمحوا لي أن أعرف ما يدور في ذهنك للبدء.
جوهر نموذج أمان Chitchatter هو حقيقة أنه مفتوح المصدر بالكامل. أنت حر (وتشجعه) على تدقيق رمز مصدر المشروع والبنية التحتية بالكامل. لا يتوفر رمز المصدر فقط بموجب شروط GPL ، ولكن يمكن الوصول إلى جميع سجلات الإنشاء بشكل علني أيضًا.
إذا كنت ترغب في التحقق من أن التطبيق الذي تم استضافته في https://chitchatter.im/ هو التطبيق الذي يتم استضافته على Github ، يمكنك استخدام dig :
$ dig chitchatter.im
; <<>> DiG 9.18.1-1ubuntu1.1-Ubuntu <<>> chitchatter.im
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61332
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;chitchatter.im. IN A
;; ANSWER SECTION:
chitchatter.im. 231 IN CNAME jeremyckahn.github.io.
jeremyckahn.github.io. 231 IN A 185.199.111.153
jeremyckahn.github.io. 231 IN A 185.199.110.153
jeremyckahn.github.io. 231 IN A 185.199.109.153
jeremyckahn.github.io. 231 IN A 185.199.108.153
لفحص الأصول الثابتة التي يتم تقديمها للمستخدمين النهائيين ، يمكنك مراجعة فرع gh-pages .
شاهد تراكم التذاكر الكامل هنا.
يمكنك استخدام Chitchatter SDK الرسمي لتضمين التطبيق كمكون ويب يسمى <chat-room /> .
< script src =" https://chitchatter.im/sdk.js " > </ script >
< chat-room /> يدعم مكون <chat-room /> السمات الاختيارية التالية:
room : اسم غرفة Chitchatter التي يجب على المستخدم الانضمام إليها. القيمة الافتراضية هي عنوان URL لصفحة التضمين.user-name : الاسم الودود للمستخدم (والذي يمكنه تغييره).user-id : المعرف الثابت للمستخدم. القيمة الافتراضية هي UUID عشوائية.root-url : عنوان URL لمثيل chitchatter لاستخدامه. القيمة الافتراضية هي https://chitchatter.im/ .color-mode : light أو dark . القيمة الافتراضية dark .play-message-sound : ما إذا كان يجب تشغيل صوت أو لا يتم تشغيله عندما يتلقى المستخدم رسالة بينما لا تكون النافذة في التركيز. القيمة الافتراضية false . وكذلك المعيار التالي <iframe /> :
heightwidthstylereferrerpolicysandbox مهم
في الوقت الحالي ، لا يمكن تطوير Chitchatter إلا على أنظمة *nix مثل Linux و MacOS. إذا كنت تستخدم Windows ، فيمكنك استخدام WSL لإعداد بيئة Linux.
لإجراء تغييرات على chitchatter ، استنساخ رمز المصدر من github. تأكد من تثبيت عقدة و NPM. ثم في دليل المشروع ، قم بتشغيل:
npm install
سيؤدي هذا إلى تثبيت جميع التبعيات.
في دليل المشروع ، يمكنك تشغيل:
npm devيقوم بتشغيل المكدس بالكامل (Client + WebTorrent Tracker) محليًا.
npm startيدير تطبيق الواجهة الأمامية في وضع التطوير. يستخدم متتبعات WebTorrent العامة. افتح http: // localhost: 3000 لمشاهدته في متصفحك.
سيتم إعادة تحميل الصفحة عند إجراء تغييرات. قد ترى أيضًا أي أخطاء في وحدة التحكم في وحدة التحكم.
npm testيطلق عداء الاختبار في وضع الساعة التفاعلية.
npm run build يبني التطبيق للإنتاج إلى مجلد dist . تتفاعل حزمها بشكل صحيح في وضع الإنتاج وتحسن البناء للحصول على أفضل أداء.
تم تصنيع البناء ويتضمن أسماء الملفات التجزئة.
تم تصميم Chitchatter ليكون متشعبًا ومستضيفًا ذاتيًا. إذا كنت ترغب في تغيير تكوين خادم الاقتران أو الترحيل أو تفضل التحكم في عمليات الإنشاء والإصدارات الخاصة بك ، فافوى هذا الريبو واتبع الخطوات أدناه.
مهم
ترتبط اتصالات الأقران Chitchatter بمجال المثيل. لذلك ، لن يتمكن مستخدم chitchatter في https://chitchatter.im/ من الاتصال بمستخدم مثيل chitchatter على مجال آخر (مثل شوكة github الشخصية المستضافة).
على افتراض أنك تستضيف chitchatter على صفحات جيثب:
homepage في package.json إلى أي عنوان URL الذي سيتم استضافة مثيل chitchatter الخاص بك. سيكون هذا شيء مثل https://github_user_or_org_name.github.io/chitchatter/ .DEPLOY_KEY (على https://github.com/github_user_or_org_name/chitchatter/settings/secrets/actions ). راجع Docs for peaceiris/actions-gh-pages لمزيد من المعلومات.base في vite.config.ts . إليك مثال على كيفية ظهور ذلك: const config = ( ) => {
return defineConfig ( {
base : '/chitchatter/' ,
build : {
...
} عند استضافته على صفحات github والتكوين أعلاه ، يتم تحديث بيئة الإنتاج عند تحديث الفرع main عن بُعد (بمجرد تمكين إجراءات github).
قم ببناء التطبيق باستخدام npm run build ، ثم يقدم dist Directory. يجب أن يعمل أي حل لخدمة ملف ثابت شريطة أن يستخدم سياقًا آمنًا.
استكشف الملفات الموجودة في src/config لتعديل تكوين الخادم الاقتران والترحيل.
يستخدم Chitchatter مكتبة مكون MUI والتي هي قابلة للأساس. يمكنك تخصيص مظهر Chitchatter وشعوره من خلال تعديل تعريف موضوع shell.
إذا واجهت أي مشكلات مع تثبيت chitchatter مخصص ، فتأكد أولاً من أنك تستخدم أحدث إصدار من الرمز. إذا كنت تستضيف التثبيت الخاص بك مع صفحات github ، فقم بمزامنة فرعك main وليس فرع gh-pages . إن تحديث فرعك main سيؤدي إلى إعادة بناء مناسبة لفرع gh-pages .
يمكن أن يحدث هذا لمجموعة متنوعة من الأسباب. الأكثر احتمالا هو أن واحد أو أكثر من أقرانه لا يمكن الاتصال مباشرة ويجب أن يستخدموا ترحيل الصاعقة/الدوران المكوّن كإعادة. التتابع القياسي مجاني ولا يضمن أي مستوى من الخدمة ، لذلك قد يكون ببساطة متاحًا لبعض الوقت (أو لا يعمل على الإطلاق لبعض المستخدمين). ليس هناك الكثير مما يجب القيام به غير الانتظار حتى يصبح متاحًا مرة أخرى ، أو ربما حاول من جهاز أو موقع آخر.
بعض حاصرات الإعلانات (مثل أصل Ublock) تمنع الاتصالات لبعض خوادم ويب ويب. هذا يمنع زملاء الشريرة من الاتصال. للتغلب على هذا ، يمكنك إما تعطيل مانع الإعلانات الخاص بك أو استضافة مثيل chitchatter الخاص بك.
يعمل Chitchatter على iOS Safari ، لكن الأخطاء على مستوى المتصفح غالبًا ما تمنع أقرانها من الانضمام إلى الغرفة عند إغلاق المتصفح وإعادة فتحها لاحقًا (على سبيل المثال ، عند تبديل التطبيقات). الحل المقترح لهذه المشكلة هو تحديث الصفحة للانضمام إلى الغرفة.
لكل رقم 36 ، تحقق about:config وتأكد من تمكين media.peerconnection.enabled .
يستخدم Chitchatter.js chitchatter لتسهيل عمليات نقل الملفات الكبيرة. من المعروف أن مديري التنزيل مثل FDM يتدخلون في Streamsaver.js ، لذلك يوصى بتعطيل مديري التنزيل عند محاولة تلقي الملفات.
يخضع Chitchatter إلى عمليات تدقيق أمان أسبوعية لتحديد معالجة الثغرات الأمنية المحتملة. يمكن العثور على تقارير من جميع عمليات التدقيق في القضايا .
باستخدام Chitchatter ، فإنك توافق على قبول المسؤولية الكاملة عن أفعالك المتعلقة باستخدامه. بالإضافة إلى ذلك ، أنت توافق على عدم الاحتفاظ بأي مساهم في مشروع Chitchatter المسؤول عن أي نتيجة لاستخدامك له. مطورو Chitchatter لا يؤيد النشاط غير القانوني.