加入CODE CHINA

· 不限速    · 不限空间    · 不限人数    · 私仓免费

免费加入
    README.md

    GOPROXY

    CircleCI Go Report Card GoDoc

    A global proxy for go modules. see: https://goproxy.io

    Requirements

    It invokes the local go command to answer requests.
    The default cacheDir is GOPATH, you can set it up by yourself according to the situation.

    Build

    git clone https://github.com/goproxyio/goproxy.git
    cd goproxy
    make

    Started

    Proxy mode

    ./bin/goproxy -listen=0.0.0.0:80 -cacheDir=/tmp/test

    If you run go get -v pkg in the proxy machine, should set a new GOPATH which is different from the old GOPATH, or mayebe deadlock. See the file test/get_test.sh.

    Router mode

    ./bin/goproxy -listen=0.0.0.0:80 -proxy https://goproxy.io

    Use the -proxy flag switch to "Router mode", which implements route filter to routing private module or public module .

                                             direct
                          +----------------------------------> private repo
                          |
                     match|pattern
                          |
                      +---+---+           +----------+
    go get  +-------> |goproxy| +-------> |goproxy.io| +---> golang.org/x/net
                      +-------+           +----------+
                     router mode           proxy mode

    In Router mode, use the -exclude flag set pattern , direct to the repo which match the module path, pattern are matched to the full path specified, not only to the host component.

    ./bin/goproxy -listen=0.0.0.0:80 -cacheDir=/tmp/test -proxy https://goproxy.io -exclude "*.corp.example.com,rsc.io/private"

    Use docker image

    docker run -d -p80:8081 goproxy/goproxy

    Use the -v flag to persisting the proxy module data (change cacheDir to your own dir):

    docker run -d -p80:8081 -v cacheDir:/go goproxy/goproxy

    Docker Compose

    docker-compose up

    Appendix

    1. set export GOPROXY=http://localhost to enable your goproxy.
    2. set export GOPROXY=direct to disable it.

    项目简介

    🚀 Github 镜像仓库 🚀

    源项目地址

    https://github.com/goproxyio/goproxy

    发行版本 8

    v2.0.7

    全部发行版

    贡献者 28

    全部贡献者

    开发语言

    • Go 95.6 %
    • HTML 2.0 %
    • Dockerfile 1.3 %
    • Makefile 0.6 %
    • Shell 0.5 %