Вопрос по – Как настроить команду go для использования прокси?

38

Я хочу бежатьgo install установитьтур, но я не могу найти вариант использования прокси для доступа в Интернет. Мне это нужно не только для тура, но и для развития в Go в целом.

Как настроить Go для использования прокси.

Ваш Ответ

7   ответов
0

alias go='http_proxy=http://127.0.0.1:1081/ https_proxy=http://127.0.0.1:1081/ no_proxy=localhost,127.0.0.0/8,::1 go'

Примечание: для кого-то протокол может отличатьсяhttps_proxy=http://127.0.0.1:1081

79

Go программы понимают переменные средыhttp_proxy а такжеno_proxyно этого недостаточно, потому чтоgo get использует менеджеры контроля версий для получения кода. Таким образом, вы также должны установить настройки прокси HTTP для своего SCM. использованиеэтот для ртути иэтот для Git.

http_proxy значение может быть какhttp://user:[email protected]:port/, Пользователь, пароль и порт являются необязательными.no_proxy список серверов, разделенных запятыми, которые не должны быть подключены через прокси Его значение может быть какfoo.com,bar.net:4000.

Вы можете установить эти переменные среды в вашемbash_profile, но если вы хотите ограничить их использованиеgo, вы можете запустить его так:

$ http_proxy=127.0.0.1:8080 go get code.google.com/p/go.crypto/bcrypt

Если это то, что вы всегда хотите, установите этот псевдоним, чтобы не вводить прокси-часть каждый раз:

$ alias go='http_proxy=127.0.0.1:8080 go'

Отныне вы можете использоватьgo обычно, но он использует ваш HTTP прокси.

Error: User Rate Limit Exceeded
Error: User Rate Limit ExceededprivoxyError: User Rate Limit ExceededtorsocksError: User Rate Limit Exceeded
Error: User Rate Limit Exceededstackoverflow.com/questions/22059670/…
Error: User Rate Limit Exceeded oers
Error: User Rate Limit Exceeded
0

В командной строке Windows:

set http_proxy=http://[user]:[pass]@[proxy_ip]:[proxy_port]/ set https_proxy=http://[user]:[pass]@[proxy_ip]:[proxy_port]/

... затем перейдите кhttps://github.com/ и скачать сертификат GitHub (я установил имя какgoland_cert.cer)

... теперь выполните команду OpenSSL, чтобы экспортировать ее в формат PEM

openssl x509 -inform der -in goland_cert.cer -out goland_cert.pem

... наконец, установите сертификат в git global config

git config --global http.sslCAInfo C:/Users/[User]/certs/golang_cert.pem

2

Вы также можете отобразить http-запросы на трафик socks5, используяhttps://github.com/cyfdecyf/cow/

очень удобно, если вы заблокированы GFW

Error: User Rate Limit Exceededgo getError: User Rate Limit Exceeded
-1
git config [--global] http.proxy http://proxy.example.com:port
git config [--global] https.proxy http://proxy.example.com:port

увидетьhttps://github.com/golang/go/wiki/GoGetProxyConfig

0

Вы можете проверитьhttps://github.com/hmgle/graftcp,

$ graftcp-local/graftcp-local -h
Usage of graftcp-local/graftcp-local:
  -config string
        Path to the configuration file
  -listen string
        Listen address (default ":2233")
  -logfile string
        Write logs to file
  -loglevel value
        Log level (0-6) (default 1)
  -pipepath string
        Pipe path for graftcp to send address info (default "/tmp/graftcplocal.fifo")
  -service string
        Control the system service: ["start" "stop" "restart" "install" "uninstall"]
  -socks5 string
        SOCKS5 address (default "127.0.0.1:1080")
  -syslog
        Send logs to the local system logger (Eventlog on Windows, syslog on Unix)

Если у вас уже есть теневые носки, прослушивающие 1080, вам не нужно указывать какие-либо параметры, просто запуститеgraftcp-local, чтобы прокси иди

$ ./graftcp go get -v golang.org/x/net/proxy
0

добавлятьGOPROXY имя переменной и значение переменной какyour proxy в системной переменной., это сработало для меня.

Похожие вопросы