-
Notifications
You must be signed in to change notification settings - Fork 32.8k
Extension proxy support #12588
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
Comments
-1 for adding this for to the API but +1 for extracting our code into a node-module. @joaomoreno how feasible is that? how much code do we add on top of other node-modules? |
It's thin. |
I leaving it with you then ;-) |
A node package sounds like a cool solution. Let me know when it's ready so I can test it and provide feedback. |
We're going with a different proxy solution in the future, skipping this. |
Do you have any details about that future solution? |
Actually, I might've closed this too eagerly. We're going with using Chrome's network stack for everything. So you're a bit busted. The only way out is exposing an API for making network requests. I'll leave this open for that. |
@joaomoreno any news from April ? This is insane and quite critical |
Do i need to ping more contributor to VsCode in order to get more feedback on it ? |
This comment was marked as spam.
This comment was marked as spam.
This is where is leads you when searching for Azure Tools extension proxy issue, an issue that's open for 7 years?!? I cannot login to Azure Tools VS Code extension behind proxy. Tried all suggestions including launching with --ignore-certificate-errors. Log shows 502 error, so seems like it's some SSL negotiation issue and it's ignoring this setting. |
This is also where I ended up while researching why the official SQL Server extension was failing to download the latest SQL Tools service layer package:
I've been running into similar issues with other extensions that try to download additional payloads once they're installed. They all fail if I'm behind a proxy. I've blanket whitelisted the URL's (which are mostly to github.com) and also bypassed all SSL decryption, but there is still some SSL/TLS cert negotiation issue at hand. Unfortunately it's stopping us (and I'm sure many others) from trying out other things like Copilot for VScode since it's the same problem. |
@chrmarti Can we have an update on where we stand on this? An issue eight years old and so many people waiting should be high priority. |
@merlinz01 Work is under way to make Chromium's implementation of If you think your setup should already work with the |
@chrmarti Is there a GH issue outlining the Chromium |
@bmingles We discovered that Chromium's ![]() Our work for making Chromium/Electron's ![]() |
Also: The patched For remote connections the upcoming VS Code 1.97 (and current VS Code Insiders) adds a remote user setting to control whether or not the remote extensions should use the same proxy configuration as the local extensions. |
This comment has been minimized.
This comment has been minimized.
Thanks @chrmarti, Any chance these changes will make it possible for extensions to use the OS trust store instead of requiring |
@merlinz01 Could you try with Electron Fetch turned off: @bmingles You can add the certificate to the OS trusted root certificates, these should all be picked up. (Restart VS Code after changing the OS trust store.) |
@chrmarti I tried turning off the Electron Fetch and restarting VSCode, but it gives the same error. |
@chrmarti I still need to do some more testing, but looks like the
Thanks!! Out of curiosity, is |
DH-18191: Better documentation of trusting SSL certs NodeJS doesn't use the OS cert store to determine which signing certificates it trusts. Instead, it has a static list of trusted certs included in the install. For certificates not in this list, there is a `NODE_EXTRA_CA_CERTS` environment variable that can be set to tell NodeJS about additional certs to trust. This PR updates the docs with instructions of how to set this. > Note there is some indication that extensions may eventually allow using Chrome's `fetch`. If / when that happens, it might be possible to use that for Deephaven extension instead of our current grpc transport implementation that uses `node:http2` module. This could allow extensions to use the OS cert store instead of this env variable. microsoft/vscode#12588 (comment)
@merlinz01 Could you open a new issue for us to investigate? @bmingles It is not documented beyond the settings itself. We have paused our effort to make it ready to become the default because we have found a way to add proxy support to Node.js' |
Proxy support for Visual Studio Code has been introduced recently through environment variables/settings (see https://code.visualstudio.com/docs/setup/setup-overview#_proxy-server-support). As an extension developer I would like to use these settings when requesting resources from the internet. My current implementation fails for users using a proxy.
What is the recommended way for an extension to use a proxy?
I could not find a
vscode
API that exposes methods to make requests using a proxy other than access to the proxy settings (workspace.getConfiguration()
) and implementing everything on my own. Looking at the Visual Studio Code code base I identified the code that adds support for proxies, but copy&paste it into my extension would result in duplicated and potentially outdated code, which is something I want to avoid whenever possible. As I am probably not the only extension developer accessing the internet, I would like to hear your opinion on this issue. Any feedback would be greatly appreciated.The text was updated successfully, but these errors were encountered: