Invidio.us - youtube redirect site, AGPLv3, no JS required
Interesting site. Redirects youtube videos, works without any JS, claims to work without using any of the youtube API's. Looks like it's only been live for about a month. https://www.invidio.us
Seems to work as advertised as far as not needing JS, as I am running it without JS right now. Not sure about privacy, if it's forwarding any info to youtube.
The project seems to have a local installation option, although I'm not sure how it would work: https://github.com/omarroth/invidious
As a simple youtube redirect website, it's been working flawlessly for me this evening.
They have a Patreon page:
https://www.patreon.com/omarroth
I have pledged $25 a month to this. This is the first Patreon page I have contributed to. I'd very much like to support this, because it works fantastically and I highly appreciate that it requires no JavaScript. This is the type of thing a GNU FSDG distro could even specifically send people to for videos.
They have a goal of $50 a month to maintain infrastructure costs. With my contribution, it's halfway there. I'd like to encourage anyone else who appreciates this mirror to contribute as well, if not through Patreon (which I understand because it requires JavaScript to set up), then through the Bitcoin link at the bottom of the site.
> This is the type of thing a GNU FSDG distro could even specifically send people to for videos.
Yes! Something like this[1] could be used to make every youtube.com page redirect to the invidio.us page with the same information.
This is really great. Although there are desktop clients that replace youtube.com, they are generally missing features like suggested videos and subscriptions, and many users are so used to doing everything in their browser that they resist the idea of using a desktop client.
This will also make it easier to share YouTube videos without potentially guiding users toward proprietary software. It's one thing to share a youtube.com link and say "but don't click on it, use mpv/vlc/youtube-dl/youtube-viewer" and hope that they listen to you. Sharing an invidio.us link will be much less likely to guide someone toward nonfree JS.
Another great feature would be either (a) the ability to upload videos directly to Invidious without going through YouTube or (b) aggregating videos from sites such as MediaGoblin instances. Replacing YouTube's front end with one that does not require nonfree software is good, but on its own this does not reduce Google's power. An ideal solution would replace YouTube without relying on it.
The only thing I don't like about the site is that the CAPTCHA required to register does not have an audio fall back for visually impaired users.
I've pledged $15/month. If someone else can afford to pledge $10 it will be fully funded. Using Patreon is an unfortunate freedom compromise, but a small one compared to how bad YouTube is for freedom.
[1] https://addons.mozilla.org/en-US/firefox/addon/redirector/?src=recommended
> Yes! Something like this[1] could be used to make every youtube.com page
> redirect to the invidio.us page with the same information.
Something like it already exists.
https://addons.mozilla.org/en-US/firefox/addon/alternate-tube-redirector/
It doesn't redirect the YouTube homepage to Invidious, so users might still end up performing their search on youtube.com. However, it redirects video links,
Clicking here
https://www.youtube.com/watch?v=OD3F7J2PeYU
takes you here
https://invidio.us/watch?v=OD3F7J2PeYU
so users will eventually be guided toward the freedom-respecting replacement.
Is it possible to watch the videos using mozplugger/mpv? With HTML5 media disabled the videos don't work.
I'm not familiar with mozplugger, but
$ mpv https://invidio.us/watch?v=OD3F7J2PeYU
works.
mpv just uses youtube-dl and can play the YouTube URL directly as well. The point of mozplugger is to playback the media within the browser using an external player such as mpv.
THIS. IS. AMAZING.
No more linking YouTube pages. Just this. FUCK YEAH
This site is fantastic, I've been listening to music on my phone with it all day.
It's got a great phone feature where you can play just the audio and not the video of a song, and where you can play the song while you are working on other apps on the phone. YouTube actually has much less features for watching videos than invidio.us
I notice that some videos play fine (like https://invidio.us/watch?v=Dn8gealMDsg), while others do not (like https://invidio.us/watch?v=Nq-UXykE-s0). I experience the same with GNOME Videos on Parabola, so they might be handling the sources in a similar way. Is that just me, or does the site not work universally?
Try it again. The site wasn't playing videos for a short time this morning, but it seems to be fully functional again now. Maybe the dev was updating some code. Your second video works for me now.
You're right; works like a charm now. Thanks for the notification!
Hello everyone! I'm the creator of Invidious, happy to answer any questions you might have about the project!
Thanks for stopping by! We are in your debt - invidio.us fills a very important need for us in the free software community.
One question that's not completely clear from your statements on the Patreon site is if invidio.us keeps the user completely anonymous from YouTube and Google. Another one of our primary goals is to avoid being tracked by big brother Google. It appears to me that by avoiding the Google API's and JS that we should avoid Google tracking, but I would like to hear your thoughts. Is any identifying information passed through that you know of? Thanks!
> if invidio.us keeps the user completely anonymous from YouTube and Google.
I know the answer to that: no. The videos are fetched directly from Google's servers, so Google knows your IP address (though this is of course much better than the fingerprinting they can do through YouTube's JavaScript). You can avoid this by using a VPN.
I'm glad people here find it useful!
Invidious itself does not pass through any information that I know of, unless of course you are using a Google account, which I don't imagine many people here are doing ;). The site acts in large part as a proxy, and potentially identifying information, such as IP, User-Agent, etc. are stripped away, so the only thing that Google/YouTube should see is a request from the Invidious server. Something that you might want to keep in mind is that currently Invidious does *not* proxy the video files, although this is the same for youtube-dl and probably every other project I can think of.
I don't make that the claim of anonymity on the Patreon site, although I probably could, because it would rely on some information that I don't know. For example, running the project locally will request videos/resources using your IP, which may be a concern for some folks. My main concern though is that I don't know to what extent Google/YouTube tracks access to the raw video files I mention above.
Most users I think are concerned about cookies and other tracking info, logging, proprietary JS, etc. which is stripped away by the site and never presented to the user.
EDIT: I missed onpon's reply, which is absolutely correct. Invidious *does* have the ability to proxy the files though, if you replace https://rX---XX-XXXXXXXX.googlevideo.com with https://invidio.us, although this obviously puts more load on Invidious, so currently I only do it for livestreams where there doesn't appear to be any alternative.
Very interesting. So all Google knows is that their server is sending the video file to my IP address, but has no idea who I am and are unable to track me further, unless and until I grab another video file.
That's probably a level of privacy I can work with, since I am mostly just using it for music.
> Most users I think are concerned about cookies and other tracking info, logging, proprietary JS, etc.
Yep. With that, the rest can be solved with a VPN.
> Invidious *does* have the ability to proxy the files though, if you replace https://rX---XX-XXXXXXXX.googlevideo.com with https://invidio.us, although this obviously puts more load on Invidious, so currently I only do it for livestreams where there doesn't appear to be any alternative.
Makes sense. Perhaps after the initial round of crowdfunding there could be a campaign to fund the resources needed to proxy other videos.
Bravo Omarroth and thank you.
Works fine with IceCat mobile & Privacy Browser 1.0 in which JS is desactivated by default, the site is responsive and very comfortable via mobile.
lots of content available.
Striping the referer & ip + no JS is a big plus for privacy and security,
Alternatives such as Mediagoblin, PeerTube hopefully will grow to break the 'reliance 'on YT.
I think it's an acceptable level of privacy for most people, although people have different standards and I don't want to be misleading so I don't make that claim on the Patreon. I would rather people look through the code, etc. to decide if it is suitable for their needs.
I received a very nice message through Patreon as well about using a more privacy-friendly platform and I think I'll paraphrase my response here because I would appreciate feedback.
My main concern for adding another platform would be moving existing patrons, as well as syncing weekly updates and the monthly goal. I don't want to be misleading about how much money is being received by the project, and I think fragmenting donations would make that difficult. LibrePay was suggested, which looks nice, and I would like people's thoughts.
> My main concern for adding another platform would be moving existing patrons,
Out of the $41/month currently pledged, $40 is from Trisquel users who would be willing to use another platform, so while migrating later when there are more patrons would be difficult, it might be realistic at this time.
> as well as syncing weekly updates and the monthly goal.
I understand that concern. How would you feel about including these updates on a page at invidio.us? Bringing more visibility to these announcements might actually bring in some more donations by drawing attention to the development process. Is your preference to keep details about the development of the project separate from its use?
> I don't want to be misleading about how much money is being received by the project, and I think fragmenting donations would make that difficult.
Is Bitcoin any different from LibrePay in that regard?
I'd recommend moving to librepay right away. You've only just started your fundraising, and if the Patreon records are accurate . it looks like $35 of the $41 you are getting are from people right here on this forum. That's based on reading the comments above.
Trisquel users are more likely to donate if it is through librepay, and your two donors on this forum already said in their comments above that they would prefer you not be on Patreon. I know I'll probably jump in and start donating if you move to librepay
> How would you feel about including these updates on a page at invidio.us?
That's something I've thought about, currently though I'd rather spend my time adding features to the main site then trying to set up a blog or anything. That's mostly why I use Patreon, just because it already provides tools to do that. The developer for a project similar to Invidious that I follow (FreeTube), is in a similar position, although I don't think he currently accepts donations.
> Is Bitcoin any different from LibrePay in that regard?
That's a good point. I guess I consider pledging money as something different than one time donations. I think you're right that providing another way for people to donate isn't much different.
I've setup an account on Liberapay here: https://liberapay.com/omarroth. I'll add that to the README and footer of Invidious, and probably make an announcement on Patreon if the other patron would like to switch. If I need to do anything for existing patrons to migrate, let me know.
Thank you everyone again for your support!
@omarroth
Thanks for the Liberapay option. I've moved my recurring donation from Patreon to Liberapay.
@forum/list
During this thread[1] I was discouraged to realize that pretty much the only way we share music with each other here is through youtube.com links. Pretty much the only other legal ways to access as much non-free music as we can on YouTube are proprietary software like Spotify or iAppleTunesStoreWhatever. The fact that YouTube is our only other way to access certain information gives Google power over us, whether or not we use youtube-dl to circumvent the the additional control of their proprietary JS. I considered saying something to that effect, but didn't because I had no solution other than modifying our listening habits to avoid non-free music.
Invidious doesn't completely solve this problem, as the information still comes from Google, but it's a start. Unlike with the many desktop clients that have come and gone, we can share links to directly invidio.us instead of effectively advertising YouTube every time we share a video or song. Also, those desktop clients were never going to catch on among anyone but people like us, because they lack some of YouTube's features and because most people prefer to use their browser rather than a dedicated desktop client. Invidious is a direct replacement for youtube.com, with all of its features and then some, so it at least has the potential for popularity. Right now YouTube is the go-to site for sharing videos. Changing that would be a huge step forward.
If you plan to use invidio.us, please consider donating at least a small amount to help ensure that it is sustainable.
https://liberapay.com/omarroth
@omarroth
Would either of the following things be possible in the future?
(a) Aggregating videos from MediaGoblin[2] instances[3] in addition to YouTube videos.
(b) You already support non-Google user accounts for managing subscriptions. Would it be possible to also support non-YouTube uploads directly to invidio.us? I understand that the load on Invidious might not make that realistic right now while you are still trying to fund the current infrastructure, but perhaps down the road?
If Invidious not only provided access to all of YouTube's information, but also some additional information, it would open up the long-term possibility of greatly reducing our dependence on Google.
[1] https://trisquel.info/en/forum/yet-another-music-thread-only-good-stuff-allowed
[2] https://mediagoblin.org/
[3] https://goblinrefuge.com/mediagoblin/
One thing:
How do I get Invidious search results to show up when I do "foo!yt" in
DuckDuckGo? I have the redirector addon, but it doesn't redirect
searches.
You shouldn't have to redirect YouTube search results if you know you want to play the video on invidio.us, as the site had a perfectly good search system itself. Can't you just setup DDG to recognize "foo!iv" to mean to search invidio.us?
My mistake, I didn't realize that DDG bangs were presets. For some reason I was thinking you could define your own bangs..
There are two invidio.us search engine add-ons available at Mycroft now. They both work on my system. http://mycroftproject.com/search-engines.html?name=invidio.us
> For some reason I was thinking you could define your own bangs..
Not locally, but you can submit new ones.[1] !iv is taken however.[2]
https://duckduckgo.com/newbang
https://duckduckgo.com/bang_lite.html
> I have the redirector addon, but it doesn't redirect
> searches.
I did some copy/paste/tweaking to get it to redirect searches. To try it, run
$ sudo apt install jq
$ git clone https://gitlab.com/chaosmonk/alternate-tube-redirector.git
$ cd alternate-tube-redirector
$ git checkout search-on-alt
$ ./build
That will create alternate-tube-Redirector-1.3.zip in the alternate-tube-redirector directory. To add it to Abrowser, go to Addons -> Extensions. Click the gear in the top right and select "Install addon from file..." Then navigate to the zip file and install it. The option to redirect searches is in the preferences for the addon. Let me know if this is what you had in mind.
@chaosmonk
I appreciate your support!
I think you've managed to hit my long-term goal almost exactly :). For large sites such as YouTube, there are *extremely* powerful network effects in their favor, and so although I have an enormous amount of respect for the teams working on BitChute, PeerTube, MediaGoblin, and other alternative sites, I don't think starting from scratch is a viable strategy. I hope that doesn't sound condescending, but to me that seems like what killed Vidme and Vessel.
You mentioned allowing people to upload directly to the site, which is also a long-term goal. Already playlists are going in that direction though, see https://github.com/omarroth/invidious/issues/114. I hope to provide those as some sort of public resource for other projects, although I'm not sure at the moment how I want to do that. I also don't know if you've already seen the Invidious API https://github.com/omarroth/invidious/wiki/API, but that's also a resource I provide, (it's used already by CloudTube https://github.com/cloudrac3r/cadencegq).
But my main (long-term) goal is to provide a viable alternative to YouTube, I think my approach is a little different. Adding support for other media sites is something that I would like to work on, although it probably get much attention until YouTube's functionality has been mostly implemented.
> You mentioned allowing people to upload directly to the site, which is also a long-term goal.
Great! I think this is a better long-term goal. I only suggested adding other media sites in case you wanted to avoid the costs of hosting videos on invidio.us itself.
> For large sites such as YouTube, there are *extremely* powerful network effects in their favor, and so although I have an enormous amount of respect for the teams working on BitChute, PeerTube, MediaGoblin, and other alternative sites, I don't think starting from scratch is a viable strategy.
Yes, I think your approach has more long term potential. Integrating with YouTube so that users do not lose anything by switching to Invidious helps neutralize the network effect. It reminds me of the strategy Soprani.ca is taking to replace the cell network.
https://ossguy.com/talks/20171022_radical_networks/
Thanks again. I'm looking forward to seeing where your project goes.
omarroth, could you please integrate the website with ViewTube, so that users who prefer to use an external video player or NPAPI plugin instead of HTML5 can view your website (HTML5 video is not as smooth for me as mpv playback)?
http://sebaro.pro/viewtube/?ln=en
Thanks.
Have you looked into freetube? Seems to do most of what invidio.us does through an external player. Built-in Tor routing. Works very well for me. https://github.com/FreeTubeApp/FreeTube
FreeTube relies on Electron (considered non-free by several distros), so no thanks.
Looks good! Is there any documentation on making a site "ViewTube-friendly"? I'm having trouble finding any information.
omarroth, the source code of ViewTube is developed on gitlab, so perhaps you can contact the developer and ask how to adapt the website and/or add code to ViewTube to make the site compatible with ViewTube. Since the script already supports YouTube adding support for invidio.us should be simple.
Hi Ommaroth, thanks for your work on invidio.us, and for setting up on Liberapay as an alternative to Patreon, which depends very heavily on JS from goOgle and integrates a bunch of other corporate spyware too (FB etc).
One thing I wanted to comment on:
> "although I have an enormous amount of respect for the teams working on BitChute, PeerTube, MediaGoblin, and other alternative sites, I don't think starting from scratch is a viable strategy."
The situation for each of the alternative video-hosting projects is a bit different. Just looking at the 3 you mentioned, we have:
* BitChute - a proprietary walled garden. The only things that makes BC differenct from YT (other than being a haven for climate change obfuscators and other alt-right trolls kicked off YT) is that it uses WebTorrent.
* MediaGoblin - a free code package for setting up walled gardens. There is currently no way for MG to compete with YT because it can't built its own network effect with multiple, unconnected instances, and each instance has to provide all the bandwidth for any media is streams.
* PeerTube - a free code package for setting up an inter-connected network of tube sites, using WebTorrent to share the load of streaming videos with the users watching them, and ActivityPub to allow PT instances to keyword search the whole PT network, not just the PT instance the user is searching on.
In summary, BitChute is a dead-end, MediaGoblin is useful for private and small scale uses (as long as nothing on a MG site goes viral), but PT as a *network* (not any individual PT site) has the potential to grow larger than YT, because it is more useful in a number of ways.
For example, using ActivityPub also allows users of all fediverse apps supporting AP (Mastodon, Pleroma, Hubzilla, Misskey, and a growing number of others) to 'follow' PT channels from their chosen social app. This means that new videos on that channel appear as embeds in posts on their social media feeds, and if they make replies on those video posts, then these appear as comments under the videos on the PT site that hosts them. I think it would be well worth your time to make invidio.us inter-operable with PT. I'm guessing most of what would be required is implementing WebTorrent and AP?
@Ommaroth why do you use a .us domain? Are you planning to use also something different?
It's a domain name hack: "Invidious" -> "Invidio.us".
Ok, got it :)
It's a fantastic idea, bravo omarroth, and thank you!
It doesn't seem to be working well in my case though.
What I noticed:
Abrowser with JS disabled can run some videos, but not all.
Firefox (configured for privacy) with NoScript seems to be running none :(
NoScript kills ...googlevideo.com and ...invidio.us.
Message is: "No video with supported format and MIME type found."
If I allow invidio.us, the message is "The media could not be loaded, either because the server or network failed or because format is not supported."
Allowing ...googlevideo.com works of course, but not on all videos. But even in this state, it's miles better than plain youtube.
There was an issue bypassing YouTube's DRM earlier today that I just pushed out a fix for. Would you mind checking to see if this was the problem?
Thank you for the quick feedback.
It works just fine now on Abrowser with JS disabled (except some channels like vevo, but that's fine).
On the other hand, with Firefox and NoScript, and I made sure to disable all the other add-ons (kept NoScipt and HttpsEverywhere), I have nothing. Unless I let ...googlevideo.com through.
One difference between both is that the icons on the sites appear of Firefox only if I allow ...invidio.us.
But allowing it doesn't help this browser.
EDIT: for comparison, youtube-dl doesn't catch each and every videos on youtube either.
NoScript sometimes blocks more than just JavaScript. It sometimes (always?) blocks media embedded via HTML5, and apparently sometimes blocks icons too. Invidious also doesn't work with Abrowser+NoScript without allowing googlevideo.com, so I'm pretty sure the issue is NoScript and not Firefox.
chaosmonk, thank you, that was it :
I didn't know I could fine tune NoScript for each page (never had to, so never looked into it).
Indeed, for ...googlevideo.com, I can keep the script off and many other parts (frame, fetch and other are enabled, while script, object, font and webgl are disabled) and enabled media. Actually exclusively enabling media is enough for most videos.
Regarding ...invidio.us, either allowing nothing or only fonts for cosmetic measure is enough.
For good measure, I'll try to figure out what I'm allowing through exactly. But this is great.
But that specific channel I mentioned above, no way to access it, even with youtube-dl (with a youtube URL) or turing off NoScript.
The updside is it that I don't need this type of channels at all (actually it's about some urls frm this channel only. Some work.). so many alternatives.
Very, very cool. Thanks again !
omarroth,
I can reach a channel, but I don't seem to be able to reach playlists. Is there a way to do so?
Channels URLs have a invidio.us/channel/whatever format.
Unfortunately you cannot reach playlists from search just yet, however if you already know the playlist ID then you can access it by going to /playlist?list=ID. Playlists are under development, but I hope to add more functionality to them soon.
First of all, I want to say that this is really good news!
As I read about problems with NoScript (seems to block HTML5 in strictest setting) here, I wonder if anyone has already tried the following combination:
- Tor Browser
- NoScript Addon completely disabled
- Tor Security Settings set to "Safest" (so all scripts are forbidden)
It also makes me wonder two things:
- could the fact that the NoScript Addon is disabled make my browser so unique it could be used to track me?
- Can the configuration of an Addon even be recognized when Java Script is disabled by the Tor Security Settings?
Hope someone can help me to see this clear
Tor Browser doesn't disable JavaScript in about:config at any security settings level. It uses NoScript, and changing Tor Browser's security settings updates NoScript's settings accordingly. I don't think it would be wise to mess with NoScript manually in Tor Browser.
Invidious does not work in Tor Browser if security settings are setting to 'safer' or 'safest'. It does work if security settings are set to 'standard', but I do not recommend doing this for two reasons.
(1) Among other problems, 'standard' allows most or all JavaScript. The only reason 'standard' is the default is that so that users who are new to Tor Browser don't immediately think that the browser is broken before they understand the importance of blocking things like JavaScript. You're much better off with the 'safest' settings.
(2) Watching videos via Tor slows down the network for others, so I wouldn't do so unless there's a particular reason you require that level of anonymity for the video you're watching.