HN user

omarroth

148 karma
Posts5
Comments10
View on HN

I would recommend reading the issue I linked for why it's necessary. JS needs special access to resources that can't be provided without proxying.

You can see this yourself in a DASH player[0] and testing with e.g. https://invidio.us/api/manifest/dash/id/CvFH_6DNRCY. It will fail with

Access to XMLHttpRequest at 'https://r5---sn-ab5l6nzy.googlevideo.com/videoplayback' from origin 'http://reference.dashif.org' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

0. http://reference.dashif.org/dash.js/nightly/samples/dash-if-...

Breaking changes have been fairly minor and I haven't found them to be an issue for the project. It's also possible to anticipate most changes early (compile with `crystal --warnings all`).

I'm not sure I would recommend it for something on the scale of Apple or Microsoft, but for a personal project like this I've found it a very enjoyable experience.

I agree. Unfortunately OAuth is impractical for this project, as it requires registering your application with Google.

Instead I've done my best to make clear how it works[0][1] and what is stored[2].

As mentioned in a sibling comment Google does not have a good track record with similar projects. AFAIK the only project that provides similar functionality is youtube-dl[3], which works the same way.

Important to note is that this functionality is optional; you do not need to log in with Google to store subscriptions or preferences. The main benefit currently is that it will automatically sync subscriptions with YouTube, otherwise I would recommend creating a new account on Invidious and then importing subscriptions from YouTube.

0. https://www.reddit.com/r/SideProject/comments/8wvazc/invidou...

1. https://github.com/omarroth/invidious/blob/8af87f1/src/invid...

2. https://invidio.us/privacy

3. https://github.com/ytdl-org/youtube-dl/blob/76e510b/youtube_...