Stremio addon for fetching videos from your google drive.

Overview

stremio-gdrive

image image

Instructions:

There are two ways to go about:

  • Method 1 is hard and long but might give you better performance and you need to make your own google cloud project thingy.
  • Method 2 relies on rclones google cloud project saving you the burden of having to create your own project i.e. you get to skip the next 17 steps.

Method 1 starts from here

  1. Go to https://console.cloud.google.com/projectcreate
  2. Name the project whatever you want and click create.
  3. Next to "Google Cloud Platform," click the Down arrow image and select your project.
  4. At the top-left corner, click the hamburger menu icon: image Click APIs & Services > Credentials.
  5. Click Configure Consent Screen. The "OAuth consent screen" screen appears.
  6. Set user type to external and click create.
  7. Fill in the required details, you can give your own email as dev and support email. Click save and continue.
  8. For the scopes page leave it as it is and click save and continue.
  9. Now add yourself (your email id) as the test user by pressing add users. Click save and continue.
  10. Now on your left, under API & Services, you will see Dashboard. Click on it and then click on Enable APIs and Services.
  11. Search for Google Drive and click on the result that says Google Drive API and then click on Enable.
  12. Now do step 4 again.
  13. Click Create Credentials > OAuth client ID.
  14. Choose application type as Desktop, name it whatever you want and click create.
  15. The newly created credential appears under "OAuth 2.0 Client IDs." Click the download button to the right of the newly-created OAuth 2.0 Client ID. We will get a client_secret.json file, we will need this for the next section.
  16. Now once again, at the top-left corner, click the hamburger menu icon: image Click APIs & Services > OAuth Consent Screen.
  17. Under Publishing Status you will see a button called PUBLISH APP, click on that and choose confrim.

Method 2 starts from here

  1. Use the colab notebook to easily obtain the token and the required code for the cloudflare proxy:

Open In Colab

  1. Run the cell of the respective method number you chose. Just press the circular play button beside the rectangular box.

  2. Login with your google account. Copy the js code and copy the token string for later when we deploy the heroku backend, the token should look something like this:

{"token": "jhgdfgdhgfh", "refresh_token": "1//sdhgbfdhghd", "token_uri": "https://oauth2.googleapis.com/token", "client_id": "hsdgfjhgfsd.apps.googleusercontent.com", "client_secret": "gfsdfsdgf", "scopes": ["https://www.googleapis.com/auth/drive"]}

  1. Go to https://dash.cloudflare.com/ log in or sign up.
  2. Open the Workers option.
  3. Create your sub-domain or continue if already done.
  4. Select the Free Plan. Click on Create a Worker. You can rename the workers at top of the page.
  5. In the Script{} box you will see some code, delete all that and paste the js code that you obtained in step 18 there.

Deploying to heroku:

Deploy to Heroku

  1. Hit the deploy button.
  2. Paste the token string in the token field.
  3. Copy your cloudflare worker url and paste it in the cf proxy url field.
  4. Hit deploy.

Adding addon to Stremio:

  1. Get the url of the heroku app you deployed. Add /manifest.json to the end. For example if my herokuapp url is https://stremiogdrive.herokuapp.com/ add /manifest.json to the end to get: https://stremiogdrive.herokuapp.com/manifest.json. Copy this url.
  2. Go to https://staging.strem.io/ and log into your stremio account. Press the puzzle icon on the top right.
  3. On your left you will see a search box with the text "Search Addons", paste the url you got in step 1 in the search box. A prompt will open up, press install.

How the addon works

The addon uses the drive api to search for video files in your drive (both your teamdrives and mydrive) kinda like using the google drive web search bar.

So after setting up the addon go and search for something on stremio. When you open a search result, stremio will ask the addon if it has the video for the search result. The addon searches for the video in your google drive and if it gets any result it will give it to stremio and stremio will display the results.

For example if I want to watch a movie, say its called Pirates of the Goolag, then:

  • I will open stremio and search for Pirates of the Goolag. If its on imdb then it should appear on the stremio search results (stremio fetches search results from imdb).
  • Open the search result for Pirates of the Goolag and stremio will ask the addon if it has a video stream for Pirates of the Goolag.
  • The addon searches in your Google Drive for Pirates of the Goolag and if its anywhere on your google drive, doesnt matter where as long as the video file has the name and year of the movie (for eg: Pirates of the Goolag 2016.mkv or Pirates.of.the.Goolag.2016.UHD.BluRay.x265.mkv), the addon will return the search results for Pirates of the Goolag.
  • Stremio will then display it as a video stream and all you have to do is tap on it and enjoy.

The addon searches for:

  • Movies by searching for Videos with their filename as the name of the movie and when it was released. Eg video filename: Pirates of the Goolag 2016.mkv

  • Series episodes by searching for Videos with their filename as the name of the series and which episode it was by a specifier. Supported specifiers are:

    • S01 E01
    • S1 E1
    • Season 1 Episode 1
    • 1x01

Issues / Limitations / Explanations

  • Apps hosted on heroku sleeps after 30 mins of inactivity. So after 30 mins of inactivity the addon needs about 30 secs to start back up and then some time to fetch the results. If you use something like Kaffeine you can overcome this as Kaffeine pings your app every 30 mins. Downside is that you will spend extra dyno hours. Free dynos have about 550 hours of runtime per month which is about 22 days.
  • Google api is not very fast so if you have a ton of results it might take 10 - 15 secs to load.
  • Cloudflare workers is used as a proxy to stream files from google drive since it is really fast.
  • I am an amateur and I did this to the best of my ability. If you find flaws feel free to post an issue.

For the sake of security please don't share your herokuapp url or your cloudflare workers proxy url. They can be used to get files from your drive.

Super S3 command line tool

s4cmd Super S3 command line tool Author: Chou-han Yang (@chouhanyang) Current Maintainers: Debodirno Chandra (@debodirno) | Naveen Vardhi (@rozuur) |

Bloomreach 1.2k Dec 27, 2022
A cross platform front-end GUI of the popular youtube-dl written in wxPython.

youtube-dlG A cross platform front-end GUI of the popular youtube-dl media downloader written in wxPython. Supported sites Screenshots Requirements Py

8.7k Dec 31, 2022
A lightweight, dependency-free Python library (and command-line utility) for downloading YouTube Videos.

A lightweight, dependency-free Python library (and command-line utility) for downloading YouTube Videos.

pytube 7.9k Jan 02, 2023
New York Times Front Page Downloader.

TIMETRAVELER New York Times Front Page Downloader. Usage python3 timetraveler.py All data will be saved at ~/timetraveler/ Goals To keep a historica

Daeshon Jones 0 Oct 31, 2021
A CLI that searches and download Youtube videos in mp3 format.

A CLI that searches and download Youtube videos in mp3 format.

Finhawk 4 Jul 25, 2022
Storing, versioning, and downloading files from S3 made as easy as using open() in Python. Caching included.

open(LARGE) Storing, versioning, and downloading files from S3 made as easy as using open() in Python. Caching included. Motivation Oftentimes, especi

András Schmelczer 2 Jan 30, 2022
Animoo - Python scraper made with BeautifulSoup4 that scrapes images from /c/.

Animoo - Python scraper made with BeautifulSoup4 that scrapes images from /c/. Features Scrapes 10 pages Scrapes each thread Downloads all the images

aether 1 Dec 29, 2021
TikTok - TikTok Bot to download video or audio from TikTok

TikTok - TikTok Bot to download video or audio from TikTok

JMTHON 51 Mar 04, 2022
Python software to download videos from Tiktok without rights

download-video-tiktok Python software to download videos from Tiktok without rights to install pip install requests Follow us telegram : https://t.me

muntazir halim 1 Oct 28, 2021
A standalone pytube wrapper for downloading individual videos from YouTube.

pytube-runner This is a Python CLI script for downloading individual videos from YouTube. The pytube project is the core of this runner, so naturally

Shiva 2 Jun 21, 2022
A discord bot for downloading youtube video and audio files

disctube disctube is a discord bot for downloading video and audio files from youtube using python pytube. disclaimer i am not the best python program

razor420 3 Feb 03, 2022
A fast and small Torrent client made with Python 3.

pico-torrent A fast and small Torrent client made with Python 3. History and context It was programmed by a hacker known as Jazz_Man, around January o

Pindorama 9 Oct 04, 2022
VK sticker downloader with python

VK Sticker Downloader This repository is used to automate download file from VK Sticker How to use Execute the file ./downloader.py Writedown full url

Hartawan Bahari M. 1 Dec 29, 2021
Most versatile Telegram torrent and youtube-dl bot.

TorToolkit Telegram So basically Tortoolkit is aimed to be the most versatile torrent leecher and Youtube-DL bot for telegram. This bot is highly cust

Yash Khadse 541 Dec 22, 2022
Simple package for Sublime Text 4; download URL's for local viewing and editing

URLDownloader This is a simple example package that allows you to easily download the contents of any web URL to edit locally. Given a URL, the packag

Terence Martin 3 Mar 05, 2022
A股tick下载,自动判断交易日历,获取全市场level1数据

TickDown A股tick下载,自动判断交易日历,获取全市场level1数据 依赖项 func_timeout requests some_tool(仓库里) akshare 使用 定时任务在上午 09:07开始运行 参数调节 max_num 单批次提交的股票数,当前为800,可以自行尝试多个数

Demon Finch 7 Jul 06, 2022
Open Source application for downloading and playing music.

Musifre Greetings For HackHeist(Wartex) Judges: Synopsis, Promotion Video & Product Functioning Video are present in Documentation Folder. A Star woul

Yash Dhingra 9 Mar 22, 2022
Youtube_dl_helper - A hacky python script meant to automate the process of downloading mp3 files from YouTube using youtube-dl library

youtube_dl_helper A helper program meant to automate the process of downloading mp3 files from YouTube using youtube-dl library Dependencies In order

Guilherme Bittencourt de Borba 1 Jan 04, 2022
apkizer is a mass downloader for android applications for all available versions.

apkizer apkizer collects all available versions of an Android application from apkpure.com Purpose Sometimes mobile applications can be useful to dig

Kamil Onur Özkaleli 41 Dec 16, 2022
This repository contains code for a youtube-dl GUI written in PyQt.

youtube-dl-GUI This repository contains code for a youtube-dl GUI written in PyQt. It is based on youtube-dl which is a Video downloading script maint

M.Yasoob Ullah Khalid ☺ 191 Jan 02, 2023