@karlcauchy/auto-dep
v0.0.7
Published
Automatically tunneling or direct connection for golang `dep`. As easy as `dep` itself. Help you get rid of GFW of China.
Downloads
5
Readme
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 [email protected]
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