這? Stremio 插件 SDK ?由 Stremio 團隊開發,作為一種極大簡化串流平台 Node.js 外掛程式創建的方法。
Stremio 目前支援 Windows、macOS、Linux、Android 和 iOS。
重要提示:我們強烈建議將外掛程式部署到 BeamUp 伺服器
這個任意範例創建了一個插件,為 Big Buck Bunny 提供串流並輸出一個可以存取它的 HTTP 位址。
const { addonBuilder,serveHTTP,publishToCentral } = require('stremio-addon-sdk')const builder = new addonBuilder({id: 'org.myexampleaddon',version: '1.0.0',name: '簡單範例',/ / 確定Stremio 何時選擇此外掛程式的屬性// 這表示您的外掛程式將用於moviecatalogs: [],resources: ['stream'],types: ['movie'],idPrefixes: ['tt' 類型的流]})// 採用function(args)builder.defineStreamHandler(function(args) {if (args.type === 'movie' && args.id === 'tt1254207') {// 提供一個流來賺大錢bunnyconst stream = { url: 'http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_1080p_30fps_normal.mp4' }return Promise.resolve({ Streams: [stream] })} 或不回 {///任何流return Promise.resolve({ Streams: [] })}})serveHTTP(builder.getInterface(), { port: process.env.PORT || 7000 })//publishToCentral("https://your-domain /manifest. json") // <- 如果您想發布您的插件並且可以在「您的網域」上公開存取它,請呼叫此插件
將其儲存為addon.js
並運行:
npm 安裝 stremio-addon-sdk 節點./addon.js
它將輸出一個 URL,您可以使用該 URL 在 Stremio 中安裝插件
請注意: Stremio 中的外掛程式 URL 必須使用 HTTPS 載入( 127.0.0.1
除外)並且必須支援 CORS! CORS 支援由 SDK 自動處理,但如果您嘗試遠端載入外掛程式(不是從127.0.0.1
),則需要支援 HTTPS。
為了建立新的 Stremio 插件,我們製作了一個名為addon-bootstrap
的工具。
您可以透過以下方式使用它:
npm install -g stremio-addon-sdk # 如果在 Linuxaddon-bootstrap hello-world 上則使用 sudo
系統會詢問您想要支援哪些資源和類型,之後將在hello-world
目錄中建立插件,然後您就可以運行它:
cd 你好世界 npm 安裝 npm啟動--啟動
如果您希望在桌面版 Stremio 中安裝該外掛程式(您可以在此處下載),您應該使用npm start -- --install
我們所有的文件都位於 GitHub 上。請查看我們的範例列表以獲取一些高級信息,或直接深入研究我們的 SDK 文件以獲取程式碼參考文件。
我們還有一個範例插件,您可以將其用作指南來幫助您建立自己的插件。
我們製作了兩份逐步指南:一份針對此 SDK,一份針對任何程式語言,您可以在此處閱讀。
如果您不想使用 Node.js(因此也不使用此 SDK),您可以使用任何程式語言建立插件,請參閱插件協定規範以取得更多資訊。
也可以在沒有任何程式語言的情況下建立插件,請參閱我們基於協定規範的靜態插件範例。
SDK 功能包括:
透過 HTTP 發布插件
使用publishToCentral將您的插件連結發佈到公共插件集合
為您的外掛程式建立一個包含「安裝外掛」按鈕的主頁
對於尋求快速測試新外掛程式的開發人員,您可以:
使用 Stremio 進行測試
使用我們的網頁版本進行測試
為了讓你的外掛能夠被其他人使用,它需要在線上部署。
您可以查看我們推薦的 Node.js 託管提供者列表,或使用 localtunnel 在本地託管它。
公開部署後,為了讓您的外掛程式顯示在 Stremio 中(透過公用外掛程式集合),您需要使用publishToCentral 或透過 UI 手動發布。
查看我們不斷增長的範例和演示插件清單。此清單還包括有關如何使用 PHP、Python、Ruby、C#、Rust、Java 和 Go 開發 Stremio 插件的範例和教學。它還包括視頻教程列表。
該 SDK 有一個由 Sleeyax 開發的基於 stremio-core 的第三方 Rust 版本。
這裡有一個由doodswork開發的該SDK的第三方Go版本。
閱讀我們的進階使用指南,以了解插件的多種使用方法。
如果您對 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
)
建立 Stremio 外掛程式時不強制使用此 SDK。您可以使用任何支援建立 HTTP 伺服器的程式語言來製作 Stremio Addons。有關詳細資訊和範例,請參閱我們的協定規格。
不使用 SDK 的一個有用場景是當您的外掛程式需要使用者特定資料(例如 API 驗證令牌)時,您可以在此處查看在插件 URL 中傳遞使用者特定資料的範例。此範例使用 Node.js 和 Express 來取得使用者特定資料。 (更新:Addon SDK現在支援用戶設定)
Stremio 團隊以愛和嚴謹的編碼技巧建構而成