-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Add support for using Invidious through a HTTP Proxy #4270
Conversation
Now that there's "proper" support for HTTP proxies, I suppose Invidious should also be removing its own proxy implementation at |
Won't that collide with the code in |
I think it might be helpful to add the http proxy for pulling in reddit comments as well, provided it s not alot more work on top of this. Reddit just recently IP banned alot of VPS IP ranges, so currently the easiest work around is to tunnel things either via TOR or cloudflare warp |
Reddit comments should already be fetched through the proxy in this PR |
Is this patch meant to also address the install step that says
? Edit: It might. At least this time the error is about npm, and I can probably figure out how to configure npm's proxy settings inside. |
The part that fetches the videojs dependencies is technically not a part of the main Invidious program so requests in that don't go through the configured proxy. |
Maybe we should? If one configure a proxy he expect all the requests to go through the proxy. |
This comment has been minimized.
This comment has been minimized.
Please use the edit button, don't triple post... Please don't go offtopic, create a separate issue for your npm discussion. |
I researched a bit more about how to best pass proxy settings to the build process and found that doing it securely (not revealing proxy hostname and credentials in the built image) is more complicated than I had hoped. So build-time proxy stuff should best be left for a 3rd-party project. @syeopite, I found a few more things that I'd prefer switched around in git history, and some whitespace that seems accidential. Please allow me to propose this alternative history for the same effect as your current PR. The last commit is just so you can easily verify that files in both branches are otherwise identical. If you like, feel free to hard-reset your branch to my proposal's 2nd commit. Does Crystal have an elegant way to use a common function to de-duplicate the |
Also fixes the build on nightly as the offending code was removed. Related to #4270 (comment)
Could you please rebase your changes? |
It seems like the upstream library no longer works on Crystal 1.12 |
@syeopite https://github.com/mamantoha/http_proxy/blob/master/CHANGELOG.md#0102 I think you might be able to update the library to a newer version for the crystal 1.12 support |
Oops! I didn't see the newest update 😅 |
Hello, I just tested this PR on my (was public, now blocked by YT) instance to check whether I can use it to bypass the IP-blockage. I found out that it works for the most part but there are problems with the amount of connections to the HTTP proxy server (used a simple privoxy) on a instance with many users, especially the pubsub feeds update caused problems and hasn't (yet) fully worked using this PR. I had to set privoxy to accept a ridiculously high amount of connections to even get the videos to load... I think we should wait until this implementation can correctly use a connection pooler. |
I'd say let's get this rolling for people whose proxy can accept insane amounts of connections, and upgrade to the pooling solution as soon as it becomes available. |
I was able to mitigate my problems by using some more proxies and putting a HAProxy as a load balancer and connection pooler in between. DASH is still somewhat unreliable but everything else works perfectly. |
I vote on merging this very awaited PR. Since the YouTube stream management will soon be dedicated to a separate app, the issue described in #4270 (comment) won't be an issue anymore. |
Please do. I have 4 patched instances that each have their own proton-privoxy. Playback works & stable for me (incl. dash) as long as you have sig_helper and some method to update po_tokens. No more problems for me 👍 Merge to master means less patching to get proxy support 👍 |
@Sommerwiesel @mooleshacat thanks for your feedback :) |
Thank you for this important contribution! |
Partially addresses #301
To use just set at least the host and port configuration here in the Invidious configs.