Commit Graph

604 Commits

Author SHA1 Message Date
James Taylor
1ec02199ea Update max_replies when there's a continuation for the replies
Because of the new ctoken methodology for getting comment replies,
the more comments button automatically works inside the comment
reply thread when there are more replies than the limit (250).

This commit also updates the max_replies for that ctoken so the
next 250 replies will be retrieved for the more comments ctoken.

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-02-26 12:11:32 -05:00
James Taylor
3a73953e6c proto_debug.py: Use new implementations from proto
And change base64u to base64p to match (u too easily confused
with "unpadded")

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-02-26 12:05:58 -05:00
James Taylor
889dabb112 proto.py: Fix base64 encoding in make_protobuf
First issue: Cannot check for presence of list in dictionary
because it is not hashable.
Second issue: Wrong function name was being used (make_proto
instead of _make_protobuf)

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-02-26 11:50:03 -05:00
James Taylor
d604a007a9 Debugging response saving: save page even if it's an HTTP error
This will help debug new types of exit node blockage or other
errors.

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-02-26 11:48:38 -05:00
James Taylor
07f14343c4 Use mobile embed page to bypass captcha blockage
The aggressive IP-blocking doesn't apply to embed pages

Fixes #47

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-02-26 11:40:38 -05:00
James Taylor
00ef1c8627 Fix comment replies
Comment reply protobuf now requires the channel id of the uploader
of the video. Otherwise the endpoint returns 500.

Instead of making the protobuf ourselves and passing this data
around through query parameters, just use the ctoken provided to us
but modify the max_replies field from 10 to 250.

Fixes #53

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-02-26 11:39:23 -05:00
Jesús
f26c9be85e Fix URL 2021-02-25 14:27:46 -05:00
Jesús
875e1ef986 Change URL repo 2021-02-25 13:08:25 -05:00
James Taylor
31fe1dac55 Fix signature decryption due to new base.js minifier rules
YouTube now includes e.g. {"fe": ...} instead of just {fe: ...}
in the javascript object entries in the object holding the
operation definitions.

Fixes #2

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-02-23 17:17:06 -05:00
James Taylor
4a8ba594d1 TorMgr: Change new identity cooldown to 7 seconds instead of 6
Because sometimes a new identity was not being respected

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-02-13 17:36:52 -05:00
James Taylor
1cc0ffcb20 yt_data_ext: support richGrid&richItem sometimes used on search
Some searches have these renderers instead of the usual ones

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-02-13 17:29:05 -05:00
Jesús
a47dd66bd0 General theme: reorganize thumbnail background variable 2021-01-26 22:23:59 -05:00
James Taylor
52ca49628f fetch_url: 429: get new identity regardless of page content
New 429 captcha page doesn't have IP. This new page appears to
match the 429 code plus the json of {"redirect": ...} which would
be occasionally received when the pbj json endpoint was used in
the past.

Closes #22

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-01-13 18:07:00 -05:00
Jesús
8cc721b4ec General theme: improve colors 2021-01-11 21:14:07 -05:00
Jesús
58eea1e0f2 Light theme: improve colors 2021-01-11 19:43:41 -05:00
Jesús
78abaf7aba General theme: fix support 'Content-Security-Policy' with librejs in UXP 2021-01-09 11:15:41 -05:00
Jesús
5c22c654ce Grey theme: improve thumbnail background 2021-01-09 08:27:30 -05:00
Jesús
7cb6c94879 General theme: improve thumbnail in channel 2021-01-08 11:43:57 -05:00
Jesús
d899bc2df5 General theme: improve thumbnail-img 2021-01-07 23:06:25 -05:00
Jesús
5329ecfd08 General theme: Improve container description 2021-01-01 22:39:47 -05:00
Jesús
3570b5c4d1 General theme: Fix missing styles in pagination 2021-01-01 15:03:17 -05:00
Jesús
3e817298bb General theme: fix HTML syntax 2021-01-01 14:52:24 -05:00
Jesús
5a6e247a7f General theme: fix style paginator 2021-01-01 14:48:42 -05:00
Jesús
3a83796f91 General theme: remove unnecessary z-index property 2020-12-31 18:23:44 -05:00
Jesús
1f4d7cc958 General theme: fix syntax W3C markup and add improve 'Published' date
Signed-off-by: Jesús <heckyel@hyperbola.info>
2020-12-30 16:52:26 -05:00
Jesús
056c3be3f2 strip_non_ascii in comments-author-name 2020-12-30 00:04:41 -05:00
Jesús
0a9d24b261 General theme: Add license to missing script in watch.html 2020-12-29 21:33:56 -05:00
Jesús
7c046d82ee General theme: Fix script generate for timestamp
Also add support librejs
2020-12-29 17:32:40 -05:00
Jesús
0f78e73e80 General theme: add license and add URL source code in footer 2020-12-29 15:36:23 -05:00
James Taylor
701786a9cc util: Remove obsolete parse_info_prepare_for_html function
Info parsing is handled by yt_data_extract, and html
post-processing is done with util.prefix_urls and
util.add_extra_html_info

Signed-off-by: Jesús <heckyel@hyperbola.info>
2020-12-28 11:48:20 -05:00
James Taylor
e1fe6b1d8e Remove obsolete uppercase_escape function
This function was only necessary with the old ajax format, which
was removed in 4d7bba92eb

Signed-off-by: Jesús <heckyel@hyperbola.info>
2020-12-28 11:43:57 -05:00
James Taylor
b567a34ecd TorManager: Add delay before subsequent new identity retries
The request can be retried immediately after the first
new identity, but if we do more new identities, we have to wait
for at least 6 seconds before doing the request, otherwise
it won't be done on a new ip based on my experiments.

Potential issue: If after getting third new identity, request
takes > 12 seconds (since timeout is 15) and returns 429, then the
Tor Manager will let it do a 4th try instead of giving up (meaning
request is taking forever from user's perspective).
Should be a very rare occurence however.

Signed-off-by: Jesús <heckyel@hyperbola.info>
2020-12-25 22:56:19 -05:00
Jesús
6145b66d74 Fix permalink style
Fixed the link box overflow
2020-12-22 19:08:59 -05:00
Jesús
c81cd1941a Fix permalink style
Fixed the link box overflow
2020-12-22 19:01:36 -05:00
Jesús
58c0ffc38d pep8 2020-12-21 21:46:39 -05:00
Jesús
90f8317b36 pep8 2020-12-21 21:44:14 -05:00
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
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
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
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
a7c1f2a34e Add get_app_version and version 2020-12-17 15:31:11 -05:00