Help You Got It (golang dependencies)
Gotit is a Golang package cache proxy, proudly powered by betproxy.
Just change the proxy settings of your package management tool to Gotit, and Gotit will automatically pull, cache and update all dependencies for you.
- Faster Pulling is very fast when hitting the cache.
- Reliable Gotit can continue working on the cache after disconnecting or deleting the origin repository.
- Transparency In theory, Gotit can work with all Go package management tools. (needs to skip HTTPS certificate verification)
Make sure the git
and go
executable is on your PATH
variable.
go get github.com/faceair/gotit
Run Gotit on port 8080
$GOPATH/bin/gotit -port 8080
Run gotit
directly see help for other commands. Gotit use system GOPATH
to save dependencies by default.
dep don't support skip HTTPS certificate verification, we need patch dep. You can build it yourself in this fork repository or download modified binary files.
Then set HTTPS_PROXY to Gotit address
HTTPS_PROXY=http://127.0.0.1:8080 dep ensure -v
or
export HTTPS_PROXY=http://127.0.0.1:8080
dep ensure -v
glide also need a patch, download binary directly.
HTTPS_PROXY=http://127.0.0.1:8080 glide install
HTTPS_PROXY=http://127.0.0.1:8080 GIT_SSL_NO_VERIFY=true go get -v -insecure github.com/faceair/gotit
TODO
- When does Gotit update the repository?
After the client pulls the code, Gotit checks the repository for updates. So if you do not update to the latest version at a time, you can wait and try again.
- What is the difference between Gotit and the forward proxy with cache?
Pull code in git http protocol is a post request, it cannot be cached.