@karlcauchy/auto-dep

0.0.7 • Public • Published

auto-dep

Automatically choose tunneling or direct connection for golang dep. As easy as dep itself. Help you get rid of GFW of China.

Installation

npm install -g @karlcauchy/auto-dep

Usage

Create a UNIX/Linux virtual machine first. Or anything can provide you a socks proxy. Simply by SSH (an example):

ssh -D 1080 username@example.com

If you do not want to save sensitive information at project root, create an ~/.auto-dep.yaml(optional) instead. Then auto-dep will read it as default options. For example:

proxies:
  ## One or many proxies. Will be chosen randomly.
  - socks5://127.0.0.1:1080/

In this way, you may setup different proxies on different machines. Co-workers can share code without modifying anything in a git repository.

Then create an auto-dep.yaml at your go project root, just like this:

proxies:
  ## One or many proxies. Will be chosen randomly.
  # System will read ~/.auto-dep.yaml first.
  # If you would like to share between co-workers, you should
  # setup your proxy configuration there.
  # - socks5://127.0.0.1:1080/

includes:
  ## Sites go through proxies.
  - golang.org
  - gopkg.in
  - "*.googlesource.com"
  - "*.golang.org"

excludes:
  ## Sites go directly
  - cauchies.org

Then just call auto-dep like dep:

auto-dep init
auto-dep ensure

If you need arguments directly passed to dep:

auto-dep ensure -- -v

Complex Usages

You can configure more in auto-dep.yaml:

## Whether force all packages go through the tunneling.
# Equal to `-t` command line option.
force-tunneling: false

## System will choose these proxies randomly.
proxies:
  ## Single line proxy is ok.
  - socks5://127.0.0.1:1080/

  ## Or optional, this way, complex declaration
  - host: 10.0.0.1
    port: 1080
    protocol: socks5
    # Whether do DNS lookup through Socks Tunnel.
    # For socks5, it is set to true as default.
    lookup: true

includes:
  ## Sites go through proxy.
  - golang.org
  - gopkg.in
  - "*.googlesource.com"
  - "*.golang.org"

excludes:
  ## These entries have higher priority than `includes`
  # If you put any entry in `includes`, they will be ignored
  # as well.
  - cauchies.org

Command line options

Usage: auto-dep [options]

Options:
  -V, --version          Print the version number
  -c, --config [config]  Read configs from file in json format
  -t, --tunneling        Force tunneling all traffic through proxies.
  --debug                Enable debug mode
  --level [level]        Set Log level, vals: info, error
  -h, --help             Print this help information

Readme

Keywords

none

Package Sidebar

Install

npm i @karlcauchy/auto-dep

Weekly Downloads

9

Version

0.0.7

License

MIT

Unpacked Size

85.3 kB

Total Files

25

Last publish

Collaborators

  • karlcauchy