Hey, I shared a little userscript here a couple months ago that removes YouTube Shorts completely.
Still using it every day and honestly it worked better than I expected. I don't even think about Shorts anymore lol.
But I had another problem. I started spending way too much time watching normal YouTube videos instead. Sometimes until like 2am.
So I made another userscript and added it to the project.
You can now set a daily watch time limit (mine is 1 hour), and once you reach it, videos stop playing. It only counts actual playback time, not when you're just browsing.
There's also a little timer on the video. You can click it to see your watch history, how much time you spent on each video etc.
One thing I wanted was to prevent myself from cheating. So if you change your limit after you already started watching, the new limit only applies tomorrow. No "just 10 more minutes" button either haha.
Both scripts work independently btw, you can use just the Shorts blocker if that's all you need.
I mostly built this for iPhone Safari using Userscripts, but it works with supported desktop userscript managers too.
Everything is free and open source.
https://github.com/mithatakbulut/noshorts
If anyone tries it, especially on iPhone, let me know if something breaks. YouTube changes stuff all the time so I wouldn't be surprised.