EiskaltDC ++ - برنامج مشاركة الملفات باستخدام بروتوكولات الاتصال المباشر
الموقع الإلكتروني: https://github.com/eiskaltdcpp/eiskaltdcpp
المصادر: https://github.com/eiskaltdcpp/eiskaltdcpp
غرفة الدردشة العامة: https://gitter.im/eiskaltdcpp/eiskaltdcpp
Wiki: https://github.com/eiskaltdcpp/eiskaltdcpp/wiki
رخصة
تم ترخيص هذا البرنامج بموجب رخصة GNU العامة العامة. انظر ملف النسخ لمزيد من المعلومات.
وصف
EiskaltDC ++ هو برنامج عبر المنصات يستخدم بروتوكولات Connect Direct (DC AKA NMDC) وبروتوكولات متطورة للاتصال المباشر (ADC). إنه متوافق مع DC ++ و AirDC ++ و FlyLinkDC ++ وعملاء DC الآخرين. EiskaltDC ++ يتقاطع أيضًا مع جميع برامج محور DC الشائعة.
الأنظمة المدعومة حاليًا (من أجل انخفاض الأهمية): GNU/Linux و MACOS و MS Windows و FreeBSD و Haiku و GNU/Hurd.
الميزات المدعومة حاليًا (وليس القائمة الكاملة):
- البرامج ذات واجهة المستخدم الرسومية (UI) على QT (MAIN) و GTK+ (بديل) ، بالإضافة إلى الخفي الذي يمكن التحكم فيه من سطر الأوامر أو من واجهة المستخدم على الويب (متصل عبر JSON-RPC).
- تنزيل متعدد الخيوط (قم بتنزيل شظايا ملف واحد من عدة مصادر في وقت واحد).
- دعم PFSR (مشاركة الملفات الجزئية): يجوز للمستخدمين تنزيل أجزاء من الملف من بعضهم البعض أثناء تنزيل الملف حتى عندما لا يكون لدى أي منها ملف تم تنزيله بالكامل.
- دعم DHT (يسمح للمرء بالبحث عن ملف بواسطة TTH وتبادل هذه الملفات دون اتصال بأي مركز). يعتمد تنفيذ هذه الميزة على رمز StrongDC ++ ومتوافق مع جميع إصدارات StrongDC ++ و APEXDC ++ و RSX ++ و FlyLinkDC ++ و Pulse ++ K حيث توجد هذه الميزة. (قام بعض عملاء DC بإسقاط دعم هذه الوظيفة في أحدث الإصدارات.)
- دعم UPNP (يبسط تكوين اتصال الشبكة عندما يدعم جهاز توجيه Wi-Fi للمستخدم هذه الميزة).
- دعم الارتباط بواجهة أو عنوان شبكة محددة (في حالة وجود عدد قليل من اتصالات الشبكة في وقت واحد).
- دعم التحديث التلقائي لعنوان IPv4 الخارجي عبر خدمات DynDNS.
- دعم قوائم الملفات الحساسة للحالة. هذه الميزة مهمة للغاية في جميع الأنظمة المدعومة باستثناء MS Windows (في الواقع ، تدعم NTFS أسماء الملفات الحساسة للحالة ، لكن MS Windows لا تستخدم هذه الميزة.).
- تتم ترجمة واجهة المستخدم إلى العديد من اللغات.
- تسمح برامج واجهة المستخدم الرسومية بوضع قائمة بالأدوات المصغّرة على الشريط الجانبي ، أو على لوحة Tabbar المتعددة أو على Tabbar خط واحد.
- يتمتع برنامج واجهة المستخدم الرسومية المستندة إلى QT بدعم لإخفاء قائمة البرنامج (سيكون متاحًا بالزر الخاص إلى شريط الأدوات).
- البحث المتقدم مع القدرة على تجميع النتائج ؛ قائمة سوداء لنتائج البحث.
- قوائم الملفات التي تم تنزيلها وتحميلها ؛ القدرة على حفظ سجلات التنزيلات.
- قوائم المراكز العامة والمفضلة. قوائم المراكز العامة لها مصادر متعددة ؛ المراكز المفضلة مرنة للغاية في ميزات التكوين.
- قوائم المستخدمين المفضلين (سيتلقون فتحة إضافية لتنزيل الملفات ، وما إلى ذلك).
- قائمة النقل النشط (التنزيلات/التحميلات) ، بما في ذلك قائمة انتظار المستخدمين الذين ينتظرون الفتحة (قد يمنح المستخدم فتحة إضافية لهم).
- الإعدادات المرنة لتنزيل الملفات (قوائم أدلة الوجهة ، دليل للتنزيلات غير المكتملة ، حدود عدد التنزيلات المتزامنة ، النقل المضغوط ، التحقق من مجموعات الشيك ، إلخ).
- مؤشر المساحة الحرة على القرص حيث يوجد دليل التنزيلات الرئيسية.
- دعم مرشح IP و antispam الأساسي.
- Search Spy (يسمح للمرء بمشاهدة عبارات البحث التي ترسل مستخدمين آخرين ، ولكن دون تحديد المستخدمين بالطبع).
- ابحث عن ADL بدعم من التعبيرات العادية على غرار Perl (باستخدام مكتبة PCRE).
- مرشح مرن (مع دعم التعبيرات العادية) في قائمة المستخدمين ، ونتائج البحث ، وقوائم المراكز العامة ، وقوائم الملفات ، وما إلى ذلك. (استخدم ## <Regexp> سلسلة وقراءة حول بناء الجملة QT QREGEXP.)
- دردشة كاملة الميزة (خطوط مختلفة ، تلوين نيك ، تحليل روابط المغناطيس وغيرها من الروابط ، الرموز ، البحث عن الدردشة ، أوامر الدردشة ، دعم البود بود ، تعطيل/تمكين/مسح الدردشة ، والتحقق الإملائي (يتم استخدام ASPELL) ، والكلمات الرئيسية التي تبرزها في الدردشة ، والتحديد للرسائل غير القادة ، وتوفير سجلات الدردشة ، والتحقق من عناوين IP والدولة في الدردشة في الدردشة. المستخدمون المعتاد).
- أوامر المستخدم على HUB.
- سكرتير (يتيح لك عدم قراءة الكثير من الرسائل عديمة الفائدة في العديد من الدردشات للعثور على شيء مثير للاهتمام ، على سبيل المثال ، الرسائل التي تحتوي على روابط مغناطيسية أو مع كلمات رئيسية).
- إعدادات اختصارات لوحة المفاتيح المرنة.
- إشعارات النص والصوت للأحداث المختلفة.
- تسليط الضوء على التكرارات في الملفات المشتركة.
- إعدادات مرنة للملفات (سرعة التجزئة ، مرشحات لتجاهل الملفات ، إلخ).
- مؤشر التقدم التجزئة في شريط حالة البرنامج.
- أداة خاصة لحساب TTH لأي ملف (دون ضرورة مشاركة هذا الملف) وإعداد رابط المغناطيس أو رابط Maget على الويب.
- دعم قيود السرعة/التحميل (دائم أو عن طريق الجدول الزمني).
- دعم القيود حسب حجم الملفات المشتركة. (نعم ، هذه ميزة مشكوك فيها ، لكنها مطلوبة بشدة من قبل المستخدمين.)
- دعم معالجة روابط المغناطيس وروابط مغناطيس الويب وروابط المحور المنقولة عبر سطر الأوامر من البرامج الأخرى (على سبيل المثال من متصفحات الويب).
- دعم الملفات السحب والإفلات إلى حقل لإدخال الرسائل (إذا كان الملف موجودًا في قائمة ملفات المستخدم ، سيتم إضافة رابط المغناطيس).
- دعم الردود التلقائية على الرسائل الخاصة في حالة غياب المستخدم.
- دعم ملحقات المستخدم على QTSCRIPT (فقط في واجهة المستخدم الرسومية المستندة إلى QT في GNU/Linux) وعلى LUA (في جميع الأنظمة المدعومة).
- دعم IDN2 (الاعتراف بأسماء المجال الوطني).
- دعم السلاسل المشفرة عناوين URL لعناوين المحور.
- دعم تشفير حركة المرور.
تاريخ الإصدارات
انظر ملف changelog.txt.
تثبيت
للبناء من مصادر انظر ملف تثبيت.
يمكن لمستخدمي GNU/Linux و FreeBSD تثبيت حزم من المستودعات الرسمية وغير الرسمية ، المنافذ ، إلخ.
يمكن لمستخدمي MacOS تثبيت وتحديث التصميم الرسمي باستخدام Cask Homebrew:
brew install --cask eiskaltdcpp
أو تنزيل حزم التطبيق من SourceForge وتثبيتها يدويًا. لا يحتوي البرنامج على آلية مضمنة للتحديثات ، لذلك في هذه الحالة ، يجب على المستخدمين مراقبة التحديثات بأنفسهم.
يمكن لمستخدمي Haiku تثبيت الحزمة الرسمية من Haikuports:
pkgman install eiskaltdcpp
قد يقوم مستخدمو MS Windows بتنزيل المؤسسات الرسمية والبنيات المحمولة من SourceForge. لا يحتوي البرنامج على آلية مضمنة للتحديثات ، لذلك يجب على المستخدمين مراقبة التحديثات بأنفسهم.
الاستخدام
تم تصميم EiskaltDC ++ في الغالب للمستخدمين ذوي الخبرة الذين يعرفون كيفية عمل DC ، والتي ينبغي استخدام الإعدادات مع نوع اتصال الشبكة ، وما إلى ذلك. هذه المقدمة القصيرة لا تهدف إلى وصف مثل هذه الأشياء الأساسية.
فيما يلي توصيات صغيرة للتكوين الأولي بعد إطلاق البرنامج الأول:
- فتح تفضيلات الحوار وضبط اللقب (من المهم!) ، والترميز الافتراضي لمحاور DC (على سبيل المثال ، Windows-1251 للمراكز الروسية) ، ونوع الاتصالات الواردة (الوضع النشط ، وجدار الحماية مع UPNP أو الوضع السلبي) وتنزيلات الدليل.
- افتح عنصر واجهة مستخدم HUBS العامة واتصل ببعض المراكز العامة الشائعة (يمكنك فرز القائمة حسب مقدار المستخدمين أو بمبلغ إجمالي البيانات المشتركة).
- افتح أداة البحث وحاول البحث في أي ملف شهير. (لا تنس استخدام المساحات كفاصل الكلمات.)
- أضف عدد قليل من المراكز إلى قائمة المراكز المفضلة وتمكين اتصال تلقائي إلى المراكز أثناء بدء تشغيل البرنامج.
- سيتم حفظ إعدادات البرنامج في مخرج البرنامج.
جميع البرامج من مشروع EiskaltDC ++ ( eiskaltdcpp-qt و eiskaltdcpp-gtk و eiskaltdcpp-daemon ) تستخدم نفس الإعدادات الشائعة. لذلك بمجرد تكوين الاتصالات بشكل صحيح في EiskaltDC ++ QT ، على سبيل المثال ، يمكنك تشغيل eiskaltdcpp-daemon واستخدام واجهة المستخدم على الويب لحكمها (ملفات البحث ، وأضفها إلى قائمة انتظار التنزيلات ، إلخ).
تطوير
أثناء تطوير EiskaltDC ++ في السنوات الماضية ، استخدمنا CVS مختلفة (التخريب أولاً ثم GIT) ونماذج تطوير مختلفة. حاليا تبدو العملية هكذا:
- يتم تنمية كل ما تتم في فرع
work GIT أو فروع خاصة (ميزة) منفصلة عن فرع work . - يجب تحديث ملف Changelog مع تغييرات في رمز المصدر. يمكن أن يتم ذلك في نفس الالتزام بالجيت أو في ارتكاب GIT منفصل اعتمادًا على الموقف. مجرد استخدام الحس السليم لهذا. (لم تكن هناك قاعدة لتحديث سجل التغيير في الماضي مما يؤدي إلى تأخير كبير للإصدارات المستقرة.)
- بمجرد أن تكون التغييرات من فرع
work جاهزة للاستخدام ، يتم اختبار إنشاء البرنامج لأهم الأنظمة (Linux ، MacOS ، Windows) قد يتم دمجها على master Branch. - يجب أن يتم التصميم اليومية لبرنامج المختبرين والمستخدمين النشطين والأشخاص الفضوليين فقط من GIT
master Branch. -
<minor> <patch> يبدو مخطط الإصدار <major> من لقطات GIT: <major>.<minor>.<patch>-<commits>-g<hash> <commits> <major>.<minor>.<patch> <hash> - بمجرد أن يكون هناك قدر ملحوظ من التغييرات منذ الإصدار المستقر الأخير أو إذا كانت هناك إصلاحات مهمة للغاية يجب تسليمها بسرعة للمستخدمين ، يتم إنشاء علامة GIT الجديدة (
v<major>.<minor>.<patch> . - في حالة التغييرات الملحوظة في جوهر البرنامج (Library LibeiskaltDCPP) ، يجب تغيير
<minor> أو <major> جزء من إصدار البرنامج. - في حالة حدوث تغييرات كبيرة (على سبيل المثال ، إجمالي إعادة إنشاء الكود) في أي جزء من البرنامج ، يجب تغيير
<minor> أو <major> جزء من إصدار البرنامج. - في حالة عدم وجود تغييرات قليلة جدًا منذ آخر إصدار مستقر ، ولكنها مهمة ويجب تسليمها بسرعة للمستخدمين ، يجب تغيير الجزء
<patch> من إصدار البرنامج. - لا توجد حدود للتغييرات المناسبة لإصدارات
<patch> الجديدة إذا لم تؤثر على جوهر البرنامج: قد تحتوي على ميزات جديدة وتغييرات ملحوظة في أي جزء من واجهة المستخدم الرسومية.
أثناء التطوير ، يتم اختبار جميع التغييرات على خدمات التكامل المستمر Travis CI و Sibuserv CI.
المطورين
المطورين الرئيسيين
- يتم سرد المطورين الرئيسيين لـ EiskaltDC ++ في ملف المؤلفين.
- يحتوي البرنامج على رمز المصدر من مشاريع أخرى مجانية ومفتوحة المصدر. يتم توثيق جميع معلومات حقوق الطبع والنشر منها في ملف خاص.
- جزء من البرنامج مع GTK+ UI يحتوي على ائتمانات إضافية. (هذه مجرد قائمة بالمساهمين من مشاريع LinuxDC ++ و Freedc ++ ، وليس جميعهم من حاملي حقوق الطبع والنشر.)
المساهمون الآخرون
هناك الكثير من الأشخاص الذين شاركوا في تطوير EiskaltDC ++. يتم سرد بعضها في رؤوس الترخيص في ملفات المصدر ، وقد يتم العثور على بعضها فقط في تاريخ الالتزامات في مستودع GIT الخاص بنا. كما يوجد مترجمون ومختبرين ومستخدمين نشطين فقط. نحن ممتنون لهم جميعًا!
كيف يمكنك المساعدة
تقارير الأخطاء
إذا وجدت خطأ ، يرجى الإبلاغ عن ذلك في تعقب الأخطاء لدينا.
اختبار بيتا
يمكنك استخدام التصميمات اليومية للبرنامج أو البرنامج الذي تم تجميعه من مصادر بنفسك (من GIT master Branch) للاختبار واقتراح ميزات جديدة ، وإبلاغ الأخطاء الجديدة (إذا حدثت).
التعليقات والرغبات
نحب التعليقات البناءة ورغبات وظائف البرنامج. يمكنك الاتصال بنا في غرفة الدردشة العامة لمناقشة أفكارك. سيتم وضع بعضها كطلبات ميزة في تعقب الأخطاء لدينا.
الترجمات
عمل المترجمين روتيني وممل للغاية. عادة ما يفقد الأشخاص الذين يفعلون ذلك اهتماماتهم وترجماتهم غير مكتملة. إذا رأيت مثل هذا الموقف للترجمة إلى لغتك الأم ، فيرجى الانضمام إلى فريق الترجمات لدينا. إنه مرحب به للغاية!
بعض الملاحظات المفيدة حول عملية الترجمة التي قد تجدها في صفحة ويكي الخاصة.
الرسومات
هناك العديد من الطرق للمساهمة في مشروع eiskaltdc ++ ، إذا كنت تعتقد أنه يمكنك القيام بعمل أفضل مع أي من رسومات EiskaltDC ++ ، فامنح إلى الأمام مباشرة!
برمجة
بقع مرحب به! اتصل مع مطوري EiskaltDC ++ إذا كنت تعمل عليها.
التغليف
حاليًا لدينا حماة نشطين لتوزيع Debian و Ubuntu ، لنظام التشغيل MacOS و MS Windows. إذا كان لديك اقتراحات حول تحسين التغليف ، فما عليك سوى الاتصال بها.
إذا كنت ترغب في إعداد بنيات شخصية لـ EiskaltDC ++ لأنظمة MS Windows و MacOS ، فهذا موضع ترحيب للغاية! قد نضيف روابط إليهم إلى وثائقنا. أن تصبح مشرفًا رسميًا لهذه الأنظمة أكثر تعقيدًا ، ولكنه ممكن أيضًا.
بالنسبة لأنظمة GNU/Linux و *BSD الأخرى ، فإن الموقف واضح تمامًا: فقط تحديث الحزم (PKGBUILDS ، EBUILD ، إلخ) في المستودعات الرسمية لتوزيعاتك المفضلة أو صنع أرشيف حزمة شخصية (PPA). سنضيف روابط إليهم إلى وثائقنا.
التبرعات
نحن لا نقبل التبرعات لمشروع EiskaltDC ++ ككل ، لأنه لا توجد نفقات للبنية التحتية وما شابه. (بفضل مالكي GitHub و SourceForge و Transifex و Travis CI لدعمهم لمشاريع FOSS!)
ولكن يمكنك إرسال تبرعات للمساهمين في المشروع (المطورين ، المشاريع ، المترجمين ، إلخ) على أساس شخصي. فقط اتصل بهم باستخدام معلومات الاتصال من ملف المؤلفين.
الحزم والمثبتات
- PPA الرسمي لأوبونتو وتوزيعات بناء على ذلك (إصدارات مستقرة)
- PPA الرسمي لأوبونتو وتوزيعات بناء على ذلك (بنيات يومية)
- حزم المفاجئة الرسمية لأوبونتو وغيرها من التوزيعات (البناء اليومي)
- يبني الرسمي لنظام التشغيل Windows
- يبني الرسمي لماكوس
- يبني الرسمي للينكس
- الحزم الرسمية في دبيان
- الحزم الرسمية في أوبونتو
- الحزم الرسمية في فيدورا
- الحزم الرسمية في Gentoo Linux
- الحزم الرسمية في Alt Linux
- الحزم الرسمية في هايكو
- الحزم الرسمية في FreeBSD
- حزم OpenSuse (رسمية وغير رسمية)
- حزم لـ Arch Linux (في AUR)
- حزم لتوزيع Linux مختلف (أفضل مجمع للروابط)
- حزم لتوزيع Linux مختلف (مجمع بديل للروابط)
- PPA غير الرسمي لـ Debian و Ubuntu (تحتفظ بها Alex_P)
- Macports (MacOS 10.5+)
روابط إضافية
- إحصائيات المشروع على جيثب
- إحصائيات المشروع على OpenHub
- Project Freedc ++ (كان أساس EiskaltDCPP-GTK) (مصادر)
- واجهة مستخدم الويب الرسمية لـ EiskaltDCPP-Daemon (مصادر)
- واجهة مستخدم ويب بديلة لـ eiskaltdcpp-daemon (مصادر)
- لقطات شاشة قديمة (باللغة الإنجليزية)
- لقطات شاشة قديمة (باللغة الروسية)
- ملاحظات قديمة حول eiskaltdc ++ (باللغة الروسية)
- ملاحظات قديمة حول Freedc ++ (باللغة الروسية)
- الأسئلة الشائعة القديمة حول eiskaltdc ++ (باللغة الروسية)
- إعداد اعتراض روابط المغناطيس من متصفحات الويب (باللغة الروسية)
- مراجعة عملاء DC لـ Linux (باللغة الروسية)
- DC ++ والبرامج التي تعتمد عليها في ويكيبيديا (باللغة الإنجليزية)
- DC ++ والبرامج التي تستند إليها في ويكيبيديا (باللغة الروسية)
- فالنوت والبرامج التي تستند إليها في ويكيبيديا (باللغة الإنجليزية)
- eiskaltdc ++ في ويكيبيديا (باللغة الروسية)
استمتع!