Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add RYD and RYD Proxy support #3215

Closed

Conversation

ChunkyProgrammer
Copy link
Member

Add RYD and RYD Proxy support

Pull Request Type

  • Feature Implementation

Related issue

closes #1927
Credit to @petaded for #1982

Description

This PR adds support for the ReturnYouTubeDislikes api as well a RYD proxies
https://github.com/TeamPiped/RYD-Proxy

Testing

RYD Disabled - (Test with local and invidious)

  1. have ryd disabled
  2. test a video (ex: https://www.youtube.com/watch?v=YbJOTdZBX1g )
  3. dislikes aren't fetched and aren't shown

RYD Enabled + using RYD-proxy - (Test with local and invidious)

  1. have ryd enabled
  2. use ryd-proxy (ex: kavin's instance [this is the default instance])
  3. test a video (ex: https://www.youtube.com/watch?v=YbJOTdZBX1g )
  4. see dislikes + like/dislike bar

RYD Enabled + using official API - (Test with local or invidious)

  1. have ryd enabled
  2. use official api
  3. test a video (ex: https://www.youtube.com/watch?v=YbJOTdZBX1g )
  4. see dislikes + like/dislike bar

Desktop

  • OS: Windows
  • OS Version: 11
  • FreeTube version: 0.18.0

Co-Authored-By: petaded <74797538+petaded@users.noreply.github.com>
@FreeTubeBot FreeTubeBot enabled auto-merge (squash) February 23, 2023 05:54
@github-actions github-actions bot added the PR: waiting for review For PRs that are complete, tested, and ready for review label Feb 23, 2023
PikachuEXE
PikachuEXE previously approved these changes Feb 23, 2023
Copy link
Collaborator

@PikachuEXE PikachuEXE left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested both local and Invidious

Official API = https://returnyoutubedislikeapi.com/Votes (Will be modified on paste)
From https://returnyoutubedislikeapi.com/swagger/index.html and/or https://www.returnyoutubedislike.com/docs/fetching

Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
PikachuEXE
PikachuEXE previously approved these changes Feb 24, 2023
Co-authored-by: absidue <48293849+absidue@users.noreply.github.com>
Copy link
Member

@absidue absidue left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested locally and it works

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because we are using a proxy i think its better to put it in the proxy tab instead of its own tab

@ChunkyProgrammer
Copy link
Member Author

Because we are using a proxy i think its better to put it in the proxy tab instead of its own tab

You dont have to use the proxy though

@efb4f5ff-1298-471a-8973-3d47447115dc

You dont have to use the proxy though

Doesnt that go against #1927 (comment)?

@ChunkyProgrammer
Copy link
Member Author

You dont have to use the proxy though

Doesnt that go against #1927 (comment)?

It uses the proxy by default but allows people to change it to the official api if they want to 🙂

@efb4f5ff-1298-471a-8973-3d47447115dc

Sorry wasnt clear enough with that one. Based on #1927 (comment) i wouldnt feel comfortable to allow setting it to the official api. I would only allow setting it to other proxies if that is going to be a thing TeamPiped/RYD-Proxy#6

@absidue
Copy link
Member

absidue commented Feb 26, 2023

@efb4f5ff-1298-471a-8973-3d47447115dc I think allowing the user to set it to the official instance, is okay. The user has to make a conscious decision to use the official instance, so it's on them. Now that the code is already written, our only argument against it is "we don't think the official instance is trustworthy, so we are going to explicitly block it in FreeTube", which would be us preventing users from doing something trivial because of our personal opinions.

I see it similarly to using a VPN, our docs clearly recommend using one, but the user is allowed to use the local API without a VPN if they want to. You have to remember that we have a wide variety of users using FreeTube, some with extreme threat models and others that just use FreeTube for the features (no ads is probably a big one) and don't really care about privacy.

@efb4f5ff-1298-471a-8973-3d47447115dc efb4f5ff-1298-471a-8973-3d47447115dc added PR: changes requested and removed PR: waiting for review For PRs that are complete, tested, and ready for review labels Feb 26, 2023
@PikachuEXE
Copy link
Collaborator

Hmmm we have "local API" which is connecting to YT directly right?
So isn't that a "privacy concern" already?

Or displays a warning when official API is used?

Discuss with @PrestonN ?

@ChunkyProgrammer
Copy link
Member Author

Will be closing this PR until RYD is more open

auto-merge was automatically disabled February 27, 2023 01:20

Pull request was closed

@ghost
Copy link

ghost commented Oct 15, 2023

does someone maintain a fork for RYD functionality with latest releases?

it's ridiculous to complain about RYD openness or lack thereof while pinging youtube servers for content.

@absidue
Copy link
Member

absidue commented Oct 16, 2023

@jackloomen The RYD database needs to be public for running an alternative instance to be viable. SponsorBlock for example not only is fully open source but also provides regular database dumps.

YouTube is the only exception, because this is literally a third-party YouTube client and we can't get around it without loosing functionality.

@ChunkyProgrammer
Copy link
Member Author

does someone maintain a fork for RYD functionality with latest releases?

I merged in the latest changes to my RYD branch. It's pretty light so it should be fairly straight forward to merge in more changes in the future if you or someone else would like to do that (I don't want to maintain the branch unless it's going into FreeTube). If you'd like to build the branch, you can follow this guide: https://docs.freetubeapp.io/development/building-from-source .

If you'd like the RYD changes to be officially added into FreeTube, feel free to give a thumbs up reaction to the issue for open sourcing the backend and the issue providing data dumps in the return-youtube-dislike repo 😄

@RayZ3R0
Copy link

RayZ3R0 commented Jan 1, 2024

@jackloomen The RYD database needs to be public for running an alternative instance to be viable. SponsorBlock for example not only is fully open source but also provides regular database dumps.

YouTube is the only exception, because this is literally a third-party YouTube client and we can't get around it without loosing functionality.

Couldn't this be made an option in the settings so you can turn it on or off depending on the user? I am privacy concerned but I also need the dislikes count. I don't think it'll be an issue for anyone if its toggle-able

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement 'Return YouTube Dislike' API as an optional setting
5 participants