O ? SDK do complemento Stremio? foi desenvolvido pela equipe Stremio como uma forma de simplificar enormemente a criação de complementos Node.js para nossa plataforma de streaming.
Stremio atualmente oferece suporte a Windows, macOS, Linux, Android e iOS.
Importante: Recomendamos fortemente a implantação de complementos nos servidores BeamUp
Este exemplo arbitrário cria um complemento que fornece um stream para Big Buck Bunny e gera um endereço HTTP onde você pode acessá-lo.
const { addonBuilder, serveHTTP,publishToCentral } = require('stremio-addon-sdk')const builder = new addonBuilder({id: 'org.myexampleaddon',versão: '1.0.0',nome: 'exemplo simples',/ / Propriedades que determinam quando o Stremio escolhe este complemento // isso significa que seu complemento será usado para streams do tipo moviecatalogs: [], recursos: ['stream'], tipos: ['movie'], idPrefixes: ['tt']})// leva function(args)builder.defineStreamHandler(function(args) {if (args.type = == 'movie' && args.id === 'tt1254207') {// veicula um stream para big buck bunnyconst stream = { url: 'http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_1080p_30fps_normal.mp4' }return Promise.resolve({ streams: [stream] })} else {// caso contrário, não retorne nenhum streamsreturn Promise.resolve({ streams : [] })}})serveHTTP(builder.getInterface(), { porta: process.env.PORT || 7000 })//publishToCentral("https://seu-domínio/manifest.json") // <- invoque isto se quiser publicar seu complemento e ele estiver acessível publicamente em "seu-domínio"
Salve como addon.js
e execute:
npm instalar stremio-addon-sdk nó ./addon.js
Será exibida uma URL que você pode usar para instalar o complemento no Stremio
Observação: URLs adicionais no Stremio devem ser carregados com HTTPS (exceto 127.0.0.1
) e devem suportar CORS! O suporte ao CORS é gerenciado automaticamente pelo SDK, mas se você estiver tentando carregar seu complemento remotamente (não de 127.0.0.1
), precisará oferecer suporte a HTTPS.
Para criar um novo complemento do Stremio, criamos uma ferramenta chamada addon-bootstrap
.
Você pode usá-lo da seguinte maneira:
npm install -g stremio-addon-sdk # use sudo se estiver no Linuxaddon-bootstrap hello-world
Você será questionado sobre quais recursos e tipos deseja oferecer suporte, após o qual o complemento será criado no diretório hello-world
e você poderá executá-lo:
cd olá-mundo instalação npm npm start -- --launch
Se você deseja instalar o complemento na versão Desktop do Stremio (que você pode baixar aqui), você deve usar npm start -- --install
Toda a nossa documentação está aqui no GitHub. Dê uma olhada em nossa lista de exemplos para obter algumas informações de alto nível ou mergulhe diretamente em nossa documentação do SDK para obter nossos documentos de referência de código.
Também temos um exemplo de complemento que você pode usar como guia para ajudá-lo a criar seu próprio complemento.
Fizemos dois guias passo a passo: um para este SDK e outro para qualquer linguagem de programação, que você pode ler aqui.
Se você não deseja usar o Node.js (e, portanto, também não usar este SDK), você pode criar complementos em qualquer linguagem de programação, consulte a especificação do protocolo de complemento para obter mais informações.
Também é possível criar um addon sem qualquer linguagem de programação, veja nosso exemplo de addon estático baseado na especificação do protocolo.
Os recursos do SDK incluem:
Publicar um complemento por meio de HTTP(s)
Publicando seu link de complemento na coleção pública de complementos compublishToCentral
Criando uma página inicial para o seu complemento que inclua um botão "Instalar complemento"
Para desenvolvedores que procuram uma maneira rápida de testar seus novos complementos, você pode:
Teste com Stremio
Teste com nossa versão web
Para que seu complemento seja usado por outras pessoas, ele precisa ser implantado online.
Você pode verificar nossa lista de provedores de hospedagem recomendados para Node.js ou, alternativamente, hospedá-lo localmente com localtunnel.
Depois de implantar publicamente, para que seu complemento seja exibido no Stremio (por meio da coleção pública de complementos), você precisa usar subscribeToCentral ou publicar manualmente por meio da interface do usuário.
Confira nossa lista cada vez maior de exemplos e complementos de demonstração. Esta lista também inclui exemplos e tutoriais sobre como desenvolver complementos Stremio em PHP, Python, Ruby, C#, Rust, Java e Go. Também inclui uma lista de tutoriais em vídeo.
Há uma versão Rust de terceiros deste SDK construída em stremio-core desenvolvida por Sleeyax aqui.
Há uma versão Go de terceiros deste SDK desenvolvida por doingodswork aqui.
Leia nosso guia de uso avançado para entender as várias maneiras pelas quais os complementos podem ser usados.
Se você tiver algum problema em relação ao Stremio Addon SDK, sinta-se à vontade para relatá-lo aqui.
Para migrar da v0.x, você precisa:
altere new addonSDK
para new addonBuilder
, que você pode importar via const addonBuilder = require('stremio-addon-sdk').addonBuilder
altere addon.run(opts)
para serveHTTP(addon.getInterface(), opts)
, que você pode importar via const serveHTTP = require('stremio-addon-sdk').serveHTTP
todos os manipuladores precisam retornar uma Promise
(em vez de receber um cb
)
O uso deste SDK não é obrigatório para a criação de complementos do Stremio. Você pode usar qualquer linguagem de programação que suporte a criação de um servidor HTTP para criar complementos do Stremio. Consulte nossa especificação de protocolo para obter detalhes e exemplos.
Um cenário útil de não usar o SDK é quando você precisa de dados específicos do usuário para seu complemento (por exemplo, um token de autenticação de API). Você pode ver um exemplo de passagem de dados específicos do usuário na URL do complemento aqui. Este exemplo usa Node.js e Express para obter dados específicos do usuário. (Atualização: o Addon SDK agora oferece suporte às configurações do usuário)
construído com amor e habilidades sérias de codificação pela equipe Stremio