Commit Graph

278 Commits

Author SHA1 Message Date
vhuynh3000
3a2bd4e928 add config to decrypt on demand instead of polling 2021-01-03 20:50:52 +01:00
saltycrys
eea7ca9b72 Add DASH quality preference
The options are `auto` (the current and default behavior), `best` and `worst`.

The UI is only updated once playback starts.
2020-12-19 18:37:30 +01:00
saltycrys
2de206cb81 Fix comments
The YouTube headers are now always added for requests to YouTube.
Previously they were only added for requests going through QUIC.

The session token is now JSON decoded to unescape escaped Unicode characters.

The comment continuation protobuf has been updated and the request now goes
through the YouTube `pbj` JSON API.
2020-12-06 04:11:41 +01:00
saltycrys
7823c07f1a Fix extract_polymer_config
The `ytInitialPlayerResponse` regex can now handle `var` and `window`
assignments.

The video streams can now be extracted from `player_response` and
`initial_data`.

This fixes the descriptions on videos and videos themselves. Videos are
technically broken right now, but work becasue of a fallback that goes through
embeds.
2020-12-03 18:10:41 +01:00
saltycrys
0f08cc5aa9 Remove backtrace on YouTube error
YouTube returning an error is not a bug in Invidious, so it should not print
a backtrace.
2020-11-30 12:57:25 +01:00
Théo Gaillard
1ba17a0e14
feat: centralize ytInitialData parsing 2020-11-26 13:43:53 +01:00
Ben Heller
22d9d16a7a
Update parsing of ytInitialData (#1427)
Update parsing of ytInitialData
2020-10-22 10:02:15 +00:00
Omar Roth
452d1e8307
Fix warnings with latest version of Crystal 2020-07-26 10:59:31 -04:00
Omar Roth
8ed1c77e47
Skip DASH streams segmented by URL 2020-07-04 14:17:46 -04:00
Omar Roth
1f435522b4
Fix cast from nil in short_description 2020-06-17 19:22:28 -04:00
Omar Roth
38c7dda00f
Fix genreUrl 2020-06-16 17:51:49 -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
75450dcdbc
Update signature param 2020-05-08 08:59:09 -05:00
Omar Roth
ca1185d0be
Fix warnings in latest version of Crystal 2020-04-09 12:18:09 -05:00
Omar Roth
7b88d0efe3
Minor refactor 2020-01-08 20:27:21 -05:00
Omar Roth
0e1d6aa85c
Update error messages for video extractor 2019-11-05 19:39:11 -05:00
Omar Roth
6930570fa2
Add HTTPClient pool 2019-10-25 12:58:16 -04:00
Omar Roth
be055d9dcb
Add support for custom playlists 2019-10-15 21:17:14 -04:00
Omar Roth
2d59fdd178
Fix default value for empty description 2019-10-04 17:04:43 -04:00
Omar Roth
68be24ffc6
Refactor process_video_params 2019-10-04 12:23:28 -04:00
Omar Roth
9dcc87c705
Refactor storyboard generation 2019-10-04 10:26:02 -04:00
Omar Roth
4361ea9686
Update DB calls for 0.31.0 2019-09-24 13:38:50 -04:00
leonklingele
1aefc5b540 Update to Crystal 0.31.0, resolve compiler deprecation warnings, update dependencies (#764)
* shard: update to crystal 0.31.0

Additionally, no longer use the Crystal "markdown" library which has
been removed from the Crystal stdlib in version 0.31.0.
See https://github.com/crystal-lang/crystal/pull/8115.

Also fix some deprecation warnings using the following commands:

    find . \( -type d -name .git -prune \) -o -type f -exec sed -i 's/URI\.escape/URI\.encode_www_form/g' "{}" \;
    find . \( -type d -name .git -prune \) -o -type f -exec sed -i 's/URI\.unescape/URI\.decode_www_form/g' "{}" \;
    sed -i 's/while \%pull\.kind \!\= \:end_object/until \%pull\.kind\.end_object\?/g' src/invidious/helpers/patch_mapping.cr
2019-09-24 13:31:33 -04:00
Omar Roth
cfb68e3bff
Add additional handling for unplayable videos 2019-09-21 20:06:08 -04:00
Omar Roth
b1fc80b79a
Update sub_count extractor 2019-09-12 21:09:23 -04:00
Omar Roth
7002a316fd
Filter movies from recommended videos 2019-09-12 13:06:10 -04:00
Omar Roth
68cf24d100
Add support for channel redirects 2019-09-08 12:08:59 -04:00
Omar Roth
86491da253
Fix map for recommended videos 2019-09-07 21:56:33 -04:00
Omar Roth
90249cdafa
Fix extractor for short_view_count_text 2019-09-07 20:09:08 -04:00
Omar Roth
70f435e909
Fix nillable for recommendedVideos 2019-08-31 16:24:13 -04:00
Omar Roth
512d82071e
Fix invalid viewCountText in related videos 2019-08-31 15:58:38 -04:00
Omar Roth
3896230199
Fix type cast for viewCount 2019-08-31 01:11:45 -04:00
Omar Roth
01e42c8d6f
Flatten viewCountText 2019-08-27 08:52:22 -05:00
Omar Roth
16056661dd
Update recommended videos extractor 2019-08-27 08:00:04 -05:00
Omar Roth
e768e1e277
Fix allowed_regions for globally blocked videos 2019-08-19 10:16:11 -05:00
Omar Roth
900d8790b3
Refactor geo-bypass 2019-08-14 18:09:07 -05:00
Leon Klingele
46577fb128
Add support for player styles
This currently includes the following styles:

- Invidious, the default
- YouTube, using a centered play button and always visible video control bar

Implements https://github.com/omarroth/invidious/issues/670.
Supersedes https://github.com/omarroth/invidious/pull/661.
2019-08-09 02:04:36 +02:00
Omar Roth
cc956583fb
Fix detection of unavailable videos 2019-08-05 18:57:32 -05:00
Omar Roth
7a33831d14
Fix detection of premium content 2019-08-04 20:57:34 -05:00
Omar Roth
dce5816b18
Fix image url extractor 2019-07-31 19:16:09 -05:00
Omar Roth
f643175156
Fix typo in video extractor 2019-07-30 10:12:41 -05:00
Omar Roth
0321dda1d7
Fix handling for video content warnings 2019-07-29 20:39:12 -05:00
Omar Roth
ff5d79e3ee
Update video extractor 2019-07-29 19:41:45 -05:00
Omar Roth
af592ea8c1
Fix extraction for ytInitialData 2019-07-11 07:27:54 -05:00
Omar Roth
3c226892c6
Add fix for empty title tag when fetching videos 2019-07-10 10:44:44 -05:00
Omar Roth
2cc25b1e6e
Add administrator option to disable proxying 2019-07-08 12:15:18 -05:00
Omar Roth
fd43b16213
Add av01 formats to itag list 2019-07-05 13:43:44 -05:00
Omar Roth
b22393092b
Fix protocol for video author thumbnails 2019-07-03 13:10:18 -05:00
Omar Roth
e30d70b6d4
Refactor proxy_list into global 2019-06-28 21:17:56 -05:00
Omar Roth
eecf76c1fb
Fix typo in short_description 2019-06-08 16:34:55 -05:00
Omar Roth
b43e9ed7e7
Refactor 'description_html' 2019-06-08 15:08:27 -05:00
Omar Roth
12b2ab5da8
Add 'to_json' into respective structs 2019-06-08 13:31:41 -05:00
Omar Roth
ef8c9f093c
Add premiere date to watch page 2019-06-08 10:18:45 -05:00
Omar Roth
2febc268f7
Fix warnings in Crystal 0.29 2019-06-07 21:13:50 -05:00
Omar Roth
8c944815bc
Minor refactor 2019-06-07 21:13:50 -05:00
Omar Roth
e4a0669da8
Fix typo in video param 2019-06-06 21:31:10 -05:00
Omar Roth
8521f04087
Use short URL for sharing videos 2019-06-05 11:10:23 -05:00
Omar Roth
d876fd7f5b
Add 'unique_res' option to '/api/manifest/dash/id' 2019-06-04 20:54:38 -05:00
Omar Roth
d197497349
Add 'type' field to ChannelVideo and Video 2019-06-03 13:36:34 -05:00
Omar Roth
84b2583973
Fix insert for empty descriptions 2019-06-02 15:47:45 -05:00
Omar Roth
efd54b7523
Add 'comments' as URL parameter 2019-05-29 14:24:30 -05:00
Omar Roth
71cd8918be
Fix URI for storyboard extractor 2019-05-26 18:55:22 -05:00
Omar Roth
8b50c8515f
Fix content-type for captions 2019-05-20 20:22:01 -05:00
Omar Roth
a4134d30fa
Fix comedy genre URL 2019-05-14 08:02:55 -05:00
Omar Roth
757993064e
Fix view_count_text extractor for livestreams 2019-05-04 08:43:41 -05:00
Omar Roth
6d92775ab5
Add video previews 2019-05-02 14:36:32 -05:00
Omar Roth
56fe3ede5b Add annotation preferences 2019-04-30 23:39:04 -05:00
Omar Roth
54d250bde4 Add 'since' to '/api/v1/auth/notifications' 2019-04-28 18:14:16 -05:00
Omar Roth
5567e2843d Force refresh after receiving PubSub notification 2019-04-22 11:15:19 -05:00
Omar Roth
ddd74549fe Fix description field for /api/v1/videos 2019-04-20 10:50:55 -05:00
Omar Roth
fb7068d415 Add '/api/v1/notifications' 2019-04-20 09:33:45 -05:00
Allan Nordhøy
aa10a9d899 Language fixes (#366)
* Language fixes
2019-04-19 11:14:11 -05:00
Omar Roth
bb5a1ad513 Add 'continue_autoplay' preference 2019-04-19 09:38:27 -05:00
Omar Roth
2a6c81a89d Add authentication API 2019-04-18 16:23:50 -05:00
Omar Roth
af1823db8c Fix url in storyboards 2019-04-12 07:29:47 -05:00
Omar Roth
62a4c82e95 Add storyboards and fix image caching 2019-04-11 17:00:00 -05:00
Omar Roth
611555514c Remove unnecessary XML declaration 2019-04-11 11:53:07 -05:00
Omar Roth
8640d6bb1e Add 'extract_polymer_config' 2019-04-10 18:02:13 -05:00
Omar Roth
b82fb58dc4 Fix typo in handling 'controls' param 2019-04-04 15:05:54 -05:00
Omar Roth
5ef288b840 Add 'sort_by' to /api/v1/comments 2019-04-03 18:42:12 -05:00
Omar Roth
bd4f5ebcdf Add option to configure default user preferences 2019-04-03 11:38:41 -05:00
Omar Roth
1b78001201 Use struct for allocations 2019-03-29 16:30:02 -05:00
Omar Roth
d70933c9f2 Fix typo in allow_ratings 2019-03-26 13:47:06 -05:00
Omar Roth
9ac2ddcb4d Fix premiere_timestamp without scheduledStartTime 2019-03-26 13:46:07 -05:00
Omar Roth
90b5479735 Fix error message for invalid video ID 2019-03-22 22:17:39 -05:00
Omar Roth
fd26f9f34e Add support for premieres to search and feed 2019-03-22 14:54:35 -05:00
Omar Roth
88b70973cc Add 'premiereTimestamp' to /api/v1/videos 2019-03-22 14:53:19 -05:00
Omar Roth
f0658bbd09 Add 'liveNow' to subscription feed 2019-03-22 14:52:57 -05:00
Omar Roth
e738e57e26 Add 'local' option to preferences 2019-03-12 21:05:49 -05:00
Omar Roth
f01152eda1 Add 'host' to '/videoplayback' 2019-03-11 13:14:30 -05:00
Omar Roth
fdc014af67 Add '&local=true' to watch and embed pages 2019-03-11 11:43:48 -05:00
Omar Roth
c4d77bc18a Use host_url for generating thumbnails 2019-03-08 14:43:31 -06:00
Omar Roth
0c8dff162d Fix embed extractor for age-gated videos 2019-02-27 15:15:24 -06:00
Omar Roth
d6bd893573 Add fix for missing hash keys 2019-02-26 08:12:56 -06:00
Omar Roth
62ff9605ce Extract format streams from player response 2019-02-25 17:28:35 -06:00
Omar Roth
09d0972ab4 Pull dash URL from player response 2019-02-25 09:11:41 -06:00
Omar Roth
7f75a7ca0b Add support for changing signature param 2019-02-22 20:36:16 -06:00
Omar Roth
58fb74179b Add fix for videos that don't have videoDetails 2019-02-19 13:54:14 -06:00
Omar Roth
d625d0ffbd Use get_video for pulling comment token 2019-02-06 17:55:22 -06:00
Omar Roth
8170dad9bd Simplify video extractor 2019-02-06 16:12:11 -06:00
Omar Roth
2630dc8dcd Add 'related_videos' to video params 2019-02-04 15:28:51 -06:00
Omar Roth
c9bc081f8c Respect DEFAULT_USER_PREFERENCES in video params 2019-01-31 15:06:53 -06:00
Omar Roth
9e73e3b153 Add errorcode for invalid video IDs 2019-01-31 08:48:44 -06:00
Omar Roth
1f6078cf25 Fix links to invalid genre channels 2019-01-25 11:35:25 -06:00
Omar Roth
20c4d213d9 Use config.domain in place of hardcoded value 2019-01-19 09:10:52 -06:00
Omar Roth
8f57388cd3 Fix average rating where likes and dislikes are null 2019-01-12 11:56:07 -06:00
Omar Roth
138a6b1136 Add missing "avg_rating" 2019-01-10 08:06:54 -06:00
Omar Roth
dcf45d217f Don't cache results when using proxy 2018-11-26 20:46:08 -06:00
Omar Roth
aeaeacbf8d Refactor geo-bypass 2018-11-20 10:07:50 -06:00
Omar Roth
16964ca6ce Add 'region' parameter for bypassing region locks 2018-11-17 17:33:30 -06:00
Omar Roth
6db235becf Remove nil assertions from video extractor 2018-11-15 09:38:29 -06:00
Omar Roth
9113846d10 Fix typo in genre urls 2018-11-12 10:01:31 -06:00
Omar Roth
4b76b93610 Add continuous playback 2018-11-11 11:45:05 -06:00
Omar Roth
e8c9641548 Update info extractor 2018-11-10 10:50:09 -06:00
Omar Roth
30d040b02a Fix extractor for author thumbnails 2018-11-08 18:32:47 -06:00
Omar Roth
4f856dd898 Add support for Crystal 0.27.0 2018-11-04 09:37:12 -06:00
Omar Roth
d739ef8fd3 Add fix for videos without keywords 2018-11-02 08:26:35 -05:00
Omar Roth
c92f6e44e7 Update keywords and view_count 2018-11-02 08:09:28 -05:00
Omar Roth
e39dec9778 Add option to listen by default 2018-10-30 09:41:23 -05:00
Omar Roth
eb44a60f8d Remove migration point 2018-10-30 09:04:01 -05:00
Omar Roth
4875aa1d7e Add partial support for video duration in thumbnails 2018-10-20 20:37:55 -05:00
Omar Roth
1cfa1f6559 Add 'paid' and 'premium' flags to API 2018-10-16 11:15:14 -05:00
Omar Roth
e46e6183ae Fix proxying for videos 2018-10-14 11:29:20 -05:00
Omar Roth
b49623f90f Revert "Attempt to bypass channel region locks"
This reverts commit 95c6747a3e.
2018-10-14 11:14:27 -05:00
Omar Roth
95c6747a3e Attempt to bypass channel region locks 2018-10-14 09:53:40 -05:00
Omar Roth
6e0df50a03 Remove migration points 2018-10-13 20:03:48 -05:00
Omar Roth
f88697541c Add author_thumbnail to '/api/v1/videos' 2018-10-13 20:01:58 -05:00
Omar Roth
1568a35cfb Add column to video update 2018-10-12 22:37:12 -05:00
Omar Roth
93082c0a45 Remove migration points 2018-10-12 21:28:15 -05:00
Omar Roth
1a39faee75 Add subCountText and add XHR alternative for subscribing to channels 2018-10-12 21:17:37 -05:00
Omar Roth
80bc29f3cd Add basic handling for (almost) valid video URLs 2018-10-06 22:22:22 -05:00
Omar Roth
3830604e42 Try to speed up find_working_proxies 2018-10-03 10:38:07 -05:00
Omar Roth
f8eb5ab416 Break after successful response 2018-10-01 20:02:14 -05:00
Omar Roth
ae2850215f Fix method for detecting valid info resposne 2018-10-01 19:55:47 -05:00
Omar Roth
d418f50576 Make geo-bypass more robust 2018-10-01 19:01:44 -05:00
Omar Roth
c2f7d3d41c Add handling for specific genre channels 2018-09-27 17:11:19 -05:00
Omar Roth
4fb275ec6e Get more video information when possible 2018-09-26 19:47:06 -05:00
Omar Roth
aa819a189e Use alternate source for proxies 2018-09-25 21:07:18 -05:00
Omar Roth
2e65997447 Fix geo-bypass threads 2018-09-25 18:16:07 -05:00
Omar Roth
3e3de1890a Overhaul geo-bypass 2018-09-25 17:56:59 -05:00
Omar Roth
1289065151 Add host language to fetch_video 2018-09-25 17:42:17 -05:00
Omar Roth
9a7852341d Use custom ranking for regions 2018-09-24 14:24:33 -05:00
Omar Roth
1922f6c69a Add more regions to geo-bypass 2018-09-23 19:29:47 -05:00
Omar Roth
5bdd8327d4 Add better support for movies in search and watch page 2018-09-23 12:13:08 -05:00
Omar Roth
099b711400 Add 'host' to API thumbnails 2018-09-21 10:11:04 -05:00
Omar Roth
1703788f4b Revert "Replace ytimg with local thumbnails"
This reverts commit 95e2d8f1b7.
2018-09-20 11:05:25 -05:00
Omar Roth
95e2d8f1b7 Replace ytimg with local thumbnails 2018-09-20 10:35:49 -05:00
Omar Roth
fe5286a210 Add 'maxres' to video thumbnails 2018-09-19 15:24:41 -05:00
Omar Roth
0e1b5d7cdd Add fix for dash sequences 2018-09-15 10:25:43 -05:00