3ffe5d0120Add setting for tor_port
user938120
2020-09-19 12:23:30 +00:00
753f6c5389Jump video to timestamp in description or comments
James Taylor
2020-09-18 17:32:28 -07:00
e9989af03aAdd tor video routing Includes non-tor video routing by default, so no more chances of the browser leaking headers or user agent to googlevideo Adjust settings upgrade system to facilitate change to route_tor setting. Add some more space on settings page for dropdown settings so does not overflow due to options with long names. Closes#7
James Taylor
2020-09-18 14:37:24 -07:00
1ff97bfde1New ctoken format. Fix channel pages > 1. page > 1 still broken when sorting by oldest
James Taylor
2020-09-17 20:56:41 -07:00
0830468bd1style transcript div
zrose584
2020-09-15 20:57:11 +02:00
e2e1e4cdecsettings.py: make names less confusing and remove dead code Try to make the names more consistent and more descriptive. Remove unused functions to reduce confusing clutter Change locals() to globals(). Overwriting locals is invalid, just works because it was at top level.
James Taylor
2020-09-14 08:20:15 -07:00
0be0a59a2atranscript-table: show transcript as contiguous text by default
zrose584
2020-09-12 13:22:46 +02:00
57978485eelet jinja create the transcript <details> element
zrose584
2020-09-12 10:51:01 +02:00
537a8e8ab5transcript-table.js: sync active transcript with select_tt
zrose584
2020-09-12 10:23:31 +02:00
081058c07edefault to last textTrack
zrose584
2020-09-12 10:20:43 +02:00
8222b6205bhotkeys.js: ignore if e.ctrlKey
zrose584
2020-09-12 10:17:56 +02:00
94ece08a1ehotkeys.js: add 'c' for transcript
zrose584
2020-09-11 21:21:56 +02:00
786d3eb445hotkeys.js: use DOMContentLoaded so images don't delay script Instead of the load event, which waits until all assets are finished loading in order for script to start.
James Taylor
2020-09-09 19:00:19 -07:00
c2ca47c5d3Add setting to enable/disable video hotkeys
James Taylor
2020-09-09 18:53:11 -07:00
ec98348018generate_release.py: Use wine to build windows releases on Linux
James Taylor
2020-08-12 19:18:34 -07:00
27300d0e7dchannel: Rename headers_1&headers_pbj & include user agents in them headers_1 -> headers_desktop headers_pbj -> headers_mobile
James Taylor
2020-08-12 15:05:31 -07:00
5637d4f430channel_ctoken_desktop: fix parenthesis formatting
James Taylor
2020-08-12 14:55:51 -07:00
ac9b7f0162Switch to desktop endpnt w/ new ctoken format except sort by old>1 Sorting by old for pages > 1 currently broken on some channels; it's still using the mobile endpoint.
James Taylor
2020-08-12 14:46:29 -07:00
4bedf55461yt_data_extract: Fix time_published picking up 'Streaming' string This was causing an exception in subscriptions when it tried to estimate the unix timestamp for the upload time
James Taylor
2020-08-12 14:40:47 -07:00
3a07a87c88Don't log noisy thumbnail and avatar requests in the console
James Taylor
2020-08-12 14:37:32 -07:00
3fccc39e32generate_release.py: Don't uninstall setuptools gevent was changed and now depends on it for some reason
James Taylor
2020-08-11 22:54:13 -07:00
bd255a9ab0Don't use brotli if import fails
James Taylor
2020-08-11 21:57:40 -07:00
cc123d6761Fix author_url not prefixed in subscriptions page
James Taylor
2020-08-11 21:14:13 -07:00
fa61874f97extract_items: Handle case where continuation has multiple [something]Continuation renderers, all of which are junk except one. Check the items in each one until the one which contains the items being sought is found. The usage in extract_comments_info needed to be changed to specify the items being sought. It was unspecified before which is strictly incorrect since extract_items by default looks for video/playlist/channel thumbnail items. It was relying on this special case for continuations. But now that wouldn't work anymore.
James Taylor
2020-08-11 19:59:25 -07:00
81ff5ab99cextract_channel_info: Improve error extraction Use extract_str function since it's not always 'simpleText' Make sure we don't output an empty error message if we don't know what it is. channel.py: Don't check if error message is empty, check if it's None
James Taylor
2020-08-11 19:47:37 -07:00
804ed093eeUpdate README
James Taylor
2020-08-10 19:53:22 -07:00
4d3e35c981Fix old videos appearing in subscriptions when channel deletes vids Example: 30 vids in DB, 1 vid that we previously saw has since been deleted. Then on checking, the vid in the 30th slot appeared to be new.
James Taylor
2020-08-03 14:52:55 -07:00
b3b48967c5Bugfix: Support integer-only ?t param When there's only an integer, and no unit, it's all in seconds
James Taylor
2020-07-30 13:07:16 -07:00
e78d239323Add support for &t parameter
James Taylor
2020-07-25 21:25:23 -07:00
a7ff3a5217Playlist page: Fix error on failure to extract playlist title Such as when the playlist was deleted or doesn't exist
James Taylor
2020-07-25 21:03:42 -07:00
9fc347e093Add video transcript to downloads Generated from the video captions
James Taylor
2020-07-25 19:40:37 -07:00
44d7f9da99Include livestream fmt urls for former livestream w/o static urls If none of the format urls for the former livestream are static, meaning they use a non-livestream format playable by the browser, then include the dialog for copying hte livestream format urls into external video player
James Taylor
2020-06-28 18:20:47 -07:00
803c901445Fix hls_manifest_url not included when there's no other formats Since there are no formats, it was retrying with the non-embedded playerResponse, which resulted in the hls_manifest_urls from the embedded player_response being overwritten with None. So use conservative_update instead
James Taylor
2020-06-28 18:18:04 -07:00
aa3e5aa441Add dialog for copying urls to external player for livestreams Also for livestreams which are over whose other sources aren't present or aren't ready yet.
James Taylor
2020-06-28 17:52:24 -07:00
6e14a8547dHandle case where embedded player response missing Change so it extracts other stuff from regular playerResponse Extract formats from embedded player response, but fallback to regular one if that doesn't work. Sometimes there is no 'player' at top_level and the urls are in the regular playerResponse
James Taylor
2020-06-28 13:18:54 -07:00
0b5d6fe1edDo not override previous playability error if unknown
James Taylor
2020-06-28 12:46:04 -07:00
b4450ec4bbFix previously live videos labeled as live
James Taylor
2020-05-29 15:34:33 -07:00
bdac6a2302Fix broken signature decryption
James Taylor
2020-05-27 12:15:41 -07:00
85db7e46edFix urls sometimes not extracted due to youtube changes The 'cipher' parameter which contains the url is sometimes called 'signatureCipher' instead now.
James Taylor
2020-05-27 11:56:30 -07:00
d7a4b03fdfAdd option for reloading video without invidious For faster usage of new identity button as an alternative
James Taylor
2020-05-27 11:55:47 -07:00
3d5293ba4aFix error when invidious fails to return URLS
James Taylor
2020-05-27 11:19:39 -07:00
f1f77c4d77Fix error getting exit node ip if format urls are None
James Taylor
2020-05-27 11:14:52 -07:00
d5e661dfd3Indicate that video is live
James Taylor
2020-05-27 11:14:19 -07:00
b2f482f1fbFix comment count & disabled extraction not working sometimes because of A/B test.
James Taylor
2020-04-10 13:57:11 -07:00
481b4ecf58Do not hide comments if false determination of disabled comments If the extraction from watch page determines that they are disabled, but the separate request for the comments found comments, then change that determination, with a warning (since that would be a bug). And set the comment count to None as a dirty way to make such a bug noticeable.
James Taylor
2020-04-10 13:25:40 -07:00
1224dd88a3Fix related video extraction sometimes failing Youtube added some pointless variation in variable names
James Taylor
2020-04-10 13:09:38 -07:00
3e09193eafFix exception due to missing 'playlist' key in extracted info Happens when there's an error on the page and there was no visible stuff on the page. 'playlist' wasn't set to None in that case.
James Taylor
2020-04-05 17:27:43 -07:00
dd5c9a5d41Fix parameters being ignored in youtu.be links The parameters weren't passed to the underlying function
James Taylor
2020-04-05 17:26:48 -07:00
4d9d8cec6fFix error when there's a video format with mimetype class of 'text'
James Taylor
2020-04-04 22:53:49 -07:00
5554d5afffAdd playlist sidebar for videos in playlist, including autoplay
James Taylor
2020-04-04 22:52:09 -07:00
b5d42e2f3cFix regression: local playlist form not shown on channel videos page
James Taylor
2020-03-29 15:00:53 -07:00
d1bdbf4269Prevent long titles with no spaces overflowing item containers
James Taylor
2020-03-20 22:08:42 -07:00
408a9c79aeCorrectly start and stop subscriptions autochecker when it is disabled/enabled in settings.
James Taylor
2020-03-08 21:01:15 -07:00
56e7751da7Fix failure to parse comments when there's one from deleted channel
James Taylor
2020-03-08 16:17:04 -07:00
fa112592faCorrect malformed query strings: change ? to & so flask parses it correctly.
James Taylor
2020-03-08 13:40:32 -07:00
af334a8ac7Fix subscriptions new video count when there are deleted videos It would be 30 since the old method looked to see where the latest video in the database is in the new batch of videos. New method finds the first video in the new batch which is in the database.
James Taylor
2020-02-27 11:21:42 -08:00
c6fe9b8fc7Fix subscription checking breaking due to workers crashing
James Taylor
2020-02-23 10:42:13 -08:00
77c4d913caSpecify default font for consistency between operating systems
James Taylor
2020-02-22 22:53:24 -08:00
00cf61d625Change px values to rem values in font-size declarations
James Taylor
2020-02-22 22:14:11 -08:00
0989d55db1Ensure urllib3 and python version not leaked during video file check This is likely not a big deal since it is already assumed that video file server logs are not plugged into Google's tracking infrastructure, but it doesn't hurt to give less info.
James Taylor
2020-02-18 22:17:50 -08:00
3beb2809aeSubscriptions auto-checking: Better console error message for 429 errors Display a descriptive error message instead of a traceback
James Taylor
2020-02-18 20:42:41 -08:00
f253247949Fix MaxRetryError when checking for video URL access The default urllib3 max redirect amount was set to 3. Change it to 10 and do not fail if there is a problem with checking for URL access. Just print the error to the console and proceed.
James Taylor
2020-02-18 11:47:23 -08:00
8c2b81094eyt_data_extract: fix missing variables in info for unavailable videos 'ip_address' was not set when no formats are available 'allowed_countries' was set to None rather than [] in extract_desktop_info which it turns out is the function that gets used in these cases
James Taylor
2020-02-17 20:15:59 -08:00
6f28d959f0Fix FileNotFound error when trying to download search plugin when the working directory is not the directory of the program
James Taylor
2020-02-06 22:17:58 -08:00
d86384c4ecReadme: clarify redirector usage
James Taylor
2020-02-04 20:31:59 -08:00
fffbe5c318Update readme
James Taylor
2020-02-04 20:02:19 -08:00
14b9c30dafInvidious fallback: Use original format info and just substitute invidious urls Because the invidious formats don't have all the information
James Taylor
2020-02-04 19:08:56 -08:00
9f090dbbf8Watch page: add info box with allowed countries and tor exit node Should help with debugging various content blocks
James Taylor
2020-02-01 16:16:49 -08:00
3f310bfc33Adjust 429 error message. A Tor Browser restart is not required. The New Identity button suffices to get the socks proxy to use a new exit node.
James Taylor
2020-02-01 15:14:26 -08:00
7c2736aa26Check for 403 errors and fallback on Invidious 403 errors on the video urls happen typically when a video has copyrighted content or was livestreamed originally. They appear to not happen (or at least happen less frequently) if the Tor exit node used ipv6, however.
James Taylor
2020-02-01 15:09:37 -08:00
e364927f83yt_data_extract: parse mimeType field for codecs the youtube-dl formats table doesn't have all the necessary information
James Taylor
2020-02-01 14:23:50 -08:00
f787e4e202Give a proper error message for 429 errors These occur when too many requests are coming from a Tor exit node. Before, there would be an error page with an exception instructing users to report the issue. But this is an expected and persistent issue.
James Taylor
2020-01-31 20:06:15 -08:00
cd4a2fb0ebrun.bat: Allow command line usage from any directory Set the youtube-local directory as the working directory, and use setlocal so it doesn't affect the shell the command is being run from.
James Taylor
2020-01-30 18:24:23 -08:00
cf507e2cd1Add full visual c runtime to fix missing dll errors on fresh windows installs On fresh installs, when no programs have been installed which install visual c runtime as a dependency, the dlls are not present and brotli fails to load. Bundle them in releases and make sure brotli sees them by adding their location to the path (in run.bat)
James Taylor
2020-01-30 18:17:09 -08:00
b2a1f4ecfbFix signature decryption. The function body regex was capturing some unrelated new code before the actual function body. Example:
James Taylor
2020-01-24 14:11:59 -08:00
c13a8f677dlocal playlists: Display error message if no videos are selected or no playlist is chosen when using "add to playlist" See #4
James Taylor
2020-01-19 14:29:50 -08:00
a677b47c4aFix display of movie thumbnails in related videos
James Taylor
2020-01-10 09:34:14 -08:00
113c75801aFix playlist id extraction for radio renderers
James Taylor
2019-12-31 18:06:31 -08:00
506dbb552aExtraction: Correctly extract view_count for vids with 0 views.
James Taylor
2019-12-30 16:18:38 -08:00
0c6a37e9aaextract_items: allow extracting items that are normally dug into for more By checking first if it's in item_types rather than checking if it can be dug into first. For example: this allows extracting things like sectionListRenderer
James Taylor
2019-12-26 19:39:48 -08:00
8e8a1b70b6yt_data_extract: Split up extract_items so renderer extraction works independently extract_items_from_renderer will extract given just a renderer rather than a response
James Taylor
2019-12-26 19:02:13 -08:00
b027f66738yt_data_extract.common: Simplify usage of get functions and remove dead code Change usage of multi_deep_get to multi_get where possible Remove checking of type from calls to get functions (because it's very unlikely Youtube suddenly changes the type without changing the name of the variable or anything, and it takes up unnecessary space) Remove all default=None arguments from get functions, since those are superflous. Remove list_types constant since it's no longer in use.
James Taylor
2019-12-26 18:43:24 -08:00
c7edea0848yt_data_extract: Simplify extract_items so it needs only 1 while loop
James Taylor
2019-12-26 18:38:18 -08:00
f7a5f7fbaaitems: commatize channel video count and playlist video count
James Taylor
2019-12-24 13:18:46 -08:00
f706689a56extract_item_info: Don't extract author, author_id, etc. for channel items Philosophically, a channel doesn't create itself.
James Taylor
2019-12-24 13:11:21 -08:00
3200d66d88Fix extract_approx_int not working for non-approx ints, make extract_int more robust For example, "354 subscribers" wasn't being extracted correctly be extract_approx_int. Make extract_approx_int and extract_int only extract integers that are words. So e.g. 342 will not be extracted from internetuser342
James Taylor
2019-12-24 13:07:12 -08:00
a428d47bdeChannel searching: indicate if there's no results
James Taylor
2019-12-23 15:09:44 -08:00
9737ffcf82Regression: Fix channel extraction 'items' key not present when there's no items. Examples: Empty channels, no search results
James Taylor
2019-12-23 15:07:03 -08:00
777ed756dcChannel: Change search results to use next and previous page buttons Because youtube doesn't give the number of search results, so previous behavior would give an error if a page number out of range was selected.
James Taylor
2019-12-23 14:39:59 -08:00
c56fc56fa6Subscriptions: Cleaner error message when checking terminated channels Don't display a nasty traceback in that case.
James Taylor
2019-12-22 19:00:44 -08:00