1017 Commits

Author SHA1 Message Date
ed4b05d9b6
Bump version to v0.3.2 v0.3.2 2025-03-08 16:41:58 -05:00
6f88b1cec6
Refactor extract_info in watch.py to improve client flexibility
Introduce primary_client, fallback_client, and last_resort_client variables for better configurability.
Replace hardcoded 'android_vr' with primary_client in fetch_player_response call.
2025-03-08 16:40:51 -05:00
03451fb8ae
fix: prevent error when closing avMerge if not a function 2025-03-08 16:39:37 -05:00
e45c3fd48b
Add styles error in player 2025-03-08 16:38:31 -05:00
1153ac8f24
Fix NoneType inside comments.py
Bug:

Traceback (most recent call last):
  File "/home/rusian/yt-local/youtube/comments.py", line 180, in video_comments
    post_process_comments_info(comments_info)
  File "/home/rusian/yt-local/youtube/comments.py", line 81, in post_process_comments_info
    comment['author'] = strip_non_ascii(comment['author'])
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/rusian/yt-local/youtube/util.py", line 843, in strip_non_ascii
    stripped = (c for c in string if 0 < ord(c) < 127)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not iterable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "src/gevent/greenlet.py", line 900, in gevent._gevent_cgreenlet.Greenlet.run
  File "/home/rusian/yt-local/youtube/comments.py", line 195, in video_comments
    comments_info['error'] = 'YouTube blocked the request. IP address: %s' % e.ip
                                                                             ^^^^
AttributeError: 'TypeError' object has no attribute 'ip'
2025-03-08T01:25:47Z <Greenlet at 0x7f251e5279c0: video_comments('hcm55lU9knw', 0, lc='')> failed with AttributeError
2025-03-08 16:37:33 -05:00
c256a045f9
Bump version to v0.3.1 v0.3.1 2025-03-08 16:34:29 -05:00
98603439cb
Improve buffer management for different platforms
- Introduced `BUFFER_CONFIG` to define buffer sizes for various systems (webOS, Samsung Tizen, Android TV, desktop).
- Added `detectSystem()` function to determine the platform based on `navigator.userAgent`.
- Updated `Stream` constructor to use platform-specific buffer sizes dynamically.
- Added console log for debugging detected system and applied buffer size.
2025-03-08 16:32:26 -05:00
a6ca011202
version v0.3.0 v0.3.0 2025-03-08 16:28:39 -05:00
114c2572a4
Renew plyr UI and simplify elements 2025-03-08 16:28:27 -05:00
f64b362603
update logic plyr-start.js 2025-03-03 08:20:41 +08:00
2fd7910194
version 0.2.21 v0.2.21 2025-03-02 06:24:03 +08:00
c2e53072f7
update dependencies 2025-03-01 04:58:31 +08:00
c2986f3b14
Refactoring get_app_version 2025-03-01 04:06:11 +08:00
57854169f4
minor fix deprecation warning
tests/test_util.py: 14 warnings
  /home/runner/work/yt-local/youtube-local/youtube/util.py:321: DeprecationWarning: HTTPResponse.getheader() is deprecated and will be removed in urllib3 v2.1.0. Instead use HTTPResponse.headers.get(name, default).
    response.getheader('Content-Encoding', default='identity'))
2025-03-01 01:12:09 +08:00
3217305f9f
version 0.2.20 v0.2.20 2025-02-28 11:04:06 +08:00
639aadd2c1
Remove gather_googlevideo_domains setting
This was an old experiment to collect googlevideo domains to see
if there was a pattern that could correlate to IP address to
look for workarounds for 403 errors

Can bug out if enabled and if failed to get any vidoe urls,
so remove since it is obsolete and some people are enabling it

See #218
2025-02-28 10:58:29 +08:00
7157df13cd
Remove params to fetch_player_response 2025-02-28 10:58:15 +08:00
630e0137e0
Increase playlist count to 1000 by default if cannot get video count
This way, buttons will still appear even if there is a failure
to read playlist metadata

Fixes #220# Please enter the commit message for your changes. Lines starting
2025-02-28 10:51:51 +08:00
a0c51731af
channel.py: Catch FetchError
Should catch this error to fail gracefully

See #227
2025-02-28 10:51:29 +08:00
d361996fc0
util: use visitorData for api request
watch: use android_vr client to get player data
2025-02-28 10:43:14 +08:00
4ef7dda14a
version 0.2.19 v0.2.19 2024-10-11 11:25:12 +08:00
ee31cedae0
Revert "Refactoring code and reuse INNERTUBE_CLIENTS"
This reverts commit 8af98968dd4325d5686bfed109aa4ed18b17edbc.
2024-10-11 11:22:36 +08:00
d3b0cb5e13
workflows: update git sync actions 2024-08-05 09:23:38 +08:00
0a79974d11
Add sync to c.fridu.us and sourcehut 2024-08-05 05:27:58 +08:00
4e327944a0
Add CI 2024-07-15 10:39:00 +08:00
09a437f7fb
v0.2.18 v0.2.18 2024-07-09 13:10:10 +08:00
3cbe18aac0
Fix cves
CVE-2024-34064
CVE-2024-34069
CVE-2024-37891
2024-07-09 13:03:36 +08:00
62418f8e95
Switch to android test suite client by default
Invidious' solution to the destruction of the android client:
https://github.com/iv-org/invidious/pull/4650

Fixes #207
2024-06-11 10:46:25 +08:00
bfd3760969
Release v0.2.17 0.2.17 2024-04-29 01:00:13 +08:00
efd89b2e64
set ios client 2024-04-27 09:54:42 +08:00
0dc1747178
update version 0.2.16 0.2.16 2024-04-21 13:16:18 +08:00
8577164785
update client params 2024-04-21 13:14:08 +08:00
8af98968dd
Refactoring code and reuse INNERTUBE_CLIENTS 2024-04-21 13:13:19 +08:00
8f00cbcdd6
update
update android_music client
2024-04-21 11:21:35 +08:00
af75551bc2
update
update android client
2024-04-21 11:18:42 +08:00
3a6cc1e44f
version 0.2.15 0.2.15 2024-04-08 07:25:50 +08:00
7664b5f0ff
normalize css 2024-04-08 07:12:03 +08:00
ec5d236cad
fix color dark theme 2024-04-08 07:10:03 +08:00
d6b7a255d0
v0.2.14 0.2.14 2024-04-07 11:52:53 +08:00
22bc7324db
css normalize 2024-04-07 11:50:53 +08:00
48e8f271e7
update styles to modern 2024-04-07 11:44:19 +08:00
9a0ad6070b
version 0.2.13 0.2.13 2024-04-06 22:12:21 +08:00
6039589f24
Update android params
Discovered by LuanRT - https://github.com/LuanRT/YouTube.js/pull/624
2024-04-06 22:04:14 +08:00
d4cba7eb6c
version 0.2.12 0.2.12 2024-03-31 04:44:03 +08:00
70cb453280
Set 'ios' client to bypass
absidue notes that blockage of the android client is collateral
damage due to YouTube's war with ReVanced. Switching to iOS should
keep us out of the line of fire for now:
https://github.com/yt-dlp/yt-dlp/issues/9554#issuecomment-2026828421
2024-03-31 04:43:11 +08:00
7a106331e7
README.md: update 2024-03-31 02:06:20 +08:00
8775e131af
Temporal fix: all requests with ANDROID client get redirected to aQvGIIdgFDM video, hence the different "content not available"
Set YTMUSIC_ANDROID client instead, but it's just the matter of time before youtube updates that one too :(
2024-03-31 01:48:43 +08:00
1f16f7cb62
version 0.2.11 0.2.11 2024-03-30 10:14:08 +08:00
80b7f3cd00
Update user-agents and update android client parameters to fix blockage 2024-03-30 10:10:35 +08:00
8b79e067bc
README.md: update 2024-03-11 10:30:09 +08:00