Commit Graph

925 Commits

Author SHA1 Message Date
Omar Roth b88872d54b Fix sub refresh (#1370) 2020-09-09 23:03:27 +00:00
Ben Heller 4a6e920d0e Use new youtube API to fetch channel videos (#1355)
* Use new API to fetch videos from channels

This mirrors the process used by subscriptions.gir.st. The old API is
tried first, and if it fails then the new one is used.

* Use the new API whenever getting videos from a channel

I created the get_channel_videos_response function because now instead
of just getting a single url, there are extra steps involved in getting
the API response for channel videos, and these steps don't need to be
repeated throughout the code.

The only remaining exception is the bypass_captcha function, which still
only makes a request to the old API. I don't know whether this code
needs to be updated to use the new API for captcha bypassing to work
correctly.

* Correctly determine video length with new api

* Remove unnecessary line
2020-09-02 20:28:57 +00:00
stranger195 13f58d602f Replace omarroth with iv-org where applicable (#1353)
Fixes #1353
2020-08-25 16:07:16 +00:00
Omar Roth 176ef19cca Update mixes link 2020-07-26 11:50:26 -04:00
Omar Roth db83ede73c Add missing default for ConfigPreferences 2020-07-26 11:09:45 -04:00
Omar Roth 452d1e8307 Fix warnings with latest version of Crystal 2020-07-26 10:59:31 -04:00
Omar Roth 1e4022680a Fix playlists with one video 2020-07-26 10:59:31 -04:00
Omar Roth b5f79444f9 Fix optional value in data extractor 2020-07-21 20:11:13 -04:00
Omar Roth 8ed1c77e47 Skip DASH streams segmented by URL 2020-07-04 14:17:46 -04:00
Omar Roth 8c65b8c16f Update playlists to support polymer redesign 2020-06-24 22:19:36 -04:00
Omar Roth 1f435522b4 Fix cast from nil in short_description 2020-06-17 19:22:28 -04:00
Omar Roth 83b1d80a5b Fix signature URL regex 2020-06-16 19:21:29 -05:00
Omar Roth 38c7dda00f Fix genreUrl 2020-06-16 17:51:49 -05:00
Omar Roth 056e7432bd Update channel playlists to use polymer 2020-06-16 17:51:35 -05:00
Omar Roth 1eca969cf6 Add support for polymer redesign 2020-06-15 18:18:04 -05:00
Omar Roth c1cbdae5ee Make HOST_URL constant 2020-06-15 18:13:14 -05:00
Omar Roth 4d4b6a2fa0 Remove top page 2020-06-15 18:11:36 -05:00
Omar Roth d30a972a90 Support Crystal 0.35.0 2020-06-15 18:11:06 -05:00
Dmitry Sandalov 338dc3223c Merge pull request #1182 from DmitrySandalov/master
Allow user to subscribe to playlist (#17)
2020-06-13 15:10:18 +03:00
Omar Roth 6435c7b921 Fix reCaptcha 2020-05-28 12:21:47 -05:00
mendel5 80941eacbd More consistent HTML IDs for info section (#1156)
* More consistent IDs for info section

More consistent IDs for info section: watch-on-youtube, annotations and download

* Consistent IDs: channel-name

* Consistent IDs: published-date

The term "published" can also be found in the answer for the following YouTube API request: https://developers.google.com/youtube/v3/docs/videos/list
2020-05-26 02:57:10 -05:00
Omar Roth ceb252986e Update captcha job 2020-05-25 12:52:15 -05:00
Dmitry Sandalov 5d8de5fde2 Allow user to subscribe to playlist (#17) 2020-05-17 14:28:00 +03:00
Omar Roth 750ef296c6 Update captcha handler 2020-05-13 16:09:39 -05:00
Omar Roth 75450dcdbc Update signature param 2020-05-08 08:59:09 -05:00
mendel5 9d23cf33fd Consistent IDs for info section (#1133) 2020-04-30 15:01:29 -05:00
Omar Roth 408f3852ec Hide playlist widget when user has no playlists 2020-04-15 16:30:02 -05:00
Omar Roth ca1185d0be Fix warnings in latest version of Crystal 2020-04-09 12:18:09 -05:00
Omar Roth 02d4186b11 Fix player matching 2020-04-09 10:55:50 -05:00
Omar Roth 3f97bebd69 Support adding video to playlist from watch page 2020-04-09 10:55:32 -05:00
Omar Roth c97cdf551e Refactor extract_plid 2020-03-30 14:27:07 -05:00
Omar Roth 3b2e142542 Fix JSON serialization 2020-03-29 18:04:44 -04:00
Omar Roth 59a15ceef6 Remove VarInt class 2020-03-15 17:47:16 -04:00
Omar Roth 4011a113cc Strip invalid characters from referer URLs 2020-03-15 17:47:16 -04:00
leonklingele 70cbe91776 Migrate to a good Content Security Policy (#1023)
So attacks such as XSS (see [0]) will no longer be of an issue.

[0]: https://github.com/omarroth/invidious/issues/1022
2020-03-15 16:46:08 -05:00
Omar Roth f92027c44b Escape 'sort_by' 2020-03-10 11:25:32 -04:00
Omar Roth a117d87f33 Skip validation checks for videoplayback, ggpht 2020-03-04 13:06:17 -05:00
Omar Roth 9dc4f8a1aa Escape item titles in search page 2020-03-04 13:03:14 -05:00
leonklingele 0d536d11e3 Verify token signature in constant time, Run cheap checks first in token validation process (#1032)
* Verify token signature in constant time

To prevent timing side channel attacks

* Run cheap checks first in token validation process

Expensive checks such as the nonce lookup on the database or the
signature check can be run after cheap/fast checks.
2020-03-02 10:04:36 -06:00
Omar Roth e21f770485 Fix status check for channel page 2020-02-28 15:57:45 -05:00
Omar Roth 02fd02d482 Remove DB array concatenation 2020-02-28 12:14:29 -05:00
Pedro Lucas Porcellis 239fb0db94 Remove duplicated Github logo on footer (#986)
* Remove duplicated Github logo on footer
2020-02-20 18:50:54 -05:00
Omar Roth 43da06a354 Remove temp fix for crystal/crystal-lang#7383 2020-02-20 18:30:46 -05:00
Omar Roth fea6b67067 Remove 'type' attribute from community embed 2020-02-20 18:30:46 -05:00
Leon Klingele bc9dc3bf1e Update code formatting for Crystal 0.33.0
Crystal 0.33.0 introduced some changes to to the code formatter.
Run "crystal tool format" so CI doesn't fail anymore.
2020-02-15 19:52:28 +01:00
Omar Roth 9841f74adc Add handling for comments with no content 2020-02-01 12:14:37 -05:00
Omar Roth b56e493d92 Remove frameborder from community embeds 2020-02-01 11:23:12 -05:00
Omar Roth a2c5211b20 Check /browse_ajax for channel blocks 2020-02-01 11:23:12 -05:00
Omar Roth 648cc0f006 Refactor signature extraction 2020-01-24 17:02:28 -05:00
Omar Roth 7b88d0efe3 Minor refactor 2020-01-08 20:27:21 -05:00