There are a handful of odd, edge-case proxy configurations that can be specified in the CLI that aren't yet supported in libgit2. Here's a list of those and I'll expand on each:
Unsetting with git config
In your git config, you can set http.proxy to empty to specify that that configuration should not use a proxy.
Doing this causes libgit to throw an invalid url exception right now.
NO_PROXY
Setting the NO_PROXY environment variable allows the user to specify a comma-separated list of domain expressions for which a proxy should NOT be used. There are a lot of nuances for what a domain expression refers to and it might be overkill to support every possible variation of what it could be (unless there's a package that can handle them nicely).
"192.168.1.1" # Matches exactly the given IP
"192.168.1.1:8080" # Matches exactly the given IP and port
"example.com" # Matches exactly the domain example.com
"*.example.com" # Matches every machine in the example.com domain
".example.com" # Identical to the above
"foo.example.com" # Matches exactly the foo.example.com machine
"localhost"
Per-url proxy configuration
This one's kind of a toughie. You can configure a specific setting per-url under the http.* variable domain.
[http]
proxy = proxyA.com
[http "https://MyInternalDomain.com"]
proxy =
It would enable us to support something like this, which basically uses proxyA.com for all traffic, except any traffic that goes through https://MyInternalDomain.com, which will use no proxy (or whatever proxy you choose to configure for it).
There are a handful of odd, edge-case proxy configurations that can be specified in the CLI that aren't yet supported in libgit2. Here's a list of those and I'll expand on each:
Unsetting with git config
In your git config, you can set http.proxy to empty to specify that that configuration should not use a proxy.
[http] proxy =Doing this causes libgit to throw an invalid url exception right now.
NO_PROXY
Setting the NO_PROXY environment variable allows the user to specify a comma-separated list of domain expressions for which a proxy should NOT be used. There are a lot of nuances for what a domain expression refers to and it might be overkill to support every possible variation of what it could be (unless there's a package that can handle them nicely).
"192.168.1.1" # Matches exactly the given IP "192.168.1.1:8080" # Matches exactly the given IP and port "example.com" # Matches exactly the domain example.com "*.example.com" # Matches every machine in the example.com domain ".example.com" # Identical to the above "foo.example.com" # Matches exactly the foo.example.com machine "localhost"Per-url proxy configuration
This one's kind of a toughie. You can configure a specific setting per-url under the http.* variable domain.
[http] proxy = proxyA.com [http "https://MyInternalDomain.com"] proxy =It would enable us to support something like this, which basically uses proxyA.com for all traffic, except any traffic that goes through https://MyInternalDomain.com, which will use no proxy (or whatever proxy you choose to configure for it).