-
-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ability to select a proxy #485
Comments
Parabolic doesn't call yt-dlp via CLI but instead actually generates and calls Python code using the yt-dlp python API, so we wouldn't be able to have a "pass additional flags"....but we can certainly implement proxy settings as an individual preference |
That was indeed by concern here, oh well. |
@nlogozzo Could you please re-confirm that this is working? And if it does work how did you test it? I am not only unable to get this to work, but also getting behavior I am not exactly expecting! Setting the proxy preference to any URL (that is not a real proxy server) would still let the app operate just fine (which is confusing if it was really using the proxy). I tried accessing blocked websites (in my region) using a general HTTP proxy (with the value Here is the troubleshooting report:
|
Also I have some concerns relating #491, does the request that gets sent to check for internet connection use the set proxy? It should if it currently does not, as in some specific applications, it can be that the internet access is only possible through that proxy. For example, when using non-root WiFi relays on an Android system. |
By default the app asks NetworkManager for network status without sending any requests itself. Only if this fails (for example, if running on a system without NetworkManager), then it resorts to pinging multiple reliable addresses to detect whether there's full internet connection. |
Right, that time when NetworkManager reports a failure, but a proxy is set up in the app's preference, is what I am talking about here. |
Oh I see what you actually meant with "fails". Hmm, not much can be done here I guess as it would complicate this quite a bit. For example browsers can re-route their DNS queries over the HTTP proxy (when DNS-over-HTTPS is used), I don't think that is really feasible here sadly. |
Fix proxy not working (#485 (comment))
Sorry my fault!! Should be fixed with this release: https://github.com/NickvisionApps/Parabolic/releases/tag/2023.8.0-rc2 |
Well if you have a proxy set up on your system (via GNOME Control Panel or whatever), that's what NetworkManager will use to test your connection. Basically, if you can access the internet on your system (one way or another), then NetworkManager can detect the connection. If NetworkManager "fails", which is only likely on a non-linux system where there is no NetworkManager, then that list that @fsobolev shared of URLs will be pinged to test connection. |
No worries! happens to the best of us. Won't be able to test it within an hour, may reply again later this day to confirm. Although it looks good code wise so no need for that confirmation. |
Yeah I forget to actually set the url to the provided string and just left it But no rush, whenever you get a chance :) |
Hm, something is not quite right. Still observing the same behavior on |
Just tried 2023.8.0-rc2. I don't have a sample video that I could only download only with proxy and also I don't know a proxy that would work for sure, so I tried to download random youtube video using random free proxy. With multiple proxies that I tried I didn't manage to download video, was getting errors (mostly timed out error), but as soon as I disabled proxy it downloaded as usual, so the setting seems to work. At least for downloading videos, but not for validating URLs, this should be fixed. |
As Fyodor said, the validation wasn't accepting the proxy hence why it wasn't working (i don't know how we missed all this 😆) Should be all good now in the new update: https://github.com/NickvisionApps/Parabolic/releases/tag/2023.8.0-rc3 |
Oh yep, that looks like it, I should have specified this was on validation specifically. This is now behaving as I would expect. Thank you, and keep the good work up! |
Glad it's working!! Stable release planned for Friday :) |
Parabolic doesn't look at GNOME's proxy settings so that's expected. Does |
Yes, it is a somewhat established behavior: if an app can accept a proxy, it should check the environment variables for one. This is also how I was able to get Parabolic to use a proxy before it supported that, setting an environment variables for the parent process will let yt-dlp recognize that and use it (It is actually the underlying Python library if I am not mistaken). The way GNOME's Setting works is that when you set an HTTP(s) proxy, an environment variables ( I assume this is not working because Flatpak isolates the system's environment variables from those of the app, you will need someway of letting Flatpak pass those environment variables if they are set.. or just ignore this all together perhaps. |
yt-dlp through its
--proxy
CLI option can accept a variety of protocols for proxying the connection. While it is possible to set the proxy from GNOME settings (and expect it would work, although frankly onlyhttps_proxy
worked from me testing this app), this is sadly not the case for isolated environments such as Flatpak.For those you will have to set the environment variable (
https_proxy
/all_proxy
) manually when launching the app from CLI.An option in the app settings to set a proxy should make this easier.
Perhaps, it could be interesting to see something like "Pass additional flags to yt-dlp" option, although not sure how possible is this.
The text was updated successfully, but these errors were encountered: