Commit Graph

318 Commits (0e5c78db0d0a87e8918623f9eb3c2eb87525edd8)

Author SHA1 Message Date
Isaac Abadi c08993e20b Old database files are now backed up prior to migration to simplified structure 5 years ago
Isaac Abadi 4835093606 Fixed issue where some non-YT videos would fail as the pre-check was incompatible 5 years ago
Isaac Abadi c63a64ebef Categories will now auto-generate playlists 5 years ago
Isaac Abadi 3f1532b4c6 Updated migration
- Fixed bug in migration process for single-user mode
- Changed name of migration

Removed unused code for getmp3/mp4 and fixed bug when retrieving playlist if it didn't exist

Fixed bug in streaming code where playlist audio files would not play if the file path was not present

Fixed bug in getallsubscriptions for single user mode
5 years ago
Isaac Abadi afb5e3800c In the subscription page, the subscription is now continuously retrieved at an interval of 1s to update for new videos or the downloading state
- There is now a visual indicator for when a subscription is retrieving videos
5 years ago
Isaac Abadi 2971580f91 Merge branch 'master' of https://github.com/Tzahi12345/YoutubeDL-Material into updated-player 5 years ago
Isaac Abadi e75b56ad3f Added ability to pause specific subscriptions 5 years ago
Isaac Abadi 59c38321fd Fixed bug in file deletion 5 years ago
Isaac Abadi 8058b743eb Added support for redownloading fresh uploads, which will eventually be hidden behind an opt-in setting 5 years ago
Isaac Abadi e3374c573a Args incompatible with video mode and audio-only mode will now get removed 5 years ago
Isaac Abadi da3bd2600f Fixed bug where sharing didn't work for some videos
View count now increments on each play unless the video is shared
5 years ago
Isaac Abadi 6ad590497b Merge branch 'master' of https://github.com/Tzahi12345/YoutubeDL-Material into updated-player 5 years ago
Isaac Abadi 4f693d4eda Added description to player component and simplified the database by un-splitting videos and playlists by type 5 years ago
Isaac Abadi 9de403245b Twitch chat now supports subscriptions
- refactored code to be cleaner and more modularized

Updated scrolling on twitch chat to actually scroll to the bottom with new messages

Fast forwarding in videos with a twitch chat is now faster and provides a smoother transition
5 years ago
Isaac Abadi c6fc5352c5 Added ability to add more metadata to db through migrations, and added scaffolding for supporting description and play count in the player component 5 years ago
Isaac Abadi f425b9842f Updated twitch chat component to support user colors and to auto open if the chat has already been downloaded 5 years ago
Isaac Abadi d08fee1223 Added v1 of chat sidebar for Twitch VODs 5 years ago
Isaac Abadi 8938844ffa Added ability to select the max quality for a subscription. It defaults to 'best' which will get the best native mp4 video 5 years ago
Isaac Abadi b730bc5adc Added option to set a default file output - custom file output in the advanced expansion panel will override this 5 years ago
Isaac Abadi 2f541a49df Thumbnails now load using a faster method with a dedicated API route rather than sending blobs directly.
- In cases of lots of files, loading should be significantly faster
5 years ago
Isaac Abadi 9e4b328f91 Default youtube downloader switched back to youtube-dl after testing
Fixed bug that caused some non-youtube downloads from failing
5 years ago
Isaac Abadi 3a049a99ac Fixed bug where non-youtube downloads would fail 5 years ago
Isaac Abadi b323b548ca Added ability to use youtube-dl forks
Downloader now defaults to youtube-dlc because of the recent DMCA requests
5 years ago
Isaac Abadi 6ea4176d63 Added missing code that makes category paths relative to the root dir 5 years ago
Isaac Abadi 727b047c39 Merge branch 'master' of https://github.com/Tzahi12345/YoutubeDL-Material into categories 5 years ago
Isaac Abadi 0189d292a8 Fixed bug that prevented categorized files from being deletes and simplified the two delete file API calls into one 5 years ago
Isaac Abadi fe7303a191 Replaced /audio and /video APIs with /stream that now requires a type parameter to simplify future code changes
getSubscription can now accept a subscription name instead of just an ID

Added API call to delete a category

Categories can now have a custom path

Minor code cleanup
5 years ago
Isaac Abadi dff4b141b0 Blobs are now only included in getAllFiles() if the config option for including thumbnail is set to true 5 years ago
Tiger Oakes e26ac82c66 Fix missing keywords 5 years ago
Tiger Oakes 21eafeab22 Make utils.recFindByExt and utils.getDownloadedFilesByType async 5 years ago
Tiger Oakes f535d18cb9 Use async methods in auth and subscriptions 5 years ago
Tiger Oakes 2c43ce3c47 Use async versions of filesystem methods 5 years ago
Isaac Abadi 10922fedd7 Fixed bugs that prevented subscription videos from being downloaded and non-users from accessing shared videos 5 years ago
Isaac Abadi 6717a59422 Fixed bug that preventing playlists from being downloaded a zip 5 years ago
Isaac Abadi 899633e124 Fixed bug that showed users their subscription videos after subscriptions were disabled 5 years ago
Isaac Abadi 8595864118 Added basic categorization functionality in the server & UI 5 years ago
Isaac Abadi 71633950b2 Comments cleanup 5 years ago
Isaac Abadi 5b768b5bda JSON blobs were accidentally inserted into DB, stringifying then parsing the video file object fixes this 5 years ago
Isaac Abadi 8a7409478a Added the ability to download videos at higher resolutions than the highest mp4 (fixes #76)
Deprecates normal downloading method. The "safe" method is now always used, and download progress is now estimated using the predicted end file size

Thumbnails are now auto downloaded along with the other metadata
5 years ago
Isaac Abadi babba9aa30 Added ability to register/login through LDAP
- Added ability to edit LDAP settings and whether to use LDAP or not in the users tab in the settings
5 years ago
Isaac Abadi 560aaadca1 Removed "use encryption" options, if you'd like to encrypt your web page, use a reverse proxy 5 years ago
Isaac Abadi 5de37f6fbf Importing of unregistered files now happens on startup
recFindByExt in app.js removed, now uses utils.recFindByExt

Minor code cleanup
5 years ago
Isaac Abadi 945ba268fb Fixed bug where non-shared videos could be viewed by others
Fixed bug where non-users couldn't download a shared video
5 years ago
Isaac Abadi fcaf8b5a62 Updated create playlist dialog to not require a type to be set prior
- duration and registered variables are now set for playlists
5 years ago
Isaac Abadi d7aa39599d Removed subscriptions_use_youtubedl_archive setting, to use youtube-dl archive functionality, there is now just one setting for both subscription and non-subscription videos 5 years ago
Isaac Abadi fd35153721 Merge branch 'master' of https://github.com/Tzahi12345/YoutubeDL-Material into homepage-redesign 5 years ago
Isaac Abadi 9aee6e91cd Added API to update subscription
Edit subscription component now works
5 years ago
Isaac Abadi 3ebc903ce9 Fixed bug where non-admins in multi user mode could change the settings if they could open the dialog 5 years ago
Isaac Abadi 333556c305 Removed erroneous code and added the ability to kill all downlaods 5 years ago
Isaac Abadi d7631360cc Erroneous quality args are no longer added when using then normal downloading method 5 years ago
Isaac Abadi c800308b9d Removed all instances of res.end() as it caused errors on debian-based systems and is a redundant call 5 years ago
Isaac Abadi c1c57135ba Fixed bug where deleting an audio file would result in an error 5 years ago
Isaac Grynsztein cc189a3abd Unified videos videos are now properly retrieved from the server 5 years ago
Isaac Grynsztein 4ebb2d4297 Created unified file card component, recent videos component (not done) and started scaffolding work on the backend 5 years ago
Isaac Grynsztein dd80c51f16 Removed pin setting functionality
- Simplifies security options: use multi user mode if you want to restrict access to the settings menu
5 years ago
Isaac Grynsztein e97e9ec717 Logs viewer will now color-code logs based on type (error, warning, info, etc.)
You can also clear logs from the logs viewer as well
5 years ago
Isaac Grynsztein a9f197e46d Updated logs viewer component
- now by default last 50 lines are showed
- added copy to clipboard button
- added loading spinner to indicate to users when the logs are loading

app.get('/api/logs') is now app.post to allow for additional parameters (such as lines to retrieve)
5 years ago
Isaac Grynsztein cf14880d21 Empty URL setting will result in the default being applied 5 years ago
Isaac Grynsztein e81d0cab42 Fixed bug where changing a user's password would change the admin's password 5 years ago
Isaac Grynsztein 5537852134 Deleting a file will now delete its downloaded thumbnail as well
Thumbnails will now have their permissions auto updated to align themselves with the other downloaded files
5 years ago
Isaac Grynsztein efdc471ccf Fixed bug where if multi-user mode was enabled, old subscriptions would keep downloading and vice versa 5 years ago
Isaac Grynsztein c20d09e902 Merge branch 'master' of https://github.com/Tzahi12345/YoutubeDL-Material into player-improvements 5 years ago
Isaac Grynsztein 86c609c1b2 Player component now remembers previously set volume
Updated name of updatePlaylist->updatePlaylistFiles for clarity and added updatePlaylist route

Added smarter safe download override, will auto activate if subtitle args are included.
5 years ago
Justin Turner 42bd219ed6 Removing extra white spaces 5 years ago
Isaac Grynsztein 94df98e5d0 Fixed bug that prevented subscription archives from being downloaded if their path was express as a full path 5 years ago
Isaac Grynsztein 2998562655 Added the ability to view logs from the settings menu 5 years ago
Isaac Grynsztein 319bb0160b Finished adding support for audio subscriptions, custom args for subscriptions, and custom output for subscription downloads 5 years ago
Tzahi12345 db81120645 Added audioOnlyMode, customArgs, and customFileOutput fields to the subscribe dialog 5 years ago
Tzahi12345 163a88bcfd DB implementation of subs now can properly delete subs 5 years ago
Tzahi12345 b8a4e0773f Added new utils.js module to assist backend with shared helper functions
Subscription files are now stored in the database, and will be primarily managed through it
5 years ago
Tzahi12345 f04139634a Merge branch 'master' of https://github.com/Tzahi12345/YoutubeDL-Material into subscriptions-custom-path 5 years ago
Tzahi12345 a074166903 Added catch statement if youtube-dl tags could not be retrieved 5 years ago
Tzahi12345 d3d0f92ea5 Merge branch 'master' of https://github.com/Tzahi12345/YoutubeDL-Material into subscriptions-custom-path 5 years ago
Isaac Grynsztein dcc7fbd81c Added new setting to force a safe download (removes features like progress bar) 5 years ago
Isaac Grynsztein b3c8f9e57a Fixed bug that caused downloads to fail when archiving was enabled
Removed error message on URL input on the home page

Fixed bug that prevented file deletion in multi user mode with archiving enabled
5 years ago
Isaac Grynsztein 80f214fdde Fixed bug that caused non-YT videos to be downloading using the best format 5 years ago
Isaac Grynsztein cec0ed78ec Fixed bug that prevented user registration from occuring, and added new "Login" option to the hamburger menu when appropriate
Related: made it so non-logged in users (in multi user mode) don't have the option to go "home" or "subscriptions" or "downloads". It would error regardless, but it looks cleaner now
5 years ago
Isaac Grynsztein c8a8046056 Fixed bug where if a subscription name was missing, the wrong folder was used
Fixed bug that caused high CPU usage when the subscriptions check took longer than the interval in the settings (thus they piled on)
5 years ago
Tzahi12345 f485da06b5 Implemented cookies upload dialog and the ability to "enable cookies" to hopefully circumvent 429 errors 5 years ago
Tzahi12345 4cf92b8f3d Fixed bugged override 5 years ago
Tzahi12345 e07acfd4b3 Added support for a popular adult website 5 years ago
Tzahi12345 05d962328b Fixed bug that prevented non-youtube videos from downloading 5 years ago
Tzahi12345 0816cb7046 Fixed bug that preventing reddit videos from downloading 5 years ago
Tzahi12345 c6553d99c6 Hotfix for bug that prevented large twitch videos from downloading 5 years ago
Tzahi12345 8bf3680b6f Fixed bug that prevented soundcloud audio files from downloading correctly 5 years ago
Tzahi12345 9e5ad66a9d Added scaffolding for custom paths in subscriptions 5 years ago
Tzahi12345 f094d18e03 Changed /api/changeUser endpoint to /api/updateUser 5 years ago
Tzahi12345 49081db8cb Config items are now checked on start. Missing ones will be autofilled with the default values automatically on startup 5 years ago
Tzahi12345 a3424f973e Output on global args will now override specific output 5 years ago
Tzahi12345 8e5db3e9d1 Custom args and global custom args now use double comma as a delimiter. This should allow file names with spaces when using custom args (global and not) 5 years ago
Tzahi12345 74e47b7d04 Fixed bug that prevented audio files from being played after username change
Downloads with custom args or custom quality config now use the old downloader to ensure stability and prevent arg conflict
5 years ago
Tzahi12345 f73ec2dd94 Fixed bug that caused users with large amounts of data to have extremely large tokens
Subfolders are now ensured to exist with the normal downloading method

Initialization now happens after token retrieval to avoid failed requests

Fixed bug that caused login to be called twice, introducing a possible race condition
5 years ago
Tzahi12345 26ad195597 Adds ability to set umask through an environment variable. Does not work on Windows, and it's untested on Linux 5 years ago
Tzahi12345 fb23d7c41e Audio downloads now work with progress bar, but it requires file conversion at the end. It ends up being around the same speed as the regular method 5 years ago
Tzahi12345 4e6d68d9e6 Updated video playing/sharing logic to support sharing of playlists in multi user mode and when multi user mode is disabled
Fixed bug that caused normal archive to be used in multi-user mode

Updated login logic when username is not found or user file is missing

Fixed bug that prevented playlist sharing from working

Added ability to use timestamps when sharing videos
5 years ago
Tzahi12345 8bc99fb557 Fixed bug that prevented registration from occuring 5 years ago
Tzahi12345 e5db376914 All config values are now reloaded on config set
Added 4 new settings: user files folder, enable registration, enable downloads manager, and logging level selection
5 years ago
Tzahi12345 b685b955df Added roles and permissions system, as well as the ability to modify users and their roles
Downloads manager now uses device fingerprint as identifier rather than a randomly generated sessionID
5 years ago
Tzahi12345 e7b841c056 Added UI flow for creating default admin account. Dialog will show up after enabling or in the login menu if the admin account isn't present 5 years ago
Tzahi12345 e5f9694da0 Fixed bug where downloading individual files failed for channel subscriptions 5 years ago
Tzahi12345 31f581c642 Subscriptions now support multi-user-mode
Fixed bug where playlist subscription downloads would fail due to a mislabeled parameter

Components that are routes now make sure auth is finished before sending requests to the backend
5 years ago
Adam Verga 0fb00bac12 Initialization on auth component happens in a separate function, users_db primarily sits in app.js
Fixed bug where current download would set to null, but maincomponent still tried to parse it
5 years ago
Adam Verga 6980828853 Merge branch 'master' of https://github.com/Tzahi12345/YoutubeDL-Material into multi-user-mode 5 years ago
Tzahi12345 a701d0fe83 Fixes bug (hopefully) that causes stale data to be saved to the db due to multiple adapters instances being used. Now the db adapter gets passed as a parameter 5 years ago
Isaac Grynsztein 4b2b278439 Sharing and video downloads on shared videos now work for multi-user mode 5 years ago
Isaac Grynsztein 1ac6683f33 Custom quality configurations now use the old downloading method to avoid errors
postsservice now does jwt auth after checking if multi user mode is enabled

Minor update to user profile UI

Added setting for enabling and disabling multi user mode
5 years ago
Isaac Grynsztein e790c9fadf File descriptors are now stored in the config_api until they find a better home
File deletion now works in multi-user mode. Sharing and subscriptions are the last holdouts for porting over to multi-user-mode

Fixed bug with archive mode that defaulted to storing the ID in the video archive all the time (rather than audio if it's an mp3)
5 years ago
Isaac Grynsztein fa1b291f97 Added video downloading functionality to multi user mode, as well as playlist management and saving of videos locally. Still missing video deletions and subscriptions
Simplified code for downloading videos to client (locally)
5 years ago
Isaac Grynsztein 98f1d003c3 Fixed bug that prevented migrations from succeeding
Added scaffolding required for jwt authentication for certain routes

Added logger to auth_api

Added necessary routing rules for multi-user mode

Registration is now possible
5 years ago
Isaac Grynsztein c3cc28540f Merge branch 'master' of https://github.com/Tzahi12345/YoutubeDL-Material into multi-user-mode 5 years ago
Isaac Grynsztein eca06a7fb1 Downloads on the home page now show the progress bar 5 years ago
Isaac Grynsztein f361b8a974 Furrther simplified download process and fixed a couple bugs
Audio files will not show download progress as enabling this feature causes it to be really slow

Fixed bug where downloading the same video twice produced duplicate files in the file manager
5 years ago
Isaac Grynsztein 1565c328d5 If a video is a playlist, it will download the normal way 5 years ago
Isaac Grynsztein a6534f66a6 migrated audio file downloads to new system. still untested with playlists
video/audio player now doesnt show share button when uid isn't present, user will be notified of this through a snackbar as well
5 years ago
Isaac Grynsztein 6fe7d20498 downloads refactor half done - videos are now implement, but audo files are now
Added downloads manager in the UI where downloads can be viewed/cleared
5 years ago
Isaac Grynsztein d887380fd1 Added new methods to facilitate server-side download management 5 years ago
Isaac Grynsztein 1f3572a630 jwt auth scaffolding
logging in now works

UI login component created
5 years ago
Isaac Grynsztein da8571fb1a Added additional info when requests are rejected due to no auth
Added two additional auth methods: registering and logging in. They have minimal functionality right now

Added auth module which will handle all auth-related requests
5 years ago
Isaac Grynsztein bdb5072014 API key is now passed as a query param 5 years ago
Isaac Grynsztein e5baf094c9 chmodsync will not run if app is running on windows 5 years ago
Isaac Grynsztein 264b3606d6 Modified automatic permissions for json files 5 years ago
Isaac Grynsztein 2408184cc7 new video json files created now get read perms across the board 5 years ago
Isaac Grynsztein a8d6298cfd Adds preliminary support for tiktok and periscope
Added alternate json path for mp4s in case it's not found in the main location
5 years ago
Isaac Grynsztein 3d3ab5180f fixed bug that prevented non-api routes from loading without an auth header 5 years ago
Isaac Grynsztein b5a82b9385 Updated middleware to support API tokens. Frontend now uses an admin token for its requests
Fixed version numbers
5 years ago
Isaac Grynsztein 1e96e31053 Added new API key and using API key config items to enable a public API
API key config items are implemented UI-side

Added ability to generate API keys through the settings

Switched getmp3s and getmp4s api calls to be GET requests rather than POST

Removed unused code from settings dialog
5 years ago
Isaac Grynsztein e15141c5e0 Added backend and database support for video streaming
Added UI support for video streaming. branch is now feature-complete
5 years ago
Isaac Grynsztein 346d41d3e1 Fixed bug that broke server backups 5 years ago
Isaac Grynsztein 597e1f5b60 Fixed bug that prevented updates from succeeding 5 years ago
Isaac Grynsztein ba2b837cc5 Fixed accidentally commented out functionality to download new updates 5 years ago
Isaac Grynsztein 22f0ee834b backups now occur in appdata/backups folder 5 years ago
Isaac Grynsztein 1b4f2830f5 changed logging in backend to support extra logging in debug mode 5 years ago
Isaac Grynsztein 720fceefb6 Fixed bug where subscription videos could not be downloaded from the player 5 years ago
Isaac Grynsztein 14bf2248cf Added UI support for sharing videos 5 years ago
Isaac Grynsztein 822aec4de8 added API endpoint to get file from database
video/audio files can now be retrieved by just uid, allowing for easy sharing

added API endpoints for sharing/unsharing a video (no UI support yet)
5 years ago
Isaac Grynsztein 69cd22d992 file deletions now remove the file from the db as well 5 years ago
Isaac Grynsztein 1905129201 getMp3s and getMp4s now have dedicated functions
downloaded files now get recorded in db.json. So when the server wants to get audio/video files, it doesn't need to recursively go through the respective folders each time
- getMp4s/getMp3s API request latency is reduced ~2x (130ms -> 60ms) in testing

Modified tomp3/tomp4 code to automatically add newly downloaded files to the db

Added a migration so users on 3.5 or below will get their files automatically added to the db on the first run

All these changes are necessary to enable easy sharing with features like timestamps
5 years ago
Isaac Grynsztein 7ef6c78612 merged new checkbox for bookmarklet: enables ability to set bookmarklet to audio only
fixed two bugs for audio only files: sometimes downloads failed as extensions were improperly removed and readded, removing a single character from the filename.

Fixed another extension-related bug where metadata from deleted audio files persisted
5 years ago
Isaac Grynsztein 3990e25c18 added logging to config api and subscriptions api, meaning the entire backend has the new logging system 5 years ago
Isaac Grynsztein 2f0bbca15c added better logging in app.js using winston 5 years ago
Isaac Grynsztein c36867d368 Added progress bar to file downloads
Added two new API calls, to update the server to a particular version and to get the updater status

You can now update through the UI, and a status dialog displays after
5 years ago
Isaac Grynsztein 89ececdbeb Dependencies now install during update 5 years ago
Isaac Grynsztein 37614a1611 Changed backend logging for server start to give more information (namely version) 5 years ago
Tzahi12345 82df232f03 Update process now properly gets required backend files 5 years ago
Tzahi12345 af4de44016 Further merge 5 years ago
Tzahi12345 61f27d6fe9 merged changes 5 years ago
Tzahi12345 b3dbdd1790 Cleaning working folder 5 years ago
Isaac Grynsztein 785306c59a Added debug statements 5 years ago
Tzahi12345 38774d8593 Updater now grab new backend files
youtube-dl auto updater now guesses binary path, which makes the update process work much more reliably
5 years ago
Isaac Grynsztein df11aca1e0 Added preliminary support for updating YoutubeDL-Material
Config items that are not found use and set the default value

Fixed potential error while updated youtube-dl binaries
5 years ago