El ? ¿SDK adicional de Stremio? fue desarrollado por el equipo de Stremio como una forma de simplificar enormemente la creación de complementos de Node.js para nuestra plataforma de transmisión.
Stremio actualmente es compatible con Windows, macOS, Linux, Android e iOS.
Importante: recomendamos encarecidamente implementar complementos en los servidores BeamUp
Este ejemplo arbitrario crea un complemento que proporciona una transmisión para Big Buck Bunny y genera una dirección HTTP a la que puede acceder.
const { addonBuilder, serverHTTP, PublishToCentral } = require('stremio-addon-sdk')const builder = new addonBuilder({id: 'org.myexampleaddon',versión: '1.0.0',nombre: 'ejemplo simple',/ / Propiedades que determinan cuándo Stremio elige este complemento// esto significa que su complemento se usará para transmisiones del tipo moviecatalogs: [],recursos: ['stream'],tipos: ['movie'],idPrefixes: ['tt']})// toma function(args)builder.defineStreamHandler(function(args) {if (args.type = == 'movie' && args.id === 'tt1254207') {// servir una transmisión a big buck bunnyconst stream = { url: 'http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_1080p_30fps_normal.mp4' }return Promise.resolve({ streams: [stream] })} else {// de lo contrario no devuelve streamsreturn Promise.resolve({ streams : [] })}})serveHTTP(builder.getInterface(), { puerto: proceso.env.PORT || 7000 })//publishToCentral("https://tu-dominio/manifest.json") // <- invoca esto si quieres publicar tu complemento y es accesible públicamente en "tu-dominio"
Guarde esto como addon.js
y ejecute:
npm instala stremio-addon-sdk nodo ./addon.js
Generará una URL que puede usar para instalar el complemento en Stremio
Tenga en cuenta: las URL de complementos en Stremio deben cargarse con HTTPS (excepto 127.0.0.1
) y deben ser compatibles con CORS. El SDK maneja automáticamente la compatibilidad con CORS, pero si intenta cargar su complemento de forma remota (no desde 127.0.0.1
), debe admitir HTTPS.
Para implementar un nuevo complemento de Stremio, hemos creado una herramienta llamada addon-bootstrap
.
Puedes usarlo de la siguiente manera:
npm install -g stremio-addon-sdk # usa sudo si estás en Linuxaddon-bootstrap hola-mundo
Se le preguntará qué recursos y tipos desea admitir, después de lo cual se creará el complemento en el directorio hello-world
y podrá ejecutarlo:
cd hola-mundo instalación npm inicio de npm -- --lanzamiento
Si desea instalar el complemento en la versión de escritorio de Stremio (que puede descargar aquí), debe usar npm start -- --install
Toda nuestra documentación está aquí en GitHub. Eche un vistazo a nuestra lista de ejemplos para obtener información de alto nivel o sumérjase directamente en nuestra documentación del SDK para obtener nuestros documentos de referencia de código.
También tenemos un complemento de ejemplo que puedes usar como guía para ayudarte a crear tu propio complemento.
Hemos creado dos guías paso a paso: una para este SDK y otra para cualquier lenguaje de programación, que puedes leer aquí.
Si no desea utilizar Node.js (y, por lo tanto, tampoco utilizar este SDK), puede crear complementos en cualquier lenguaje de programación; consulte la especificación del protocolo del complemento para obtener más información.
También es posible crear un complemento sin ningún lenguaje de programación; consulte nuestro ejemplo de complemento estático basado en la especificación del protocolo.
Las características del SDK incluyen:
Publicar un complemento a través de HTTP(s)
Publicar el enlace de su complemento en la colección pública de complementos con PublishToCentral
Crear una página de inicio para su complemento que incluya un botón "Instalar complemento"
Para los desarrolladores que buscan una forma rápida de probar sus nuevos complementos, pueden:
Prueba con Stremio
Pruebe con nuestra versión web
Para que otros puedan utilizar su complemento, debe implementarse en línea.
Puede consultar nuestra lista de proveedores de alojamiento recomendados para Node.js o, alternativamente, alojarlo localmente con localtunnel.
Después de haber implementado públicamente, para que su complemento se muestre en Stremio (a través de la colección pública de complementos), debe usar PublishToCentral o publicar manualmente a través de la interfaz de usuario.
Consulte nuestra lista cada vez mayor de ejemplos y complementos de demostración. Esta lista también incluye ejemplos y tutoriales sobre cómo desarrollar complementos de Stremio en PHP, Python, Ruby, C#, Rust, Java y Go. También incluye una lista de tutoriales en vídeo.
Hay una versión Rust de terceros de este SDK construida sobre stremio-core desarrollado por Sleeyax aquí.
Hay una versión Go de terceros de este SDK desarrollada por doodswork aquí.
Lea nuestra guía de uso avanzado para comprender las muchas formas en que se pueden utilizar los complementos.
Si tiene algún problema con respecto al SDK del complemento Stremio, no dude en informarlo aquí.
Para migrar desde v0.x, necesita:
cambie new addonSDK
al new addonBuilder
, que puede importar mediante const addonBuilder = require('stremio-addon-sdk').addonBuilder
cambie addon.run(opts)
a serveHTTP(addon.getInterface(), opts)
, que puede importar mediante const serveHTTP = require('stremio-addon-sdk').serveHTTP
todos los manejadores tienen que devolver una Promise
(en lugar de aceptar un cb
)
El uso de este SDK no es obligatorio para crear complementos de Stremio. Puede utilizar cualquier lenguaje de programación que admita la creación de un servidor HTTP para crear complementos de Stremio. Consulte nuestra especificación de protocolo para obtener detalles y ejemplos.
Un escenario útil en el que no se utiliza el SDK es cuando necesita datos específicos del usuario para su complemento (por ejemplo, un token de autenticación de API). Puede ver un ejemplo de cómo pasar datos específicos del usuario en la URL del complemento aquí. Este ejemplo utiliza Node.js y Express para obtener datos específicos del usuario. (Actualización: el SDK adicional ahora admite configuraciones de usuario)
construido con amor y serias habilidades de codificación por el equipo de Stremio