Getting Dislikes Back For Youtube, cause time is precious to at least not waste on junk.

Overview

The OpenDislikeAPI Project

Getting Dislikes Back For Youtube(TM), cause time is precious to at least not waste on junk.

Inspired by a video by Linus Tech Tips https://youtu.be/Nz9b0oJw69I?t=340

I plan to make a Nodejs API to get the dislike data from Creators such as Linus Tech Tips, MrBeast, Mark Rober and many other creators would like to care for their viewers and share their Youtube(TM) Analytics data with Google's OAuth.

As Linus said in his video creators can help, so let's hope they do their part :) Also, he said, it gets pretty shady pretty fast, we are making this thing open source so at least it gets... ah, less shady I guess? also you can view our code and check what we collect and understand why we collect. We plan to make it in such a way that it becomes easy for anyone to sign up and basically no maintenance is needed after that.

Plan

Security

You: do you really expect me to belive you? Me: Yes. You: tf why? Me: 1) read the last part of the readme 2) I really don't get access to your data, only the server does. To be clear, I can still view the refresh tokens, but its useless? why you ask? cause its encrypted by a key i don't know as its provided by a third party like the RYD or LTT or any other company or individiual a vote decides.

How will this work?

So basically the code would get the real stats from Youtube (or our database, whichever fresh or fresh enough to prevent us hitting rate limits) when any video from a YouTuber signed up with us is requested. We would use this method from the youtube API https://developers.google.com/youtube/analytics/metrics#dislikes (for that we would need the following scopes as told by docs: https://www.googleapis.com/auth/youtubepartner, https://www.googleapis.com/auth/youtube, https://www.googleapis.com/auth/yt-analytics.readonly) to get the dislikes to count for that specific video, also we would asynchronously store that value against the videoID in our database.

Ok, we got the data, what next?

Now, we would store the data we needed i.e. the dislikes count in our Redis Cache.

Why Redis? Well, It’s free, fast and fits what we are doing. I thought to use MongoDB for everything as my other projects such as Dogegram (wink wink, sign up for that too now) use it but I thought it might be an overkill to store just a JSON object containing just two to three items.

We would still use MongoDB for storing the access token for the creators.

Well enough, what would you store about the creators?

Nothing much. Just the basic things we need.

Heres’ a list of things we might store about the creator along with the reason why we might need it:

  • Dislikes: That’s the main thing we are doing this all for
  • Email: We would need that for informing you about the changes in service if any occur in future
  • Youtube Channel ID: For making the request to the API
  • Google OAuth Access Token: For Authentication with Google
  • Account-Related Metadata (such as channel name, : For identification purposes.
  • Anything else? I don’t remember one as of now.

Why do I trust you?

You can trust me for the following reasons:

  • Pinky Promise
  • Also I don't get access to your data as its encrypted in storage (the refresh token) with a key i don't know (more about it at the 'Security' part)
  • The data you provide is pretty useless for me to cause any harm to you or your channel (most i could do is maybe share it with advertisers you lied to about your stats)
  • The code is open source, hence, anyone can “peer review” it
  • The server is hosted on railway.app. Any creator who wants to audit can come and email me on [email protected]
  • I am just a 14-year-old dev, not Google or Facebook who would track you nor someone evil.
  • Also I would give a few big creators the ability to audit whats running on the servers at any moment.

I heard that the data from the API does contain some stuff other than the dislike and like count that might be of certain business interest. Again I say, you don't need to trust me that I am not taking your data, I can't genrate a access token hence can't take your data either. I am just taking the dislike count and distributing it to everyone in need such as the RYD extensions and servers, so you just need to share the data and permissions with only one app and only one.

I thought about getting the dislike data from sources other than the official API, using a method similar to whats told in https://github.com/Anarios/return-youtube-dislike/issues/392 of the RYD Repo but it’s too much work for creators and easy to be abused and also as https://github.com/Anarios/return-youtube-dislike/issues/396#issuecomment-1003646970 suggested, its just isn’t viable.

💻 Willing to contribute? Thanks! You can make a PR and I would check it out!
Better formatted version on Notion: https://dogegram.notion.site/OpenDislikeAPI-b83df4347bca43b6a7c1b64acfb7a7f8
You might also like...

A React component for playing a variety of URLs, including file paths, YouTube, Facebook, Twitch, SoundCloud, Streamable, Vimeo, Wistia and DailyMotion

ReactPlayer A React component for playing a variety of URLs, including file paths, YouTube, Facebook, Twitch, SoundCloud, Streamable, Vimeo, Wistia, M

Jan 4, 2023

Watch youtube, play poker and many others games together!

Watch youtube, play poker and many others games together!

THE GAMES ARE FROM DISCORD STOP MESSAGING ME ABOUT IT! Powercord Together A plugin that makes easy to watch youtube, play poker and many others games

Nov 25, 2022

Youtube App without ADs

youtube-webos Youtube App without ADs Pre-requisites (Optionally) Install webOS SDK - https://webostv.developer.lge.com/sdk/installation/ Setup webOS

Jan 2, 2023

This repo contains the code for blocking YouTube ads that is supposed to be run by an iOS shortcut

This repo contains the code for blocking YouTube ads that is supposed to be run by an iOS shortcut

Block YouTube Ads in Safari on iPhone/iPad This repository contains code for the shortcut that we use to block YouTube ads on iPhone/iPad. The problem

Dec 17, 2022

Play games or watch YouTube videos together on Discord !

Play games or watch YouTube videos together on Discord !

Discord Together 🔩 Installation Install discord-together $ npm install discord-together@latest Install discord.js $ npm install discord.js 🔑 Featu

Jan 3, 2023

Tonton video tutorial di YouTube saya untuk cara penginstalan & apabila kurang mengerti bisa hubungi saya di WhatsApp 🐣Klik link di bawah untuk tutorial penginstalan di heroku

Tonton video tutorial di YouTube saya untuk cara penginstalan & apabila kurang mengerti bisa hubungi saya di WhatsApp 🐣Klik link di bawah untuk tutorial penginstalan di heroku

BOTZ10 LAST Termux • Heroku • Session Setting • Thanks TERMUX Git clone this repo git clone https://github.com/zeeoneofc/BOTZ10a.git cd BOTZ10a

Dec 23, 2021

Umut Bayraktar YouTube Özel Discord.js v13 Uyumlu Başvuru Botu Altyapısı, Glitch ve PC Uyumludur!

Discord.js v13 Başvuru Botu Umut Bayraktar Youtube Özel Discord.js v13 Başvuru Botu Altyapısı. Glitch.com'da Kullanacak İseniz .env İsimli Dosyaya Bot

May 31, 2022

Umut Bayraktar Youtube Özel Codesty Bot Altyapısı!

BU ALTYAPI EXPERT TARAFINDAN YAPILMIŞDIR! UMUT BAYRAKTAR: https://www.youtube.com/c/UmutBayraktarYT CODE SHARE Discord Sunucusu: https://codeshare.xyz

May 31, 2022

Umut Bayraktar Youtube Özel Discord.js v13 Müzik Botu Altyapısı.

Discord.js v13 Müzik Botu Umut Bayraktar Youtube Özel Discord.js v13 Müzik Botu Altyapısı. .env İsimli Dosyaya Bot Tokeninizi Yazın ve Kullanın. Umut

May 31, 2022
Owner
null
Take time-stamped YouTube notes

NattyNote Take time-stamped YouTube notes Installation Firefox ⚙️ How it works Press W, the video will stop playing, a prompt will show up, write your

 Ahmad 36 Jan 1, 2023
A bot to report repositories that do not meet Hacktoberfest guidelines and standards.

Set up a bot application Invite the bot to your server via an oauth2 invite link Find your Guild (server) ID Create a file named .env in the root dire

nick-w-nick 2 Oct 12, 2021
An online stem player. Inspired by but not affiliated with YEEZY TECH X KANO Stem Player.

Stem Player Online An online stem player. Inspired by but not affiliated with YEEZY TECH X KANO Stem Player. https://stemplayeronline.com See the proj

Luke Weiler 23 Nov 13, 2022
About Discord bot draft that does not contain ready-made commands, compatible with discord.js v14. Create your own discord bot with this command handler.

discordJS-V14 About Discord bot draft that does not contain ready-made commands, compatible with discord.js v14. Create your own discord bot with this

Umut Bayraktar 36 Dec 28, 2022
This bot can raise your mood. This bot send joke often our channel for users. Sometimes bot don't work because we have not server for this project...)

Hi, welcome to send-joke-bot telegram bot project ?? What can do this bot ? This bot can raise your mood. This bot send joke often our channel for use

Muhammadamin 5 Sep 26, 2022
▶️ Streams a list of tracks from Youtube, Soundcloud, Vimeo...

PlayemJS PlayemJS is a front-end JavaScript component that manages a audio/video track queue and plays those tracks sequentially. It can currently pla

Adrien Joly 90 Nov 27, 2022
Rule YouTube, Soundcloud and Vimeo player with one API

Polyplayer Polyplayer allows you to rule YouTube's, Soundcloud's and Vimeo's player using one API. Features Playing, pausing, stopping Seek to absolut

Marius 41 Sep 24, 2022
HTML5

One file. Any browser. Same UI. Author: John Dyer http://j.hn/ Website: http://mediaelementjs.com/ License: MIT Meaning: Use everywhere, keep copyrigh

MediaElement.js 8k Dec 27, 2022
A simple HTML5, YouTube and Vimeo player

Plyr is a simple, lightweight, accessible and customizable HTML5, YouTube and Vimeo media player that supports modern browsers. Checkout the demo - Do

Sam Potts 23.1k Jan 3, 2023
HTML5

One file. Any browser. Same UI. Author: John Dyer http://j.hn/ Website: http://mediaelementjs.com/ License: MIT Meaning: Use everywhere, keep copyrigh

MediaElement.js 8k Jan 8, 2023