I received two helpful links from unixfox (invidious maintainer) with one regarding bypassing Youtube blocks (https://docs.invidious.io/ipv6-rotator/). This instance has now been succesfully configured to use IPv6 in Docker (and watching Youtube videos over IPv6 works now! Yay!! It didn't previously...).
The IPv6 address is changed every 12 hours to avoid a block from Youtube/Google. This instance has access to 18,446,744,073,709,551,616 IPv6 addresses (specifically /64 block). I also changed the server to a better one (it can burst now up to 2.5 Gbps).
The most important part is that, you can watch 1080p or higher videos now if you have an account on this instance! Google also doesn't get your IP address.
PS. For a little moment there was https://proxied.invidious.fi (with an unblocked IPv4 and DASH enabled), it was meant to be a temporary solution to this problem. This server will now be shut down. About 1 TiB of data flowed through it.
As I am writing this article, logged in users haven't been able to watch videos for couple of days with DASH enabled.
On Invidious you often don't have the same quality options as on YouTube. This is because the audio and video streams are separated and Invidious currently can't sync them together.
DASH is a streaming technique used by YouTube to provide resolutions higher than 720p by providing multiple files for a client to use depending on network and user preferences.
You can enable DASH by selecting the appropriately named video quality in the settings or by appending &quality=dash to the end of a video's URL. With this option enabled, the stream is proxied through Invidious for you to then watch at a higher or automatic quality.
DASH allowed users to bypass geoblocking and watch higher quality than 720p. DASH would also hide the user completely from Youtube. Even the video would be loaded through the invidious server.
Previously Google had blocked this server just one or two times in three months, but now we have been blocked two times in the past two weeks. First blockage was avoided by buying a new IPv4 but after just a few days, it stopped working. Google had blocked it also. Buying new IPv4 addressess is just too pricey.
The instance could use a big IPv6 subnet to load videos from Youtube, but here comes my problem. I couldn't configure Docker and IPv6 to work correctly together. I got to a point where Docker containers would get an IPv6 address but they would still be blocked from Youtube. At that point debugging became very hard.
I think that the most important thing for this service is to keep running, even if this would mean dropping DASH/proxy support. I can consider implementing some sort of solution to this later, but be prepared that for the next months this instance won't offer video proxying. This also greatly reduces network load (the instance was multiple times using the whole 1 Gbps port and service started struggling due to that).
I decided to improve the donation counter and report exactly where the money has went every month. I hope that this would build up trust (that I am not buying new cars with the money) and be interesting for boring Sundays.
Additional IP 8€ (for evading the Google blocks)
Mullvad 10€ (tested using this to evade Google blocks but there were problems with accessing YouTube)
The IP didn't last long. Just a couple days until Google blocked it again. I will either try to setup a big IPv6 subnet or a VPN (client –> invidious –> VPN –> Youtube).