ytsm
ytsm copied to clipboard
Help wanted
With 2 small children, it's really hard for me to find time to work on other projects, and it appears I'm the only developer left. I would like not to let this project die, and I need your help!
Happy to help, anything in particular you want doing?
Thank you for your offer, you can look into the opened issues.
However, due to various reasons and limitations I encountered, I decided to work on a complete replacement for ytsm that takes it to a new level, so I will do no further development on ytsm. The replacement project is called Regard and is written in Blazor and Asp.Net Core. I think it would be best to continue any further development there.
Wait so you don't have time to maintain a django project and therefore you rewrite it in microsoft stuff? You're decision, but I think that is a loss. I'd rather put my own youtube-dl script together then install a bunch of microsoft things on my server.
I'll probably never understand why the whole warez/media download scene is written is .net and the like..
Here's my solution btw:
#!/bin/sh
channels=("MxRPlays"
"ColdFusion"
"GardinerBryant"
"TheHoonigans")
IFS=""
for channel in ${channels[*]}; do
echo ">>> Downloading $channel"
mkdir -p $channel
cd $channel
yt-dlp --dateafter now-1day --sponsorblock-mark all --sponsorblock-remove sponsor https://www.youtube.com/c/${channel}
cd ..
done
Run it via cron/systemd-timer daily and you're done.
To make it clear why I decided to migrate:
- Django lacks integration with any of the modern frontend frameworks. You have to basically do all the integration manually.
- When trying to setup django for use as a REST backend, I encountered numerous issues with the available django + REST frameworks, the biggest of which is JWT authentication which isn't that great. I would prefer to use a more mature framework for something as critical as that. After some testing, I realized that it would be much easier to use ASP.NET core as a backend than try to make Django work like that.
- I would like to add websocket support, to make the communication between frontend and backend more efficient. Django doesn't have built-in support for that, and the best option is the "Channels" library. Unfortunately, when I wanted to test it, the pypi package for "channels" was broken, some of the native parts wouldn't compile on any of my systems.
Some of the features I want to add are:
- the ability to work better with youtube-dl forks,
- to automate managing and updating youtube-dl,
- decoupling from the YouTube API and being able to function without it
This project is put together in a pretty hackish way, so adding these would mean major rewrites of large parts of the project. Together with the frontend stuff, I think the best course of action is to rewrite it, and do it properly. The only reason I chose .NET is because it has a very good infrastructure for what I want to build, and I can use C# for the frontend (I'm not a fan of React/Vue and other javascript frameworks).
Wait so you don't have time to maintain a django project and therefore you rewrite it in microsoft stuff?
What I meant is I don't have time to work on both at the same time... so I only chose one.
install a bunch of microsoft things on my server.
So you're fine with installing a bunch of Python things instead?
Here's my solution btw:
Then why are you complaining about this free software, and not doing that? After all, nothing is stopping you from releasing a competitor to ytsml/sonarr/radarr/etc
To make it clear why I decided to migrate
imho, all of these are good reasons to migrate. I've added the decoupling to my fork but it wasn't easy, and will likely rewrite it in C# as well.
Sorry, I might got a bit carried away there. Wasn't in the best mood. You're right. This is open source. Who am I to force any decisions on you. Do whatever you think is right and if people find it useful that's even better. If you like the MS ecosystem I won't and shouldn't stop you from using it. I just don't like it but that's all down to personal preference I guess. I hope your new project is a big success. The screenshots of the frontend look really cool.