tubesync icon indicating copy to clipboard operation
tubesync copied to clipboard

Option to use a Proxy

Open 8465231 opened this issue 3 years ago • 8 comments

I really like tubesync so far, still testing it out but noticed it is missing a super important feature for me, I need to be able to use a proxy.

This is a feature built into yt-dlp, it simply needs a way to add in a proxy to send to it.

From yt-dlp:

`Network Options:

--proxy URL Use the specified HTTP/HTTPS/SOCKS proxy. To enable SOCKS proxy, specify a proper scheme. For example socks5://user:[email protected]:1080/. Pass in an empty string (--proxy "") for direct connection --socket-timeout SECONDS Time to wait before giving up, in seconds --source-address IP Client-side IP address to bind to -4, --force-ipv4 Make all connections via IPv4 -6, --force-ipv6 Make all connections via IPv6 `

Ideally it could be a list of proxies that it rotates through for each new task. This is how tartube works and it is really nice.

Sadly can't do a lot with this program without the proxy. Looks very promising though. Good work so far!

8465231 avatar Feb 04 '22 15:02 8465231

The reason this hasn't been added so far was it caused a significant number of task failures and retries to the point where many tasks completely failed. I'll test it again though and see if it's feasible.

meeb avatar Feb 06 '22 12:02 meeb

Interesting, sure it wasn't the proxy side that was causing the failures?

In tartube I never really had an issue with failures but it might work a little different.

8465231 avatar Feb 06 '22 12:02 8465231

It was due to any "task didn't complete" error being treated as a failure and YouTube being quite good at blocking proxies. This worked OK when you used your own private proxy set up somewhere, but regularly failed multiple tasks permanently if using something like a proxy hosted by a VPN provider. Ideally, this probably needs some sort of initial "test" for proxies before using them to make sure they're functional before trying to process a batch of tasks through them. I can certainly see the point though so I'll look into it again.

meeb avatar Feb 07 '22 02:02 meeb

Ok, makes sense, that is why I liked the tartube method of multiple proxies and scrolling through them for each task.

I do have private proxies setup along with a few VPN connections on my server that it would scroll through. The benefit being that if something got throttled it would not effect my main IP.

By having ~4-6 different connections setup and scrolling through them I rarely had an issue with throttling. Important when I am watching ~100+ channels and growing, although most are only checked on a weekly basis.

Could add the feature as a beta/test feature with a warning and enable logging of any errors from it and people like me can report how it works?

8465231 avatar Feb 07 '22 13:02 8465231

Just wanted to say thanks for this awesome tool, and voice support for this idea. I'd love to route my downloads through a proxy also.

I don't know enough about how yt-dlp is being accessed, but maybe just an environmental variable that allowed a end user to pass additional flags to yt-dlp at their own risk? Maybe it wouldn't work, just an idea. Thanks again for the great tool!

Mist-Hunter avatar Apr 26 '23 21:04 Mist-Hunter

tubesync doesn't call yt-dlp on the command line, it uses the embedded Python API so you can't just stuff in flags. You can edit the default yt-dlp arguments though in settings.py if you like.

meeb avatar Apr 27 '23 02:04 meeb

Great tip, thanks! I'll look there :)

Mist-Hunter avatar Apr 27 '23 02:04 Mist-Hunter