1017 Commits

Author SHA1 Message Date
James Taylor
ec031a9b01
generate_release: Update visual c runtime URL
The original repository was deleted. Replace with a fork

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-06-23 14:46:54 -05:00
James Taylor
0df406697f
Workaround for age restriction bypass
Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-06-23 14:45:52 -05:00
7f79269cf3
usage let not var 2021-06-23 14:43:10 -05:00
Umimaso
2d1794889a
feat: autoplay for related videos
Add autoplay support for related videos. Move the playlist autoplay code
into this shared script. Add the SameSite=Strict attribute to the
autoplay cookie due to Firefox soon rejecting cookies which use
SameSite=None without the secure attribute.

Closes: #50

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-06-23 14:34:55 -05:00
ff7aae05c4
Open direct link in new tab 2021-06-23 12:43:55 -05:00
Umimaso
5b4c99c702
feat: add direct link
Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-06-23 12:42:17 -05:00
95ae35260c
Fix styles dropdown option button in desktop 2021-06-14 18:48:09 -05:00
fc8a23099d
Fix shared.css file style missing 2021-06-14 18:39:03 -05:00
999173b1ba
[error.html]: fix set style 2021-06-14 12:08:28 -05:00
31901905e3
Fix name app 2021-06-10 16:48:22 -05:00
7fd2c3474f
Capitalize name app 2021-06-10 16:41:45 -05:00
d35188178b
update URL issues 2021-06-10 16:33:25 -05:00
46f4ed1dc6
Fix design error message 2021-06-10 16:32:42 -05:00
James Taylor
a9edc54aac
Use extract_approx_int for comment likes
Full digits no longer available

Closes #64

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-06-10 12:47:09 -05:00
James Taylor
9077596979
Fix 404 errors on scheduled live events and age-gate bypass
get_video_info now returns 404 error. Adding html5=1 fixes it
(for now). See
https://github.com/ytdl-org/youtube-dl/issues/29086#issuecomment-844892791

Also handles 404 error if it arises so it will be non-fatal

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-06-01 11:55:05 -05:00
1b860c6917
Not force plyr as player 2021-05-24 21:17:59 -05:00
ff8531cb84
[licenses]: fix URL license Expat 2021-05-22 17:55:24 -05:00
b3abec81e1
Add plyr as main player
Also plyr supports switch quality
2021-05-22 17:05:39 -05:00
James Taylor
e44647f106
Fix comment like extraction due to Youtube changes
Variable name changed from likeCount to voteCount

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-05-17 22:08:09 -05:00
James Taylor
b01a16d45b
Fix vids added to playlist from watch page not having author url
Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-05-17 22:07:10 -05:00
James Taylor
f0cd170767
Fix videos added to playlist from channel page not having author
Information from additional_info was being overrided with None.

Signed-off-by: Jesús <heckyel@hyperbola.info>
2021-05-17 22:02:03 -05:00
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