aboutsummaryrefslogtreecommitdiffstats
path: root/youtube
Commit message (Collapse)AuthorAgeFilesLines
* Channel: Allow going to next pages of playlists pageJames Taylor2021-03-154-3/+20
| | | | | | | Uses previous and next buttons. Now can view more than just first page of playlists page Signed-off-by: Jesús <heckyel@hyperbola.info>
* proto_debug: improve recursive_pb functionJames Taylor2021-03-151-36/+81
| | | | | | | | | | | | 1) Fix bug where it would decode as base64 but not indicate that in the structure 2) Use a list of patterns of youtube object ids so it will not base64 decode those 3) Detect the base64 type. If not possible, outputs base64? 4) Remove unnecessary try-except clause 5) Remove unused filt parameter Signed-off-by: Jesús <heckyel@hyperbola.info>
* Fix regression: playlists not showing up besides videosJames Taylor2021-03-151-1/+1
| | | | | | Forgot to change & to ? in previous commit changing to embed page Signed-off-by: Jesús <heckyel@hyperbola.info>
* Fix channel searchJames Taylor2021-03-151-1/+19
| | | | | | | Update the search from the browse_ajax api to the new one Fixes #57 Signed-off-by: Jesús <heckyel@hyperbola.info>
* Fix regression: Channels not sorting by oldest/popularJames Taylor2021-03-031-1/+2
| | | | | | | | get_channel_first_page was mistakenly used when the sorting or view is different. Must use channel_tab which generates the necessary ctokens. Signed-off-by: Jesús <heckyel@hyperbola.info>
* Use new channel api endpoint now that browse_ajax is disabledJames Taylor2021-03-032-4/+26
| | | | | | Fixes channel pages > 1 Signed-off-by: Jesús <heckyel@hyperbola.info>
* util.py: Encode data using utf-8, not asciiJames Taylor2021-03-031-2/+2
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* util.py: Fix data not being passed in requestsJames Taylor2021-03-031-2/+2
| | | | Signed-off-by: Jesús <heckyel@hyperbola.info>
* Channel: use general pbj=1 endpoint to get first page of videosJames Taylor2021-03-032-4/+15
| | | | | | | | | YouTube disabled the browse_ajax endpoint. Quick fix for first channel page. In general, this will be more robust against api endpoint changes. As YouTube continues to change api endpoints, at least the subscriptions and first page will no longer break. Signed-off-by: Jesús <heckyel@hyperbola.info>
* General theme: fix footer centerJesús2021-02-2711-11/+11
|
* Fix data comments 00ef1c862744ec00886bc3fa4b95fdfc6c151866Jesús2021-02-261-1/+1
|
* minor fixJesús2021-02-261-2/+2
|
* Update max_replies when there's a continuation for the repliesJames Taylor2021-02-261-6/+15
| | | | | | | | | | | 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>
* 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>