All Projects → faceair → Gotit

faceair / Gotit

Licence: apache-2.0
Help You Got It (golang dependencies)

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Gotit

Athens
A Go module datastore and proxy
Stars: ✭ 3,736 (+19563.16%)
Mutual labels:  proxy, package-manager
Macports Ports
The MacPorts ports tree
Stars: ✭ 891 (+4589.47%)
Mutual labels:  package-manager
Clashy
A GUI proxy client for Windows / Mac / Ubuntu Desktop based on Clash and Electron. Windows / Mac / Ubuntu 适用的Clash客户端.
Stars: ✭ 775 (+3978.95%)
Mutual labels:  proxy
Simple Java Mail
Simple API, Complex Emails (JavaMail smtp wrapper)
Stars: ✭ 821 (+4221.05%)
Mutual labels:  proxy
Pizzly
The simplest, fastest way to integrate your app with an OAuth API 😋
Stars: ✭ 796 (+4089.47%)
Mutual labels:  proxy
Cargo
The Rust package manager
Stars: ✭ 7,615 (+39978.95%)
Mutual labels:  package-manager
Corvus
A fast and lightweight Redis Cluster Proxy for Redis 3.0
Stars: ✭ 758 (+3889.47%)
Mutual labels:  proxy
Procurator
Socks5 server and client, utilizing epoll only.
Stars: ✭ 18 (-5.26%)
Mutual labels:  proxy
Keyless Solution
The solution of keyless proxy.
Stars: ✭ 16 (-15.79%)
Mutual labels:  proxy
Xonotic Map Manager
A command line package manager for Xonotic community maps
Stars: ✭ 5 (-73.68%)
Mutual labels:  package-manager
Buckaroo
The decentralized package manager for C++ and friends 🏝️
Stars: ✭ 820 (+4215.79%)
Mutual labels:  package-manager
Antigen
The plugin manager for zsh.
Stars: ✭ 6,843 (+35915.79%)
Mutual labels:  package-manager
Warwolf
Socks5-Over-HTTP (A Socks5 proxy runs on plain old HTTP requests, no websocket. Deployable on Google AppEngine) 🤟 😚 👁 🤦🏻‍♂️ 💃🏻 🕺🏻
Stars: ✭ 16 (-15.79%)
Mutual labels:  proxy
Vue 163 Music
【停止维护】网易云音乐web版,支持PC端常用功能,localStorage保存播放列表
Stars: ✭ 788 (+4047.37%)
Mutual labels:  proxy
Parcel
Cross-platform PowerShell package manager and provisioner
Stars: ✭ 17 (-10.53%)
Mutual labels:  package-manager
Basher
A package manager for shell scripts.
Stars: ✭ 768 (+3942.11%)
Mutual labels:  package-manager
Nimble
Package manager for the Nim programming language.
Stars: ✭ 815 (+4189.47%)
Mutual labels:  package-manager
Freess
免费ss账号 免费shadowsocks账号 免费v2ray账号 (长期更新)
Stars: ✭ 6,544 (+34342.11%)
Mutual labels:  proxy
Osu Hope
osu!HOPE: HoLLy's osu! Packet Editor
Stars: ✭ 18 (-5.26%)
Mutual labels:  proxy
Node Procedural Async
Write procedural style code that runs asynchronously. It may look synchronous, but it's not!
Stars: ✭ 17 (-10.53%)
Mutual labels:  proxy

Gotit

Help You Got It (golang dependencies)

License Travis branch Coverage Status Go Report Card GoDoc

中文文档

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.

Features

  • 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)

Deployment

Requirements

Make sure the git and go executable is on your PATH variable.

Installation

go get github.com/faceair/gotit

Run

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.

CI or individual use direct trust certificate (recommended)

# Import environment variables and certificates
export HTTPS_PROXY=http://127.0.0.1:3128
curl -o /usr/local/share/ca-certificates/gotit.crt http://127.0.0.1:3128/ssl && update-ca-certificates

# Normal use
go get -v github.com/golang/dep/cmd/dep
go get -v github.com/axw/gocov/gocov
go get -v github.com/AlekSi/gocov-xml
go get -v golang.org/x/lint/golint
dep ensure -v
go mod download
glide install -v

# Delete the certificate after the build
rm /usr/local/share/ca-certificates/gotit.crt && update-ca-certificates

Configure dependency management tool

If you are concerned about the security of importing certificates, you can try to bypass the HTTPS verification of the package management tool.

dep

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

glide also need a patch, download binary directly.

HTTPS_PROXY=http://127.0.0.1:8080 glide install

go get

HTTPS_PROXY=http://127.0.0.1:8080 GIT_SSL_NO_VERIFY=true go get -v -insecure github.com/faceair/gotit

FAQ

  1. 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.

  1. 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].