d6190a2d0b
security: harden code against command injection and path traversal
...
Core changes:
* enforce HTTPS URLs and remove shell usage in generate_release.py
* replace os.system calls with subprocess across the codebase
* validate external inputs (playlist names, video IDs)
Improvements and fixes:
* settings.py: fix typo (node.lineno → line_number); use isinstance() over type()
* youtube/get_app_version: improve git detection using subprocess.DEVNULL
* youtube/util.py: add cleanup helpers; use shutil.which for binary resolution
YouTube modules:
* watch.py: detect and flag HLS streams; remove unused audio_track_sources
* comments.py: return early when comments are disabled; add error handling
* local_playlist.py: validate playlist names to prevent path traversal
* subscriptions.py: replace asserts with proper error handling; validate video IDs
Cleanup:
* remove unused imports across modules (playlist, search, channel)
* reorganize package imports in youtube/**init**.py
* simplify test imports and fix cleanup_func in tests
Tests:
* tests/test_shorts.py: simplify imports
* tests/test_util.py: fix cleanup_func definition
2026-04-20 00:39:35 -05:00
ff2a2edaa5
generate_release: Fix wrong (32bit) MSVCR included for 64 bitInsert the 64 bit microsoft visual C runtime for 64 bit releases
2024-03-10 02:11:09 +08:00
Jesus
89e21302e3
generate_release.py: fix syntax error
2023-09-11 04:07:15 +08:00
Jesus E
ec8f652bc8
Update generate_release.py
...
Need to use 64-bit by default now, because gevent is no longer
built for 32-bit Python
2023-05-28 21:44:13 -04:00
Jesús
d2d6e4e56d
fix name app
2021-09-14 12:57:31 -05:00
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
Jesús
0692780137
pep8
2020-12-18 11:39:39 -05:00
Jesús
f4b36a220d
pep8
2020-12-15 21:14:27 -05:00
zrose584
a27b575380
remove trailing whitespaces
2020-10-21 10:35:01 +02:00
James Taylor
ec98348018
generate_release.py: Use wine to build windows releases on Linux
2020-08-12 19:18:34 -07:00
James Taylor
3fccc39e32
generate_release.py: Don't uninstall setuptools
...
gevent was changed and now depends on it for some reason
2020-08-11 22:54:13 -07:00
James Taylor
cf507e2cd1
Add full visual c runtime to fix missing dll errors on fresh windows installs
...
On fresh installs, when no programs have been installed which install
visual c runtime as a dependency, the dlls are not present and brotli fails
to load. Bundle them in releases and make sure brotli sees them by
adding their location to the path (in run.bat)
2020-01-30 18:17:09 -08:00
James Taylor
7b42d26c61
Add automatic release generation system so dependencies will be updated per release
2019-09-07 18:19:40 -07:00