Commit graph

423 commits

Author SHA1 Message Date
arabcoders
d6ab18ec22 migrate the entire app to use cli options for ytdlp and make it behave as close to cli options parsing as possible. 2025-04-06 01:03:17 +03:00
arabcoders
260901cfa9 minor changes to newDownload form 2025-04-04 22:53:21 +03:00
arabcoders
93e830f029 in some specific cases, users were unable to delete items from history 2025-04-04 22:09:58 +03:00
arabcoders
48e388b0fe Add logs viewing and enable file logging by default 2025-04-04 20:18:03 +03:00
arabcoders
d03e04db19 minor changes to webui display 2025-04-04 02:07:56 +03:00
arabcoders
04e78f4c10 minor fixes 2025-04-03 23:16:47 +03:00
arabcoders
245a3e7f98 added new env variable to auto upgrade yt-dlp on container startup 2025-04-03 19:37:44 +03:00
arabcoders
a3ef44a573 Fix re-queuing existing item. 2025-04-02 01:27:10 +03:00
arabcoders
eac74d0751 trim __repr__ double space 2025-04-01 23:44:14 +03:00
arabcoders
6cbb8eea50 Fix argument name in YTDLP options and enhance video cleanup on unmount 2025-04-01 23:27:14 +03:00
arabcoders
3219408a57 Removed last reference for ytdlp JSON config in DownloadQueue 2025-04-01 23:19:17 +03:00
arabcoders
3fe0a90a7a Only load notification targets when load is called 2025-04-01 23:13:10 +03:00
arabcoders
f7101f6a38 simplified the codebase and removed all backwards compat flags and checks. 2025-04-01 22:56:28 +03:00
arabcoders
9b4d86041a Make task run time in log more human readable. 2025-04-01 22:47:04 +03:00
arabcoders
4730583510 update newDownload template 2025-04-01 20:34:14 +03:00
arabcoders
fa9c084397 remove presets v1.0 2025-04-01 20:05:35 +03:00
arabcoders
271fd8afdf when failing to send notification do not span console with exception messages. 2025-04-01 00:29:21 +03:00
arabcoders
b09bf14acd complete the migration to yt-dlp cli instead of JSON config 2025-03-31 22:47:54 +03:00
arabcoders
77de30609b updated the conversion process of cli to config 2025-03-31 20:46:55 +03:00
arabcoders
23b1b409f4 deprecate JSON yt-dlp config & Post-Processors in presets and recommand cli options. 2025-03-31 02:13:33 +03:00
arabcoders
1bda1893e4 Convert json config in tasks to use cli arguments. 2025-03-31 00:12:35 +03:00
arabcoders
8f313d7f58 add support for --match-filter 2025-03-30 01:43:31 +03:00
arabcoders
43f4e85d7e Add case-insensitive regex for file type detection in Utils.py 2025-03-28 23:23:43 +03:00
arabcoders
3b9c9acdeb extends the improvements to download page. 2025-03-28 22:44:05 +03:00
arabcoders
6b6cfc9d4c small improvements to file browser. 2025-03-28 22:17:38 +03:00
arabcoders
729f8a1f6f Nested browser frontend page was not loading correctly. 2025-03-28 02:22:38 +03:00
arabcoders
bdaf07dff3 added browser to static paths 2025-03-28 02:07:55 +03:00
arabcoders
21e5dea5bf Added simple file browser 2025-03-28 01:58:22 +03:00
arabcoders
fa73e817a6 Make it possible to override the pictures backends urls. 2025-03-27 01:13:52 +03:00
arabcoders
aa3538917f Maintain playlist keys. Fixes #227 2025-03-26 00:54:46 +03:00
arabcoders
2b666517a5 add sanitize_info for get url info 2025-03-25 20:42:09 +03:00
arabcoders
c81f50a4ae minor change to add random background to the WebUI. 2025-03-25 01:38:59 +03:00
ArabCoders
37ef9314cb fix notification.emit return to return coro incase we don't have any targets. 2025-03-23 00:46:24 +03:00
ArabCoders
c46aa1cfe4 minor fix to EventBus, and trim all preset form fields. 2025-03-23 00:22:33 +03:00
ArabCoders
4ed7c26bb4 migrated all our emitter usage to EventBus 2025-03-22 02:05:52 +03:00
ArabCoders
07fc86565a updated the app to use EventBus 2025-03-21 23:56:02 +03:00
ArabCoders
a973ce8bcf Finalize EventBus design 2025-03-21 21:54:28 +03:00
ArabCoders
c287c55773 potential fix for #217 2025-03-17 23:35:18 +03:00
ArabCoders
6f71c5ceda added /changelogs to static path 2025-03-17 00:37:09 +03:00
ArabCoders
ca00aff9e3 fix params Impersonate target 2025-03-16 21:24:00 +03:00
ArabCoders
b116d48da6 added converter for date range objects param 2025-03-16 20:12:18 +03:00
ArabCoders
095bca9e88 more fit approch to handle yt-dlp logging messages. 2025-03-15 22:29:05 +03:00
ArabCoders
1b57e41e1b try to differentiate yt-dlp logs for each download. 2025-03-15 20:10:28 +03:00
ArabCoders
d94f004eed if the url is video with playlist, follow redirect and queue all videos in the playlist. 2025-03-15 01:29:58 +03:00
ArabCoders
7849eb8735 make break_on_existing optional and overridable by user. 2025-03-15 01:00:27 +03:00
ArabCoders
8dd7c7de1e Added indicator in the WebUI for when post-processing are running. 2025-03-15 00:06:13 +03:00
ArabCoders
83152f0e00 minor fixes to not export default format 2025-03-14 23:06:09 +03:00
ArabCoders
fc696b6afa standardize the form design, and update packages to latest version. 2025-03-14 22:46:31 +03:00
ArabCoders
ada7b5db97 Update presets to use safe url base64 for exported string. 2025-03-13 21:47:01 +03:00
ArabCoders
15969542ab restore check for format in preset compiling for YTDLPOpts 2025-03-11 21:06:29 +03:00
ArabCoders
608b0128b8 Made it possible to not use format in preset 2025-03-11 20:59:08 +03:00
ArabCoders
1aeb8efa1e updated yt-dlp/url/info to give cookies in valid way. 2025-03-11 02:08:13 +03:00
ArabCoders
c1939144c9 parse yt-dlp header cookie for yt-dlp/url/info 2025-03-11 00:08:24 +03:00
ArabCoders
72bac24f46 minor updates to extract_info 2025-03-10 23:12:08 +03:00
ArabCoders
643688bf97 support sending presets with api/yt-dlp/url/info 2025-03-10 03:56:10 +03:00
ArabCoders
3a8b67ff82 normalize return response for api/history/add 2025-03-09 05:22:16 +03:00
ArabCoders
68228294b0 made api/history/add easier to script 2025-03-09 05:09:26 +03:00
ArabCoders
bb507c62b3 added filter to presets, so we can reduce data usage when creating a iOS shortcut 2025-03-08 20:20:54 +03:00
ArabCoders
65e7d3e6fc reduce log spam 2025-03-08 19:56:55 +03:00
ArabCoders
e4794eda7c Updated the worker pool to be dynamic, and make it so that live stream downloading doesn't count towards the worker pool limit. 2025-03-08 19:53:15 +03:00
ArabCoders
f89e72666b make to possible to specify the preset when adding via /api/history/add 2025-03-07 20:16:19 +03:00
ArabCoders
89684ac494 add the new variable to enable yt-dlp console access to README 2025-03-07 20:13:39 +03:00
ArabCoders
e0e63d61c4 for some reason, people were exposing ytptube directly to internet without any authentication. therefore, we have disabled the console access by default. 2025-03-07 20:11:21 +03:00
ArabCoders
981405a44d make URL options have higher proirity than preset and default options 2025-03-07 18:44:44 +03:00
ArabCoders
414b52de9b removed dead code 2025-03-07 02:20:46 +03:00
ArabCoders
cc21a93cb5 Make presets more powerful 2025-03-07 02:14:10 +03:00
ArabCoders
61fd6d45f6 remove debug statement 2025-03-07 01:14:05 +03:00
ArabCoders
6e52b3c356 for basic auth rely on cookies and not just the Authorization header 2025-03-07 01:01:05 +03:00
ArabCoders
0b04f098de preload all pages. 2025-03-06 02:06:53 +03:00
ArabCoders
49bc28edc0 Make it possible to manage presets via webui 2025-03-04 02:11:17 +03:00
ArabCoders
d88ee15060 separated the scheduler from tasks, to allow us to schedule non add url tasks in the future 2025-03-02 21:49:52 +03:00
ArabCoders
ea98562944 better fallback if file was renamed and retains the same ID 2025-03-01 20:04:28 +03:00
ArabCoders
f0836ddd77 apple like to be snowflake. 2025-02-28 01:21:45 +03:00
ArabCoders
1fa4c523bb intercept file response and add correct mime-type 2025-02-28 00:44:02 +03:00
ArabCoders
689ce421e9 add sentry for webui error reporting 2025-02-27 23:54:49 +03:00
ArabCoders
3a964a6ac3 add mimetype to source list 2025-02-27 19:19:32 +03:00
ArabCoders
63a9a15e67 do not consider 0 byte files. 2025-02-27 18:42:35 +03:00
ArabCoders
b7b72cf21e try to direct play video first and fallback to hls if we encounter error. 2025-02-27 18:31:17 +03:00
ArabCoders
259eae251a initial work to support adding/deleting presets from api 2025-02-27 15:30:52 +03:00
ArabCoders
c5924b02cc support format key in ytdlp.json, using the key will ignore the selected preset. 2025-02-27 14:58:06 +03:00
ArabCoders
96260301be we no longer use json cookies, instead rely on netescape cookies and recommend what yt-dlp recommend as well. 2025-02-27 00:39:18 +03:00
ArabCoders
1934815a41 show extract_info logs via notification 2025-02-27 00:38:39 +03:00
ArabCoders
e0058d969f added file logging and automatically load config/cookies.txt if non is given via ytdlp.json file. 2025-02-27 00:37:59 +03:00
ArabCoders
8e97cba43b update dependencies 2025-02-23 19:32:39 +03:00
ArabCoders
5063099002 Added YTP_INSTANCE_TITLE 2025-01-30 16:18:29 +03:00
ArabCoders
45878965f4 fixed linting problems 2025-01-28 23:05:59 +03:00
ArabCoders
fdec16e895 mostly linter fixes. 2025-01-28 19:43:51 +03:00
ArabCoders
2b84aad836 change default umask to 0002 to allow group users to act on files and folders. 2025-01-28 17:18:54 +03:00
ArabCoders
d063cf0f52 use same name cross client and server for variables and config files. 2025-01-28 00:09:46 +03:00
ArabCoders
41ddc14af5 Updated README.md 2025-01-27 22:30:19 +03:00
ArabCoders
6a92cf9ec9 added timeout param for wait_for 2025-01-27 21:23:57 +03:00
ArabCoders
cda863b0bc missed a bug fix 2025-01-27 21:19:09 +03:00
ArabCoders
f62ba22047 move format_item to common class, and update methods to use it 2025-01-27 21:14:01 +03:00
ArabCoders
1187badc2d fixed bug preventing adding items via /api/history endpoint 2025-01-27 21:10:53 +03:00
ArabCoders
902244769a Major code changes. 2025-01-27 19:53:59 +03:00
ArabCoders
dbee7cf2fa standardize more events. 2025-01-25 22:46:33 +03:00
ArabCoders
ddc216ccb6 revamped the notification system 2025-01-25 22:24:13 +03:00
ArabCoders
922d194d7a simplify API calls. 2025-01-25 17:25:58 +03:00
ArabCoders
e5f2a09cc7 Added backward compatibility fix. 2025-01-24 23:25:03 +03:00
ArabCoders
a4827202d8 overhauled the tasks page to support adding/editing/deleting tasks from the WebUI directly instead of relying on tasks.json file. 2025-01-24 23:13:53 +03:00
ArabCoders
cb735cbb97 Added new feature to parse yt-dlp CLI arguments in yt-dlp JSON config box 2025-01-23 17:35:03 +03:00
ArabCoders
2b8e79c1c4 Switch to single Manager instead of one manager per download 2025-01-19 20:01:46 +03:00
ArabCoders
843d5fd726 Fixed type casting for some elements when adding items. 2025-01-19 18:12:11 +03:00
ArabCoders
0d9f0ded88 Another attempt at fixing #173 2025-01-18 20:57:23 +03:00
ArabCoders
35421540d7 another attempt to fix multi-processing #173 2025-01-18 19:09:48 +03:00
ArabCoders
3f2b9feb7d Cancel the status update if exception happens during await update_task 2025-01-18 18:27:30 +03:00
ArabCoders
2fddadf363 Potential fix for #173 2025-01-18 17:47:55 +03:00
ArabCoders
44440aa546 prevent loading keys which sometimes breaks ytptube 2025-01-18 17:47:33 +03:00
ArabCoders
1319c3e1ab ignore /api/ping access log 2025-01-18 17:47:03 +03:00
ArabCoders
fef60f0395 wrap file access into exception handler. 2025-01-17 23:44:27 +03:00
ArabCoders
b1388eff6b Added Basic mode for WebUI & added new env var for selecting default preset. 2025-01-17 02:03:58 +03:00
ArabCoders
cac1c55abf Update datetime when status changed to finish 2025-01-13 18:02:04 +03:00
ArabCoders
c20fdca09b Added way to check for youtube cookies status 2025-01-11 20:57:39 +03:00
ArabCoders
b86f13f2d8 Added new option to view url info 2025-01-11 16:39:24 +03:00
ArabCoders
593c0fc675 Fix and document presets.json 2025-01-10 18:54:07 +03:00
ArabCoders
812e92cf23 updates API endpoints, fix webhooks not firing due to an error. 2025-01-03 19:49:45 +03:00
ArabCoders
7633f8ffe2 fixes 2025-01-03 00:44:02 +03:00
ArabCoders
2a79ac6849 Fix #160 2025-01-03 00:24:21 +03:00
ArabCoders
ee8151ed64 added debug logging for postprocessor_hook 2025-01-02 20:20:15 +03:00
ArabCoders
d9b905fbde when adding playlist, yt-dlp doesn't include thumbnail in the list 2025-01-02 19:51:36 +03:00
ArabCoders
9dd7e3c352 removed no longer used imports 2025-01-02 19:11:56 +03:00
ArabCoders
d8f73a618a Fixed audio only streaming 2025-01-02 19:11:22 +03:00
ArabCoders
62c457df65 embeded optional yt-dlp packages 2025-01-02 18:20:09 +03:00
ArabCoders
531ffc7eb6 added env variable and file to be able to install python packages on start
a better approach for installing packages.
2025-01-02 17:57:49 +03:00
ArabCoders
f4668aab60 Fixed webhook not firing 2025-01-01 23:25:58 +03:00
ArabCoders
9399c515c4 fixe yt-dlp Impersonate Target 2025-01-01 17:09:51 +03:00
ArabCoders
d40237134c minor fixes 2024-12-30 21:58:01 +03:00
ArabCoders
ed02c3ec01 Added the ability to pause download pool 2024-12-30 21:39:24 +03:00
ArabCoders
448a145ed0 Added maxWorkers to title 2024-12-30 10:51:14 +03:00
ArabCoders
1f2db7ad5e Added option to update page title with stats. 2024-12-29 21:17:17 +03:00
ArabCoders
6b930bb388 added more info to media Metadata, and cleaned up itemDTO object. 2024-12-27 19:58:21 +03:00
ArabCoders
6851e1d911 prevent logging ping requests 2024-12-27 19:07:08 +03:00
ArabCoders
7420138ce0 Document env variables and added remove_files env option. 2024-12-25 19:16:15 +03:00
ArabCoders
2d70de2032 updating python code to be little more clean and implements more type checks. 2024-12-20 21:20:51 +03:00
ArabCoders
1b9a4e528b reverted change to regex for player segments 2024-12-19 23:26:26 +03:00
ArabCoders
df86cc0001 updated some type checks 2024-12-19 22:58:33 +03:00
ArabCoders
0b4216c0b0 Prep for dev release 2024-12-18 21:15:15 +03:00
ArabCoders
9f00a8cdc3 fixed naming conflict 2024-12-17 20:11:31 +03:00
ArabCoders
88ecfbb516 added missing static assets 2024-12-17 19:47:12 +03:00
ArabCoders
fcb2eda4ba Fixes for default preset. 2024-12-17 18:43:09 +03:00
ArabCoders
45227be6bf added LFI protection for thumbnails 2024-12-17 17:25:16 +03:00
ArabCoders
c727ab3446 Finalizing migration to nuxt3 2024-12-17 17:07:52 +03:00
ArabCoders
f614dbc217 updates 2024-12-16 22:06:54 +03:00
ArabCoders
70eb27291f fixes for the massive changes we did to the app source code. 2024-12-15 21:34:28 +03:00
ArabCoders
51024c2a9b some minor app changes =) 2024-12-15 21:28:37 +03:00
ArabCoders
f7f5e72aeb limit the sent configuration variables to the frontend. 2024-12-14 20:29:15 +03:00
ArabCoders
4b322a6f5a make docker build uses the next UI 2024-12-14 20:14:58 +03:00
ArabCoders
0239e509de sweeping changes to internals 2024-12-14 19:27:13 +03:00
ArabCoders
cf8f971785 updates 2024-12-14 16:42:31 +03:00
ArabCoders
3ecb3c8690 allow adding format via ytdlp.json 2024-12-12 18:32:23 +03:00
ArabCoders
82f59676c7 support color output in console 2024-12-11 20:50:49 +03:00
ArabCoders
3b7338eb79 fixed small bug in console 2024-12-11 19:49:30 +03:00
ArabCoders
6fb69f7dac Update dependencies & Fixes #137 2024-12-05 23:00:03 +03:00
ArabCoders
a672d273d7 Stringify path for replacement. 2024-11-03 18:23:00 +03:00
ArabCoders
91c067acb3 Bug fixes. 2024-11-03 18:12:54 +03:00
ArabCoders
7a5a06219c Added possible fallback for playlist incase filename got changed. 2024-11-03 17:56:12 +03:00
ArabCoders
0cd36ea4be validating user supplied filename. 2024-11-03 17:23:56 +03:00
ArabCoders
d837fb7d1b check for file existence before attempting to read the contents. 2024-10-31 23:46:08 +03:00
ArabCoders
f76e9b8f77 added archive.manual.log 2024-10-31 23:35:26 +03:00
ArabCoders
6a40d7ec48 fixes 2024-08-07 16:52:26 +03:00
ArabCoders
f014809e9a use pysubs2 instead ffmpeg to convert subtitles. 2024-07-31 21:34:11 +03:00
ArabCoders
5ad3eb2527 Improved player to support sidecar external subtitles 2024-07-31 19:34:14 +03:00
ArabCoders
fe803d66af Fixes #115 2024-07-29 13:31:40 +03:00
ArabCoders
be68cf13e5 Added basic authentication 2024-07-18 15:43:32 +03:00
ArabCoders
736b588b8a Added option to archive failing download from WebUI 2024-07-11 13:38:53 +03:00
ArabCoders
ae14ac145d Updated terminal window 2024-07-09 23:40:44 +03:00
ArabCoders
3447f293bd Fixed parsing custom yt-dlp config. 2024-07-06 19:09:47 +03:00
ArabCoders
2229e76abd Updated dependencies & added data list for download path to ease path selection. 2024-06-16 16:27:52 +03:00
ArabCoders
0f95ea405c Added Console view for yt-dlp command. 2024-05-16 16:12:08 +03:00
ArabCoders
7a519bf16c support jsonc in tasks/webhooks/ytdlp json files. 2024-05-14 12:41:36 +03:00
ArabCoders
da1f35ec4b add caching to the segment responses. 2024-04-20 23:57:37 +03:00
ArabCoders
48ad232393 Made it possible to switch streamer used codecs 2024-04-15 22:06:14 +03:00
ArabCoders
e7af9ba972 multi-downloads are now fully working 2024-04-06 00:45:45 +03:00
ArabCoders
476d369bd1 Fixes 2024-03-31 03:49:57 +03:00
ArabCoders
ae12a75ce9 Cleanup after download finish. 2024-03-29 21:57:05 +03:00
ArabCoders
f0dec94a60 Fixes 2024-03-29 21:05:26 +03:00
ArabCoders
050012a1b2 some fixes to downloader. 2024-03-29 00:56:09 +03:00
ArabCoders
3c84741e8a terminate if process still alive after kill 2024-03-29 00:42:38 +03:00
ArabCoders
39e594c394 upgrade webhooks to support both form and json request. 2024-03-29 00:08:16 +03:00
ArabCoders
5d57ae25ab Fixes 2024-03-28 22:55:24 +03:00
ArabCoders
46e7d28fc8 Cleanup the video player. 2024-03-26 00:16:00 +03:00
ArabCoders
70cff70247 Converted the video player to be async 2024-03-25 23:15:37 +03:00
ArabCoders
f9bb34fce7 Fixes 2024-03-24 20:32:41 +03:00
ArabCoders
a1aa7b02ba wrap notifier in timeout call, and expose pool operations via API 2024-03-23 01:02:53 +03:00
ArabCoders
2493d41271 update the format for the workers output. 2024-03-20 23:27:09 +03:00
ArabCoders
5bba32cd06 Added endpoint to expose worker status 2024-03-20 23:13:05 +03:00
ArabCoders
cccb8efb68 Added an endpoint to update completed item data. 2024-03-19 23:57:46 +03:00
ArabCoders
b56351cd05 Reduce extract_info calls. 2024-03-16 01:22:07 +03:00
ArabCoders
9560d0f7b6 Fixes is_upcoming in frontend 2024-03-15 01:32:33 +03:00
ArabCoders
38ec713f15 fix 2024-03-15 01:16:11 +03:00
ArabCoders
5098244193 fix 2024-03-13 22:49:40 +03:00
ArabCoders
d24a241579 Cleanup code. 2024-03-13 22:41:39 +03:00
ArabCoders
8042f5ac45 Serve static content from memory. 2024-03-11 19:45:51 +03:00
ArabCoders
708e058b01 Added socket_timeout. 2024-03-11 19:39:32 +03:00
ArabCoders
9719ac863f Added yt-dlp version to footer. 2024-03-09 18:22:18 +03:00
ArabCoders
7b29979021 fixes 2024-03-08 16:46:49 +03:00
ArabCoders
ef4fcf9db3 Locally check the id instead fo requesting extract_info twice. 2024-03-08 16:46:08 +03:00
ArabCoders
1b07a421e6 updating downloadQueue log messages. 2024-03-07 17:47:22 +03:00
ArabCoders
31e6ed87e4 Fixed bug in 2nd asyncio.wait_for 2024-03-05 20:06:26 +03:00
ArabCoders
9ff44f3234 added timeout limit to extract_info 2024-03-05 14:45:22 +03:00