Commit Graph

336 Commits (d5f7686282d4aa2adee032601f325fce07fccb95)

Author SHA1 Message Date
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
Isaac Grynsztein ca3a42c075 Changed location of archive path to appdata/archives. If the folder doesn't exist, it gets auto-generated. In the future this path will be configurable 5 years ago
Isaac Grynsztein 47a1173a80 Updated app.js to remove error when not run from backend directory 5 years ago
Isaac Grynsztein 0d756c4c97 If no config exists, one will be auto generated from the default 5 years ago
Isaac Grynsztein d4664bad45 Additional fix for bug that caused server to crash when failing to update youtube-dl 5 years ago
Isaac Grynsztein 03e3eb9a81 Fixed bug where failed youtube-dl updates crashed the server (it should just continue uninterrupted) 5 years ago
Isaac Grynsztein 7d9ad0fce1 removed debug logging 5 years ago
Isaac Grynsztein b3b2175c67 added debug messages to debug heroku 5 years ago
Isaac Grynsztein d8ea848e26 Attempted to fix heroku server port 5 years ago
Isaac Grynsztein fb5054a1d7 when using heroku, port is auto set as heroku's port 5 years ago
Isaac Grynsztein 25dc8d137a Fixed heroku port 5 years ago
Isaac Grynsztein 3a6d0f38d7 updated procfile and made server heroku compatible 5 years ago
Isaac Grynsztein 4aaaddac92 Merge branch 'master' of https://github.com/Tzahi12345/YoutubeDL-Material into settings-pin 5 years ago
Isaac Grynsztein ce2f294a3d Removed potential race condition with youtube-dl archives in main downloader
Fixed bug where downloaded subscriptions' zip files would include erroneous folders for their videos
5 years ago
Isaac Grynsztein 57e3f1b2ac removed frivolous logging 5 years ago
Tzahi12345 4b67527bd5
Merge branch 'master' into id3-tagging 5 years ago
Isaac Grynsztein 2e71a0bef1 fixed bug that caused youtube downloader update to fail when the binary was being used to check for new subscription videos. now it waits for file access with a 10 second timeout 5 years ago
Isaac Grynsztein 1f9f07ac56 youtube-dl now auto updates on server restart 5 years ago
Isaac Grynsztein bdb6a08274 Added ability to download subscription videos as zip 5 years ago
Isaac Grynsztein b2730926c8 Updated translation details to improve clarity
Added upload date property to files in UI

Subscription videos can now be filtered by some of their properties (size, upload date, name, duration)

Subscription videos are now centered
5 years ago
Isaac Grynsztein 1a79b489ab Added video info dialog
File cards and subscription file cards now use video info dialog so that users can see info on each individual video

Ellipsis are now added client-side to video titles in file cards
5 years ago
Isaac Grynsztein ff2f5c89da Changed location of db and config to one unified directory, 'appdata'
Archive files now get generated if nonexistent during deletions

Simplified docker-compose.yml to not require environment variables. Added volume for appdata folder which will be automatically shipped with docker builds
5 years ago
Isaac Grynsztein da399601e1 Added ability to select any supported custom downloader 5 years ago
Isaac Grynsztein 190d1567ca youtube-dl archive can now be used for regular downloads. a new blacklist system exists which subscriptions will shortly follow
Added new setting whether to use youtubedl archive
5 years ago
WScottN 25b65b08d5
Fix for custom video folder path
This fixes an issue with video playback when using a different video path setting than the default "video/" .  Using the videoFolderPath variable rather than "video/" string.
5 years ago
Isaac Grynsztein 91f6dbcb5b added ability to set pin for settings. pin is md5'd by the backend 5 years ago
Isaac Grynsztein d9edb40cd5 Added basic id3 tagging functionality and simplified mp3 downloading logic 5 years ago
Isaac Grynsztein 25307dc46b fixed bug where downloaded audio files did not properly get converted to mp3s 5 years ago
Isaac Grynsztein 9d1aaf95ed Refactored subscribing process to remove bugs in the old system
images are now deleted from subscription videos when unsubscribing
5 years ago
Isaac Grynsztein bb925ac0c8 fixed bug where video titles were used instead of IDs for the player component
fixed bug that caused a crash when no subscriptions existed
5 years ago
Isaac Grynsztein 946abd2e92 implemented global custom args functionality
fixed bad logic in settings
5 years ago
Isaac Grynsztein 846dd7e250 Added the ability to download (export) archives from subscriptions 5 years ago
Isaac Grynsztein 881a103051 Added duration of video in subscription file card along with implementations of deleting subscribed videos. Subscribed videos now get reloaded after deletion
sidenav now closes when navigating

Updated subscription info to include more info
5 years ago
Tzahi12345 ccfe7901c9
Merge branch 'master' into subscribe_to_channel_and_playlist 5 years ago
Isaac Grynsztein ae605d5f70 Added ability to set config from settings
theme slide toggle is now in top right menu
5 years ago
Isaac Grynsztein f5073b83ed subscriptions without names will not have files retrieved any longer 5 years ago
Isaac Grynsztein a70abb3945 added basic subscriptions support for playlists and channels
update youtube-dl binary on windows

updated favicon to the new icon
5 years ago
Isaac Grynsztein a755b0b281 fixed bug that prevented custom quality path from working 5 years ago
Isaac Grynsztein 62a000b631 fixed bug where custom paths failed to stream 5 years ago
Tzahi12345 a8d2e1d890
Merge pull request #12 from Tzahi12345/serve-nodejs
Serve frontend app through nodejs
5 years ago
Isaac Grynsztein f29a29bf2f fixed bug that prevented custom args from working 5 years ago
Isaac Grynsztein a46f9c37c6 fixed bug where old config item was fetched 5 years ago
Isaac Grynsztein 71d7c30032 updated backend to support youtube auth
frontend now support youtube auth as well
5 years ago
Isaac Grynsztein 5e331b9ffa config settings now just have url and port
fixed bug where multi download mode would not allow file card link clicking
5 years ago
Isaac Grynsztein 09bdae90e2 refactored code so node.js serves the angular app, and all the backend routes are prepended with /api/
nodejs now compressed requests
5 years ago
Isaac Grynsztein 181a9f842c fixed bug where downloading files failed if the name had to be encoded 5 years ago
Isaac Grynsztein b79d801c0f Added support for custom arguments and custom output patch 5 years ago
Isaac Grynsztein c930ee94c5 added docker support
reworked backend to allow for containerization. config items can now be overwritten by environment vars

fixed bug during building

updated youtube-dl version in backend
5 years ago
Isaac Grynsztein 8629e6ae9e make it better 5 years ago
Isaac Grynsztein 414b6a26d9 backend playlist updating endpoint implemented
tomp3/tomp4 errors are now logged
5 years ago
Isaac Grynsztein 23feb05fab downloading agent is now the default of youtube-dl by default instead of aria2c. testing showed it performed better over multipled trials
added a setting to use aria2c optionally

added debug timing to getURLInfos
5 years ago
Isaac Grynsztein d245904c0d added the ability to save playlists
added local db system (lowdb)

playlists are now downloaded as a zip from the streaming menu
5 years ago
Isaac Grynsztein 1e4995c5ce Fixed catch statements not having arguments on backend
Fixed backend location url not working when not in root dir on web server
5 years ago
Isaac Grynsztein 710e3613a8 removed debug statements 5 years ago
Isaac Grynsztein f673b325fd Added custom quality options to PostsService and the ability to do a URL info grab from the server
Video and audio streams now save the stream object in a "descriptors" variable which will give the server the ability to close them when the file needs to be deleted.
- without this, windows systems don't play nice with nodejs function fs.unlinkSync. A weird, but necessary workaround

deleting files is now done asynchronously, and success is now determined by whether they exist afterwards or not

Added backend function to get info for URLs

Modified tomp3 and tomp4 endpoint to support custom quality settings.
5 years ago
Isaac Grynsztein d595de5786 added functions to get info on a downloaded (or downloading) file
bug fixed where videos with quotations would not properly stream
5 years ago
Isaac Grynsztein af595d3df8 Added debug mode to server and relevant debug configurations
simplified youtubedl download process to speed up the download

queryurl not printed any longer by youtube search service
5 years ago
Isaac Grynsztein 35bdd1deeb fixed file name paths on backend. backend also now tells frontend when the url provided is a playlist
frontend now does not get the file status and simply waits for the server to respond with the file

added methods to download audio/video files to simplify downloadHelperMp3/Mp4
5 years ago
Isaac Grynsztein 73b9c61080 renamed variable in backend
deleteaudiofile/deletevideofile functions now made for reusability

downloaded videos now use the title as the file name. this requires longer download times as 2 calls are created

created a deletefile http call in backend, however it is currently not being used
5 years ago
Isaac Grynsztein ba5592015d added download only mode that simply downloads files to the client when the server finishes the download
added dependency on savefile library for download-only mode
5 years ago
Isaac Grynsztein f98ba00551 fixed bug preventing app being used outside root url 5 years ago
Isaac Grynsztein 9ebb684d5c Updated backend to reflect frontend changes 5 years ago
Isaac Grynsztein 8e445bb80d Made repository changes 5 years ago
Isaac Grynsztein 1cdd4d0e15 Added support for modifying downloaded files 7 years ago
Isaac Grynsztein 43399be0e5 Fixed a bug and increased compatibility 7 years ago
Isaac Grynsztein 2a80ea92cc Updated favicon, added progress bar functionality 7 years ago
Isaac Grynsztein 917235189a Working with encryption! 7 years ago
Isaac Grynsztein 162425b702 should now work across multiple devices 7 years ago
Isaac Grynsztein 1eaf897be0 first! 7 years ago