From 21dd204a13f6987a9b16f031a88d2ecb2cbc0ca0 Mon Sep 17 00:00:00 2001 From: Omar Roth Date: Fri, 30 Nov 2018 15:10:56 -0600 Subject: [PATCH 01/36] Update README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2945c488..6d905acc 100644 --- a/README.md +++ b/README.md @@ -146,6 +146,7 @@ $ ./sentry - [Alternate Tube Redirector](https://addons.mozilla.org/en-US/firefox/addon/alternate-tube-redirector/): Automatically open Youtube Videos on alternate sites like Invidious or Hooktube. - [Invidious Redirect](https://greasyfork.org/en/scripts/370461-invidious-redirect): Redirects Youtube URLs to Invidio.us (userscript) +- [iPhone Redirector Shortcut](https://www.icloud.com/shortcuts/6bbf26d989cf4d07a5fe1626efbc0950): Automatically open YouTube videos in Invidious (iPhone shortcut) - [Invidio.us embed](https://greasyfork.org/en/scripts/370442-invidious-embed): Replaces YouTube embeds with Invidio.us embeds (userscript) - [Invidious Downloader](https://github.com/erupete/InvidiousDownloader): Tampermonkey userscript for downloading videos or audio on Invidious (userscript) From d2f51ab71cc41130d7962f02424b56c2ad5a2eae Mon Sep 17 00:00:00 2001 From: asddsaz <42685606+asddsaz@users.noreply.github.com> Date: Wed, 5 Dec 2018 01:22:54 +0000 Subject: [PATCH 02/36] Add Made with Invidious Section --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 6d905acc..26d37bea 100644 --- a/README.md +++ b/README.md @@ -150,6 +150,10 @@ $ ./sentry - [Invidio.us embed](https://greasyfork.org/en/scripts/370442-invidious-embed): Replaces YouTube embeds with Invidio.us embeds (userscript) - [Invidious Downloader](https://github.com/erupete/InvidiousDownloader): Tampermonkey userscript for downloading videos or audio on Invidious (userscript) +## Made with Invidious +- [FreeTube](https://github.com/FreeTubeApp/FreeTube): An Open Source YouTube app for privacy. + + ## Contributing 1. Fork it ( https://github.com/omarroth/invidious/fork ) From 65cc51766fab07aea9c184c934d1515ee601c509 Mon Sep 17 00:00:00 2001 From: Omar Roth Date: Tue, 4 Dec 2018 21:28:49 -0600 Subject: [PATCH 03/36] Add other projects that use Invidious --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 26d37bea..75b06873 100644 --- a/README.md +++ b/README.md @@ -151,8 +151,10 @@ $ ./sentry - [Invidious Downloader](https://github.com/erupete/InvidiousDownloader): Tampermonkey userscript for downloading videos or audio on Invidious (userscript) ## Made with Invidious -- [FreeTube](https://github.com/FreeTubeApp/FreeTube): An Open Source YouTube app for privacy. +- [FreeTube](https://github.com/FreeTubeApp/FreeTube): An Open Source YouTube app for privacy. +- [CloudTube](https://github.com/cloudrac3r/cadencegq): Website featuring pastebin, image host, and YouTube player +- [PeerTubeify](https://gitlab.com/Ealhad/peertubeify): On YouTube, displays a link to the same video on PeerTube, if it exists. ## Contributing From 89439e1775039eb823ddc4a9acf01a996a05cc80 Mon Sep 17 00:00:00 2001 From: Omar Roth Date: Wed, 5 Dec 2018 17:02:00 -0600 Subject: [PATCH 04/36] Add link to '/clear_watch_history' in '/feed/history' --- src/invidious/views/history.ecr | 14 ++++++++++++++ src/invidious/views/subscription_manager.ecr | 1 + 2 files changed, 15 insertions(+) diff --git a/src/invidious/views/history.ecr b/src/invidious/views/history.ecr index 691201cd..3830e9c4 100644 --- a/src/invidious/views/history.ecr +++ b/src/invidious/views/history.ecr @@ -2,6 +2,17 @@ History - Invidious <% end %> +
+
+

<%= user.watched.size %> videos

+
+ +
+
<% watched.each_slice(4) do |slice| %> <% slice.each do |item| %> @@ -34,6 +45,8 @@ function mark_unwatched(target) { var tile = target.parentNode.parentNode.parentNode.parentNode; tile.style.display = "none"; + var count = document.getElementById("count") + count.innerText = count.innerText - 1; var url = "/mark_unwatched?redirect=false&id=" + target.getAttribute("data-id"); var xhr = new XMLHttpRequest(); @@ -45,6 +58,7 @@ function mark_unwatched(target) { xhr.onreadystatechange = function() { if (xhr.readyState == 4) { if (xhr.status != 200) { + count.innerText = count.innerText - 1 + 2; tile.style.display = ""; } } diff --git a/src/invidious/views/subscription_manager.ecr b/src/invidious/views/subscription_manager.ecr index ac1c0cdd..b838a24d 100644 --- a/src/invidious/views/subscription_manager.ecr +++ b/src/invidious/views/subscription_manager.ecr @@ -57,6 +57,7 @@ function remove_subscription(target) { xhr.onreadystatechange = function() { if (xhr.readyState == 4) { if (xhr.status != 200) { + count.innerText = count.innerText - 1 + 2; row.style.display = ""; } } From 2ef3db334fd08aaa96ddc7600547a94817e6410e Mon Sep 17 00:00:00 2001 From: Omar Roth Date: Wed, 5 Dec 2018 22:17:43 -0600 Subject: [PATCH 05/36] Update CHANGELOG and bump version --- CHANGELOG.md | 54 +++++++++++++++++++++++++++++++++++++++ shard.yml | 2 +- src/invidious/comments.cr | 2 +- 3 files changed, 56 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 618edebc..a74222a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,57 @@ +# 0.12.0 (2018-12-06) + +## Version 0.12.0: Accessibility, Privacy, Transparency + +Hello again, it's been a while! A lot has happened since the last release. Invidious has seen [134 commits](https://github.com/omarroth/invidious/compare/0.11.0...0.12.0) from 3 contributors, and I'm quite happy with the progress that has been made. I enjoyed this past month, and I believe having a monthly release schedule allows me to focus on more long-term improvements, and I hope people enjoy these more substantial updates as well. + +## Accessability and Privacy + +There have been quite a few improvements for user privacy, and improvements that improve accessibility for both people and software. + +You can now view comments without JS with [`19516ea`](https://github.com/omarroth/invidious/19516ea). Currently, this functionality is limited to the first 20 comments, but expect this functionality to be improved to come as close to the JS version as possible. Folks can track progress in [#204](https://github.com/omarroth/invidious/issues/204). + +Invidious is now compatible with [LibreJS](https://www.gnu.org/software/librejs/), and provides license information [here](https://invidio.us/licenses) with [`7f868ec`](https://github.com/omarroth/invidious/7f868ec). As expected, all libraries are compatible under the AGPLv3, and I'm happy to mention that no other changes were required to make Invidious compatible with LibreJS. + +A DNT policy has also been added with [`9194f47`](https://github.com/omarroth/invidious/9194f47) for compatibility with [Privacy Badger](https://www.eff.org/privacybadger). I'm pleased to mention that here too no other changes had to be made in order for Invidious to be compatible with this extension. I expect a privacy policy to be added soon as well, so users can better understand how Invidious uses their data. + +For users that are visually impaired, there is now a text CAPTCHA available so it's easier to register and login. Because of the simple front-end of the project, I expect screen readers and other software to be able to easily understand the site's interface. In combination with the ability to listen-only, I believe Invidious is much more accessible than YouTube. Folks can read [#244](https://github.com/omarroth/invidious/issues/244) for more details, and I would very much appreciate any feedback on how this can be improved. + +## User Preferences + +There have been a lot of improvements to preferences. Options for enabling audio-only by default and continuous playback (autoplay) have been added with [`e39dec9`](https://github.com/omarroth/invidious/e39dec9), with [`4b76b93`](https://github.com/omarroth/invidious/4b76b93), respectively. Users can also now mark videos as watched from their subscription feed and view watch history by going to https://invidio.us/feed/history. I expect to add more information to history so that it's easier to use. Folks can track progress with [#182](https://github.com/omarroth/invidious/issues/182). As with all data Invidious keeps, watch history can be exported [here](https://invidio.us/data_control). + +Users can now delete their account with [`b9c29bf`](https://github.com/omarroth/invidious/b9c29bf). This will remove _all_ user data from Invidious, including session IDs, watch history, and subscriptions. As mentioned above, it's easy to export that data and import it to a local instance, or export subscriptions for use with other applications such as [FreeTube](https://github.com/FreeTubeApp/FreeTube) or [NewPipe](https://github.com/TeamNewPipe/NewPipe). + +## Translation and Internationalis(z)ation + +Invidious has been approved for hosting by Weblate, available [here](https://hosted.weblate.org/projects/invidious/translations/). At the time of writing, translations for Arabic, Dutch, German, Polish, and Russian are currently underway. I would like to say a very big thank you to everyone working on them, and I hope to fully support them within around 2 weeks. Folks can track progress with [#251](https://github.com/omarroth/invidious/issues/251). + +## Transperency and Finances + +For the sake of transparency, I plan on publishing each month's finances. This is currently already done on Liberapay and Patreon, but there is not a total amount currently provided anywhere, and I would also like to include expenses to provide a better explanation of how patrons' money is being spent. + +### Donations + +- [Patreon](https://www.patreon.com/omarroth): \$43.60 (Patreon takes roughly 9%) +- [Liberapay](https://liberapay.com/omarroth) : \$22.10 +- Crypto : ~\$1.25 (converted from BCH, BTC) +- Total : \$66.95 + +### Expenses + +- invidious-load1 (nyc1) : \$10.00 (load balancer) +- invidious-update1 (s-1vcpu-1gb) : \$5.00 (updates feeds) +- invidious-node1 (s-1vcpu-1gb) : \$5.00 (web server) +- invidious-node2 (s-1vcpu-1gb) : \$5.00 (web server) +- invidious-node3 (s-1vcpu-1gb) : \$5.00 (web server) +- invidious-node4 (s-1vcpu-1gb) : \$5.00 (web server) +- invidious-db1 (s-4vcpu-8gb) : \$40.00 (database) +- Total : \$75.00 + +I'd be happy to provide any explanation where needed. I would also like to thank everyone who donates, it really helps and I can't say how happy I am to see that so many people find it valuable. + +That's all for this month. I wish everyone the best for the holidays, and I'll see you all again in January! + # 0.11.0 (2018-10-23) ## Week 11: FreeTube and Styling diff --git a/shard.yml b/shard.yml index f848b239..9d9181df 100644 --- a/shard.yml +++ b/shard.yml @@ -1,5 +1,5 @@ name: invidious -version: 0.11.0 +version: 0.12.0 authors: - Omar Roth diff --git a/src/invidious/comments.cr b/src/invidious/comments.cr index 3735aa44..9f46b715 100644 --- a/src/invidious/comments.cr +++ b/src/invidious/comments.cr @@ -270,7 +270,7 @@ end def fetch_reddit_comments(id) client = make_client(REDDIT_URL) - headers = HTTP::Headers{"User-Agent" => "web:invidio.us:v0.11.0 (by /u/omarroth)"} + headers = HTTP::Headers{"User-Agent" => "web:invidio.us:v0.12.0 (by /u/omarroth)"} query = "(url:3D#{id}%20OR%20url:#{id})%20(site:youtube.com%20OR%20site:youtu.be)" search_results = client.get("/search.json?q=#{query}", headers) From b686d76d8cc0fa590f7ff45c1aa1352cf02cf5a0 Mon Sep 17 00:00:00 2001 From: Omar Roth Date: Fri, 7 Dec 2018 10:25:41 -0600 Subject: [PATCH 06/36] Update script for Invidious embed --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 75b06873..b1746704 100644 --- a/README.md +++ b/README.md @@ -147,7 +147,7 @@ $ ./sentry - [Alternate Tube Redirector](https://addons.mozilla.org/en-US/firefox/addon/alternate-tube-redirector/): Automatically open Youtube Videos on alternate sites like Invidious or Hooktube. - [Invidious Redirect](https://greasyfork.org/en/scripts/370461-invidious-redirect): Redirects Youtube URLs to Invidio.us (userscript) - [iPhone Redirector Shortcut](https://www.icloud.com/shortcuts/6bbf26d989cf4d07a5fe1626efbc0950): Automatically open YouTube videos in Invidious (iPhone shortcut) -- [Invidio.us embed](https://greasyfork.org/en/scripts/370442-invidious-embed): Replaces YouTube embeds with Invidio.us embeds (userscript) +- [Youtube to Invidious](https://greasyfork.org/en/scripts/375264-youtube-to-invidious): Scan page for youtube embeds and urls and replace with Invidious (userscript) - [Invidious Downloader](https://github.com/erupete/InvidiousDownloader): Tampermonkey userscript for downloading videos or audio on Invidious (userscript) ## Made with Invidious From b030149d7656eceb09d64d3100851381ea6b9663 Mon Sep 17 00:00:00 2001 From: Omar Roth Date: Sat, 8 Dec 2018 20:12:22 -0600 Subject: [PATCH 07/36] Revert "Use