Commit Graph

321 Commits (8366089444066c399c435f33d849e309f882a5a6)

Author SHA1 Message Date
Tzahi12345 8277c95c4e Updated youtube-dl binary for windows 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 661b96cfe5 Fixed bug that prevented default config items to be set 5 years ago
Tzahi12345 2eef1b062c Updated frontend binaries 5 years ago
Sandro Jäckel ae76e9db8d
Install dependencies first, remove duplicated workdir 5 years ago
Sandro Jäckel d763f88ceb
Remove comments 5 years ago
Sandro Jäckel a8b188cd22
Don't create cache with apk, use cdn network 5 years ago
Sandro Jäckel 1034aa1980
Don't copy Docker related files into image 5 years ago
Tzahi12345 da26d88ba9 Updated frontend binaries 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 2d66d653f6 Updated frontend files to reflect commits since v3.6 5 years ago
Tzahi12345 03ea04f8d8 Fixed missing double ampersand 5 years ago
Tzahi12345 8fbb1c9bbd Fixed repo for atomicparsley on docker/alpine 5 years ago
Tzahi12345 c67d6ea89a Added atomicparsley as a dependency to Docker, and listed it as an optional dependency for normal installs 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
Tzahi12345 ff51a49d1b Removed unused import 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 cb6451ef96 Added new settings: multi user mode and users base path 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 a78ccefc83 Updated package.json 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 4617362270 New default youtube-dl.exe binary
Updated public dir in backend
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 e4851253dd Docker now ignores executable files 5 years ago
Isaac Grynsztein 87696f71f8 Added subscription folders to repo
Added .dockerignore to ignore node_modules

Removed unnecessary whitespace from docker-compose.yml
5 years ago
Isaac Grynsztein 90c2d3f70b Moved docker files to backend 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 d9f6b8c64c Simplified archive creation for subscriptions to reduce risk of error
If no subscriptions have ever been made, "No channel/playlist subscriptions" text will now show
5 years ago
Isaac Grynsztein 10b59191f6 Updated public directory 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 2082a78846 Updated version number 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 a5224f80a8 nodemon now runs silently 5 years ago
Isaac Grynsztein 37614a1611 Changed backend logging for server start to give more information (namely version) 5 years ago
Isaac Grynsztein b71bdfcec2 Updated nodemon package.json config 5 years ago
Isaac Grynsztein 1b09bf4881 nodemon now supported 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 bcff631936 Updated translations and 'backend/public' folder 5 years ago
Isaac Grynsztein 347df89aa7 Updated default title_top value in config 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 d0221f2233 Updated gitignore and public dir 5 years ago
Isaac Grynsztein b4dc655f2f Re-added contents of public directory to repo 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 c003b02153 updated gitignores 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 1d6fddf386 removed package-lock 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 6f3e94cf24 hamburger menu button now avoids focus and has no outline
theme change behavior slightly modified to improve accessibility

added hammerjs

settings menu now has minimum width, updated colors, and additional hints
5 years ago
Isaac Grynsztein 480ed7d000 added new custom args setting 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 41bfc80c4e fixed bug in retrieving videos for subscription when name was not present 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 1ffe61f01f removed path-base and updated docker-compose.yml & README 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 bcd879ebc8 added multiple download support
lazy loaded images now reload after a new download
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 5db3e06a81 make it better 5 years ago
Isaac Grynsztein a7f5cc01d3 update youtube-dl binary 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 393ed5a210 added skeleton code for future electron.js support
added font swap to google font call

simplified polyfills

updated backend package.json info
5 years ago
Isaac Grynsztein c58f8a4058 added theming support with 3 themes (only 2 selectable for now)
switched from css to scss default style system

cleaned up unused code in app component

upated youtube search results styling

downloading video from home screen now shows local progress bar under that video
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 81377a2b38 added youtube search functionality in frontend 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 a1ec53edb9 preparing config for youtube search feature 5 years ago
Isaac Grynsztein aa130d3fc9 updated youtube-dl version for nodejs 5 years ago
Isaac Grynsztein 0f0bf3a401 updated youtube-dl.exe binary for windows 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 77dd96b3b9 added download_only_mode to encryption configuration
reloading of mp3s/mp4s only happens if file manager is enabled
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 abaa799628 quick dependency fix 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 91713f1140 Migrated to angular 8
Created dev configuration
5 years ago
Isaac Grynsztein 8e445bb80d Made repository changes 5 years ago
Isaac Grynsztein 4be6f341da Updated configuration 7 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 7fcf2256ac .gitignore is now working 7 years ago
Isaac Grynsztein 1eaf897be0 first! 7 years ago