Skip to content

Conversation

@Locietta
Copy link

@Locietta Locietta commented Jan 7, 2026

Resolve #133.

Adds SOCKS5 proxy support (socks5:// and socks5h://) by switching to the git2-curl backend for git2, following the solution established by Cargo to work around git2's proxy limitations (See rust-lang/cargo#636).

This approach replaces git2's default HTTP transport with libcurl, which properly handles SOCKS5 proxies. And also as a side effect, sheldon now respects http_proxy, https_proxy and all_proxy env vars. Previously, it will just ignore proxy if there's no proxy setting in .gitconfig

git2_curl seems only automatically get the proxy url from http_proxy/https_proxy environment variables

add a manual url fetch from the config file
git2_curl exposes more specific error message than vanilla git2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support SOCKS5 proxies

1 participant