ال ؟ Stremio الملحق SDK؟ تم تطويره بواسطة فريق Stremio كوسيلة لتبسيط إنشاء ملحقات Node.js إلى حد كبير لمنصة البث الخاصة بنا.
يدعم Stremio حاليًا أنظمة التشغيل Windows وmacOS وLinux وAndroid وiOS.
هام: نوصي بشدة بنشر الوظائف الإضافية على خوادم BeamUp
ينشئ هذا المثال التعسفي ملحقًا يوفر دفقًا لـ Big Buck Bunny ويخرج عنوان HTTP حيث يمكنك الوصول إليه.
const { addonBuilder,servHTTP, PublishToCentral } = require('stremio-addon-sdk')const builder = new addonBuilder({id: 'org.myexampleaddon',version: '1.0.0',name: 'simple example',/ / الخصائص التي تحدد متى يختار Stremio هذا الملحق // هذا يعني أنه سيتم استخدام الملحق الخاص بك لتدفقات من نوع كتالوجات الأفلام: [],resources: ['stream'],types: ['movie'],idPrefixes: ['tt']})// يأخذ function(args)builder.defineStreamHandler(function(args) {if (args.type = == 'movie' && args.id === 'tt1254207') {// يقدم بثًا واحدًا لتدفق كبير من Bunnyconst = { url: 'http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_1080p_30fps_normal.mp4' }return Promise.resolve({streams: [stream] })} else {// وإلا فلن يتم إرجاع أي تدفقاتreturn Promise.resolve({streams) : [] })}})serveHTTP(builder.getInterface(), { المنفذ: process.env.PORT ||.7000 })//publishToCentral("https://your-domain/manifest.json") // <- قم باستدعاء هذا إذا كنت تريد نشر الملحق الخاص بك ويمكن الوصول إليه بشكل عام على "your-domain" "
احفظ هذا كـ addon.js
وقم بتشغيل:
تثبيت npm Stremio-addon-sdk العقدة ./addon.js
سيتم إخراج عنوان URL الذي يمكنك استخدامه لتثبيت الملحق في Stremio
يرجى ملاحظة: يجب تحميل عناوين URL الإضافية في Stremio باستخدام HTTPS (باستثناء 127.0.0.1
) ويجب أن تدعم CORS! تتم معالجة دعم CORS تلقائيًا بواسطة SDK، ولكن إذا كنت تحاول تحميل الملحق الخاص بك عن بُعد (وليس من 127.0.0.1
)، فأنت بحاجة إلى دعم HTTPS.
من أجل تعزيز ملحق Stremio الجديد، قمنا بإنشاء أداة تسمى addon-bootstrap
.
يمكنك استخدامه بالطريقة التالية:
npm install -g stremio-addon-sdk # استخدم Sudo إذا كان على Linuxaddon-bootstrap hello-world
سيتم سؤالك عن الموارد والأنواع التي تريد دعمها، وبعد ذلك سيتم إنشاء الملحق في دليل hello-world
، وستكون قادرًا على تشغيله:
مؤتمر نزع السلاح مرحبا العالم تثبيت npm بداية npm ---launch
إذا كنت ترغب في تثبيت الملحق في إصدار سطح المكتب من Stremio (والذي يمكنك تنزيله هنا)، فيجب عليك استخدام npm start -- --install
جميع وثائقنا موجودة هنا على GitHub. قم بإلقاء نظرة على قائمة الأمثلة الخاصة بنا للحصول على بعض المعلومات عالية المستوى، أو قم بالتعمق مباشرة في وثائق SDK الخاصة بنا للحصول على المستندات المرجعية للتعليمات البرمجية الخاصة بنا.
لدينا أيضًا مثال على الملحق الذي يمكنك استخدامه كدليل لمساعدتك في إنشاء الملحق الخاص بك.
لقد قمنا بإعداد دليلين خطوة بخطوة: أحدهما لـ SDK والآخر لأي لغة برمجة، ويمكنك قراءتهما هنا.
إذا كنت لا ترغب في استخدام Node.js (وبالتالي عدم استخدام SDK هذا أيضًا)، فيمكنك إنشاء وظائف إضافية بأي لغة برمجة، راجع مواصفات بروتوكول الوظيفة الإضافية لمزيد من المعلومات.
من الممكن أيضًا إنشاء ملحق بدون أي لغة برمجة، راجع مثال الملحق الثابت الخاص بنا بناءً على مواصفات البروتوكول.
تتضمن ميزات SDK ما يلي:
نشر ملحق عبر HTTP (s)
نشر رابط الملحق الخاص بك إلى مجموعة Addon العامة باستخدام PublishToCentral
إنشاء صفحة رئيسية للملحق الخاص بك تتضمن زر "تثبيت الملحق".
بالنسبة للمطورين الذين يبحثون عن طريقة سريعة لاختبار إضافاتهم الجديدة، يمكنك إما:
اختبار مع Stremio
اختبر باستخدام إصدار الويب الخاص بنا
لكي يتمكن الآخرون من استخدام الملحق الخاص بك، يجب نشره عبر الإنترنت.
يمكنك التحقق من قائمتنا لموفري الاستضافة الموصى بهم لـ Node.js أو بدلاً من ذلك استضافتها محليًا باستخدام localtunnel.
بعد النشر بشكل عام، حتى تتمكن من عرض الملحق الخاص بك في Stremio (من خلال مجموعة الإضافات العامة)، تحتاج إلى استخدام PublishToCentral أو النشر يدويًا من خلال واجهة المستخدم.
تحقق من قائمتنا المتزايدة باستمرار من الأمثلة والإضافات التجريبية. تتضمن هذه القائمة أيضًا أمثلة وبرامج تعليمية حول كيفية تطوير إضافات Stremio في PHP وPython وRuby وC# وRust وJava وGo. ويتضمن أيضًا قائمة بالفيديوهات التعليمية.
هناك إصدار Rust لجهة خارجية من SDK هذا مبني على Stremio-core الذي طوره Sleeyax هنا.
هناك إصدار Go لجهة خارجية من SDK تم تطويره بواسطة doodswork هنا.
اقرأ دليلنا للاستخدام المتقدم لفهم الطرق العديدة التي يمكن من خلالها استخدام الوظائف الإضافية.
إذا كانت لديك أية مشكلات بخصوص Stremio Addon SDK، فلا تتردد في الإبلاغ عنها هنا.
للترحيل من الإصدار v0.x، يلزمك القيام بما يلي:
قم بتغيير new addonSDK
إلى new addonBuilder
، والذي يمكنك استيراده عبر const addonBuilder = require('stremio-addon-sdk').addonBuilder
قم بتغيير addon.run(opts)
إلى serveHTTP(addon.getInterface(), opts)
، والذي يمكنك استيراده عبر const serveHTTP = require('stremio-addon-sdk').serveHTTP
يجب على جميع المعالجات إرجاع Promise
(بدلاً من أخذ cb
)
إن استخدام SDK هذا ليس إلزاميًا لإنشاء Stremio Addons. يمكنك استخدام أي لغة برمجة تدعم إنشاء خادم HTTP لإنشاء Stremio Addons. الرجوع إلى مواصفات البروتوكول لدينا للحصول على التفاصيل والأمثلة.
أحد السيناريوهات المفيدة لعدم استخدام SDK هو عندما تحتاج إلى بيانات خاصة بالمستخدم للملحق الخاص بك (على سبيل المثال، رمز مصادقة API)، يمكنك رؤية مثال لتمرير بيانات خاصة بالمستخدم في عنوان URL للملحق الإضافي هنا. يستخدم هذا المثال Node.js وExpress للحصول على بيانات خاصة بالمستخدم. (تحديث: يدعم Addon SDK الآن إعدادات المستخدم)
تم تصميمه بالحب ومهارات البرمجة الجادة بواسطة فريق Stremio