Commit Graph

975 Commits

Author SHA1 Message Date
James Taylor
6f4963cbfb Include watch_headers in get_video_info so error lang is english
e.g. if the error in get_video_info is "Video unavailable" must
include the Accept-Language header (which we have in watch_headers)
in order to get an English error message. Otherwise we get the
language of the Tor exit node region

Example: https://youtu.be/aaaaaaaaaaa

Signed-off-by: Jesús <heckyel@hyperbola.info>
2020-12-21 21:28:43 -05:00
James Taylor
dcfa2700ef request_comments: remove obsolete retrying code
The issue that code was working around happened with an older
request format (the ajax format) that was removed. The issue
does not happen with the newer polymer format.

Signed-off-by: Jesús <heckyel@hyperbola.info>
2020-12-21 21:28:17 -05:00
James Taylor
35b2b3e973 Add coding guidelines, architecture overview, and proto_debug
proto_debug is the toolchain for reverse engineering protobuf

Signed-off-by: Jesús <heckyel@hyperbola.info>
2020-12-21 21:24:03 -05:00
James Taylor
84c6192e08 video_comments: print error string in console
Signed-off-by: Jesús <heckyel@hyperbola.info>
2020-12-21 21:17:47 -05:00
James Taylor
e41180058f Fix exception when video comments disabled and blank comments info
e.g. happens on vid where comments are disabled if comments
disabled in settings since the comments info object is just {}

Signed-off-by: Jesús <heckyel@hyperbola.info>
2020-12-21 21:16:28 -05:00
Jesús
ce146b32b1 Merge branch 'master' of libregit.org:heckyel/yt-local 2020-12-21 18:24:32 -05:00
James Taylor
b11120d000 Exit node retrying: Retry 3 times. Also add tests for it.
Closes #20

Signed-off-by: Jesús <heckyel@hyperbola.info>
2020-12-21 18:23:09 -05:00
Jesús
4bcb275545 Prevent text overflow in comments 2020-12-21 00:27:06 -05:00
Jesús
574cb2dae8 Fix env["PATH_INFO"] for UWSGI, prevents bad url formatting
e.g:
ValueError: Invalid or unsupported url: https:/www.youtube.com/watch
2020-12-19 22:24:32 -05:00
Jesús
8823b54bc1 Check test URL embed 2020-12-19 22:19:01 -05:00
Jesús
1de9ae4245 Patch-import-migrate: Add embed page for embeds on the web
Issue #36

From e51f0a78c778a2283887db7ffc22421a7c849296 Mon Sep 17 00:00:00 2001
From: James Taylor <user234683@users.noreply.github.com>
2020-12-19 22:13:37 -05:00
James Taylor
afb2aca460 video routing: Range request missing content when connection closed
googlevideo sometimes doesn't send all video content and closes
the connection. Retry with a range request for the bytes needed
a maximum of three times.

Fixes first type of #40

Signed-off-by: Jesús <heckyel@hyperbola.info>
2020-12-19 10:49:08 -05:00
James Taylor
6b6a6653a0 Fix youtube mixes
They cannot be viewed on their own, so change url in items to
go to the video+playlist instead

Signed-off-by: Jesús <heckyel@hyperbola.info>
2020-12-18 23:39:25 -05:00
Jesús
a16b05af80 README.md: update 2020-12-18 23:30:40 -05:00
James Taylor
43679efff5 channel: replace page #s w/ next page button using provided ctoken
Since yt doesn't accept page #'s when sorting by oldest

Signed-off-by: Jesús <heckyel@hyperbola.info>
2020-12-18 23:25:45 -05:00
James Taylor
cf7aa41893 channel: include first and last pages when sorting by new
Last page as a substitute for sorting by oldest since sorting by
oldest doesn't allow arbitrary page numbers

Signed-off-by: Jesús <heckyel@hyperbola.info>
2020-12-18 23:00:33 -05:00
Jesús
e27650b457 Change URL support 2020-12-18 11:56:52 -05:00
Jesús
381d36d626 README.md: Add donate 2020-12-18 11:49:22 -05:00
Jesús
0692780137 pep8 2020-12-18 11:39:39 -05:00
Jesús
a7c1f2a34e Add get_app_version and version 2020-12-17 15:31:11 -05:00
James Taylor
5edcaa4f9d Improve ytInitialPlayerResponse extraction
Makes it work if there are additional javascripts statements
after the playerResponse variable

Signed-off-by: Jesús <heckyel@hyperbola.info>
2020-12-17 11:00:04 -05:00
Jesús
8443063fc4 Hotkeys.js: improve fullscreen 2020-12-16 21:58:30 -05:00
Jesús
1a0a303320 Replace document.fullscreen for fullscreenElement
This feature is no longer recommended. Though some browsers might still support it,
it may have already been removed from the relevant web standards, may be in the
process of being dropped, or may only be kept for compatibility purposes.
Avoid using it, and update existing code if possible; see the compatibility table
at the bottom of this page to guide your decision.
Be aware that this feature may cease to work at any time.

More info in https://developer.mozilla.org/en-US/docs/Web/API/Document/fullscreen#Deprecated
2020-12-16 21:52:34 -05:00
James Taylor
3fa5a55f57 Fix channel search by using new protobuf format
Fixes 'Unknown Error'

Closes #42

Signed-off-by: Jesús <heckyel@hyperbola.info>
2020-12-16 20:46:53 -05:00
Jesús
b53fd2c004 Migration general theme: fix video player method in javascript 2020-12-16 10:31:36 -05:00
Jesús
cfd9e977a7 README.md: Fix name O.S. 2020-12-16 10:13:53 -05:00
Jesús
ff408e84cf Hotkeys.js: Add muted 'm' key 2020-12-15 22:40:02 -05:00
Jesús
97f00efa8a Migration general theme: fix video player method in javascript 2020-12-15 22:34:45 -05:00
Jesús
b9a3082e7c pep8 2020-12-15 21:52:04 -05:00
Jesús
f4b36a220d pep8 2020-12-15 21:14:27 -05:00
Jesús
cf8e8ea5b1 Improve message Starting httpserver 2020-12-15 20:59:34 -05:00
Jesús
d66c8661cb Fix missing lang 2020-12-15 20:58:01 -05:00
Jesús
c31c9ca972 Fix name OS and improved install steps 2020-12-15 12:57:14 -05:00
Jesús
f9461a2e79 Migration general theme: fix query video tag 2020-12-15 12:30:46 -05:00
Jesús
a6f21bbc65 Migration general theme: add gap in subscription 2020-12-15 11:30:49 -05:00
Jesús
e9215534d3 Migration general theme: fix missing message-box style 2020-12-15 11:24:13 -05:00
Jesús
7a765dc664 Change general design theme 2020-12-14 23:44:29 -05:00
James Taylor
9d0be82e74 Always extract from html watch page to get base.js url
Youtube removed the url from the pbj responses. They are now
only in the html page. Replaces previous fix for the missing
base.js issue.
2020-12-12 23:11:54 -08:00
James Taylor
6443cedf62 Retrieve base.js url from html watch page when it's missing
Fixes failure mode 3 in #22
2020-12-09 17:08:12 -08:00
James Taylor
1a7ed0a981 Add box to enter custom video speed 2020-11-30 17:10:11 -08:00
James Taylor
b126ce1aa6 Video comments: replace with error message if there is error
Such as 429 error, or an exception
2020-11-29 18:56:22 -08:00
James Taylor
2ac806f9eb video comments: add link to open the comments page separately
for situations where the comments failed to load
2020-11-29 15:54:04 -08:00
James Taylor
ac54362f08 fetch_url: Use time.monotonic for comptability w/ tor_mgr
Buggy exit node retry behavior due to fetch_url still using
time.time() instead of the time.monotonic() used by new_identity
2020-11-29 13:44:03 -08:00
James Taylor
13fef87f69 Merge pull request #38 from user234684/patch-1
use Tor to resolve domain names
2020-11-12 12:20:21 -08:00
user234684
770b77ea51 use Tor to resolve domain names 2020-11-12 18:55:43 +00:00
James Taylor
0589cfb8f7 yt_data_ext: watch playlist: Fix missing author_url if no author_id
Embedded playlist info was missing author_url key if author_id was
None. This caused KeyError in watch.py when it expected that key

Closes #37
2020-11-08 10:08:20 -08:00
James Taylor
2388b372ae error page: dont use newline wrapping on error-box
only should be used on error-message so newlines in error message
properly display. Should not be used on error-box because that
doesn't have bare text with newlines. Otherwise it was dispalying
extraneous newlines.
2020-10-28 18:41:17 -07:00
James Taylor
b91edee61c watch: Fix exception in to_valid_filename when video title is None 2020-10-28 18:37:40 -07:00
James Taylor
8abfe150f0 new_identity: authenticate with blank password
See https://github.com/user234683/youtube-local/issues/20#issuecomment-716198162
2020-10-25 13:12:49 -07:00
James Taylor
7e5c0bf261 Add stem to requirements.txt 2020-10-25 11:48:18 -07:00