846 Commits

Author SHA1 Message Date
37f7a4c1cf
[.drone.yml]: inprove syntax 2021-05-09 20:54:08 -05:00
462c0ef323
Add drone CI/CD support 2021-05-08 14:50:23 -05:00
b5a12e108d
[README.md]: update 2021-05-06 15:33:02 -05:00
James Taylor
0ee448c186
Channel about: Add http:// to links without it
So that the link is not interpretted as a relative link

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-05-06 15:21:36 -05:00
7feea3f839
Add subscriptions export
plus design by heckyel
2021-05-06 15:18:19 -05:00
James Taylor
f9d1bfe05f
Add instructions for importing subscriptions to README
Closes #63

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-05-06 14:35:27 -05:00
James Taylor
53b274e35f
Save uploader id in local playlists
Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-05-06 14:31:19 -05:00
James Taylor
0ee1aabc74
Add local playlist export option
Temporary workaround for #61

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-05-06 14:24:00 -05:00
ccb3392e1d
Fix gevent dependencie version 2021-04-13 22:50:15 -05:00
James Taylor
d88a69d811
Add tooltip to video speed box to improve discoverability
See #60

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-04-13 21:08:08 -05:00
James Taylor
585d724564
Add hidden setting to allow foreign post requests
See #55

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-03-15 22:25:08 -05:00
James Taylor
e549b5f67c
Channel: Allow going to next pages of playlists page
Uses previous and next buttons. Now can view more than just
first page of playlists page

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-03-15 22:22:15 -05:00
James Taylor
b2c1066734
proto_debug: improve recursive_pb function
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>
2021-03-15 22:17:06 -05:00
James Taylor
4013b81cb6
Fix regression: playlists not showing up besides videos
Forgot to change & to ? in previous commit changing to embed page

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-03-15 22:05:17 -05:00
James Taylor
1170403953
Fix channel search
Update the search from the browse_ajax api to the new one
Fixes #57

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-03-15 22:04:09 -05:00
James Taylor
1532a48ef4
Fix regression: Channels not sorting by oldest/popular
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>
2021-03-03 10:40:55 -05:00
James Taylor
2df4238924
Use new channel api endpoint now that browse_ajax is disabled
Fixes channel pages > 1

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-03-03 10:40:02 -05:00
James Taylor
c45f60d3f5
util.py: Encode data using utf-8, not ascii
Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-03-03 10:36:32 -05:00
James Taylor
60a6ddc5ef
util.py: Fix data not being passed in requests
Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-03-03 10:34:54 -05:00
James Taylor
f7ed8159cd
Channel: use general pbj=1 endpoint to get first page of videos
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>
2021-03-03 10:33:45 -05:00
2d9aca4b8b
General theme: fix footer center 2021-02-27 10:36:00 -05:00
65300003cd
Fix data comments 00ef1c862744ec00886bc3fa4b95fdfc6c151866 2021-02-26 13:16:01 -05:00
4a5b336deb
minor fix 2021-02-26 12:15:02 -05:00
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
f26c9be85e
Fix URL 2021-02-25 14:27:46 -05:00
875e1ef986
Change URL repo 2021-02-25 13:08:25 -05:00
0c3fddd16d
Add badge status CI/CD 2021-02-24 22:50:19 -05:00
ec4f7d29e4
Add test dependencies in requirement.txt file 2021-02-24 22:44:03 -05:00
e3a009a6bd
Revert "Add .build.yml file"
This reverts commit 5b611b515a147dbf6a32f7a94b03a8c477e0bba7.
2021-02-24 22:42:09 -05:00
ae6bce5edc
Add test dependencies in requirement.txt file 2021-02-24 22:40:54 -05:00
5b611b515a
Add .build.yml file 2021-02-24 22:35:43 -05:00
945acf3e60
Add tests/__init__.py file 2021-02-24 22:30:59 -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
dd5876e0c6
fix missing whitespace 2021-01-31 20:13:46 -05:00
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
8cc721b4ec
General theme: improve colors 2021-01-11 21:14:07 -05:00
58eea1e0f2
Light theme: improve colors 2021-01-11 19:43:41 -05:00
3868295b05
Organize docs 2021-01-10 15:31:22 -05:00
78abaf7aba
General theme: fix support 'Content-Security-Policy' with librejs in UXP 2021-01-09 11:15:41 -05:00
5c22c654ce
Grey theme: improve thumbnail background 2021-01-09 08:27:30 -05:00
7cb6c94879
General theme: improve thumbnail in channel 2021-01-08 11:43:57 -05:00
d899bc2df5
General theme: improve thumbnail-img 2021-01-07 23:06:25 -05:00