aboutsummaryrefslogtreecommitdiffstats
path: root/youtube
Commit message (Collapse)AuthorAgeFilesLines
* proto_debug.py: Use new implementations from protoJames Taylor2021-02-261-35/+91
| | | | | | | And change base64u to base64p to match (u too easily confused with "unpadded") Signed-off-by: Jesús <heckyel@hyperbola.info>
* proto.py: Fix base64 encoding in make_protobufJames Taylor2021-02-261-2/+2
| | | | | | | | | 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>
* Debugging response saving: save page even if it's an HTTP errorJames Taylor2021-02-261-8/+9
| | | | | | | This will help debug new types of exit node blockage or other errors. Signed-off-by: Jesús <heckyel@hyperbola.info>
* Use mobile embed page to bypass captcha blockageJames Taylor2021-02-261-1/+1
| | | | | | | | The aggressive IP-blocking doesn't apply to embed pages Fixes #47 Signed-off-by: Jesús <heckyel@hyperbola.info>
* Fix comment repliesJames Taylor2021-02-264-51/+129
| | | | | | | | | | | | | 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>
* Fix URLJesús2021-02-251-1/+1
|
* Change URL repoJesús2021-02-251-1/+1
|
* Fix signature decryption due to new base.js minifier rulesJames Taylor2021-02-231-7/+10
| | | | | | | | | | 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>
* TorMgr: Change new identity cooldown to 7 seconds instead of 6James Taylor2021-02-131-4/+4
| | | | | | Because sometimes a new identity was not being respected Signed-off-by: Jesús <heckyel@hyperbola.info>
* yt_data_ext: support richGrid&richItem sometimes used on searchJames Taylor2021-02-131-1/+3
| | | | | | Some searches have these renderers instead of the usual ones Signed-off-by: Jesús <heckyel@hyperbola.info>
* General theme: reorganize thumbnail background variableJesús2021-01-269-6/+9
|
* fetch_url: 429: get new identity regardless of page contentJames Taylor2021-01-131-3/+1
| | | | | | | | | | | 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>
* General theme: improve colorsJesús2021-01-114-36/+40
|
* Light theme: improve colorsJesús2021-01-111-16/+16
|
* General theme: fix support 'Content-Security-Policy' with librejs in UXPJesús2021-01-091-1/+1
|
* Grey theme: improve thumbnail backgroundJesús2021-01-091-1/+1
|
* General theme: improve thumbnail in channelJesús2021-01-081-0/+3
|
* General theme: improve thumbnail-imgJesús2021-01-0710-31/+12
|
* General theme: Improve container descriptionJesús2021-01-011-0/+2
|
* General theme: Fix missing styles in paginationJesús2021-01-016-6/+12
|
* General theme: fix HTML syntaxJesús2021-01-011-1/+1
|
* General theme: fix style paginatorJesús2021-01-015-13/+17
|
* General theme: remove unnecessary z-index propertyJesús2020-12-316-6/+0
|
* General theme: fix syntax W3C markup and add improve 'Published' dateJesús2020-12-305-5/+14
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* strip_non_ascii in comments-author-nameJesús2020-12-303-3/+16
|
* General theme: Add license to missing script in watch.htmlJesús2020-12-291-1/+5
|
* General theme: Fix script generate for timestampJesús2020-12-291-4/+20
| | | | Also add support librejs
* General theme: add license and add URL source code in footerJesús2020-12-2917-110/+636
|
* util: Remove obsolete parse_info_prepare_for_html functionJames Taylor2020-12-281-9/+0
| | | | | | | | 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>
* Remove obsolete uppercase_escape functionJames Taylor2020-12-282-8/+2
| | | | | | | This function was only necessary with the old ajax format, which was removed in 4d7bba92eb62518e2273d030235214f4a7605444 Signed-off-by: Jesús <heckyel@hyperbola.info>
* TorManager: Add delay before subsequent new identity retriesJames Taylor2020-12-251-1/+18
| | | | | | | | | | | | | | | 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>
* Fix permalink styleJesús2020-12-221-1/+1
| | | | Fixed the link box overflow
* Fix permalink styleJesús2020-12-221-1/+1
| | | | Fixed the link box overflow
* pep8Jesús2020-12-211-1/+1
|
* pep8Jesús2020-12-211-21/+43
|
* Include watch_headers in get_video_info so error lang is englishJames Taylor2020-12-211-1/+3
| | | | | | | | | | | 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>
* request_comments: remove obsolete retrying codeJames Taylor2020-12-211-11/+6
| | | | | | | | 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>
* Add coding guidelines, architecture overview, and proto_debugJames Taylor2020-12-211-0/+488
| | | | | | proto_debug is the toolchain for reverse engineering protobuf Signed-off-by: Jesús <heckyel@hyperbola.info>
* video_comments: print error string in consoleJames Taylor2020-12-211-2/+4
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* Fix exception when video comments disabled and blank comments infoJames Taylor2020-12-211-1/+1
| | | | | | | 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>
* Merge branch 'master' of libregit.org:heckyel/yt-localJesús2020-12-211-1/+5
|\
| * Prevent text overflow in commentsJesús2020-12-211-1/+5
| |
* | Exit node retrying: Retry 3 times. Also add tests for it.James Taylor2020-12-211-4/+17
|/ | | | | | Closes #20 Signed-off-by: Jesús <heckyel@hyperbola.info>
* Patch-import-migrate: Add embed page for embeds on the webJesús2020-12-192-7/+58
| | | | | | | Issue #36 From e51f0a78c778a2283887db7ffc22421a7c849296 Mon Sep 17 00:00:00 2001 From: James Taylor <user234683@users.noreply.github.com>
* Fix youtube mixesJames Taylor2020-12-182-2/+13
| | | | | | | 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>
* channel: replace page #s w/ next page button using provided ctokenJames Taylor2020-12-184-18/+32
| | | | | | Since yt doesn't accept page #'s when sorting by oldest Signed-off-by: Jesús <heckyel@hyperbola.info>
* channel: include first and last pages when sorting by newJames Taylor2020-12-182-3/+12
| | | | | | | 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>
* Change URL supportJesús2020-12-181-1/+1
|
* Add get_app_version and versionJesús2020-12-175-1/+68
|
* Improve ytInitialPlayerResponse extractionJames Taylor2020-12-171-2/+10
| | | | | | | Makes it work if there are additional javascripts statements after the playerResponse variable Signed-off-by: Jesús <heckyel@hyperbola.info>