В данной статье будут рассмотрены настройки для корректной работы в WSL из-под прокси для:
Apt-get
Примечание здесь и далее используются следующие данные для прокси:
- host:
http://proxy.example.com
- port:
7777
- login:
user@example.com
- password:
somePassword
Для корректной работы apt-get
необходимо в файл /etc/apt/apt.conf.d/proxy.conf
добавить строку Acquire::http::Proxy "http://user@example.com:somePassword@proxy.example.com:7777";
Для этого можно выполнить команду
sudo cat <<<EOF >>/etc/apt/apt.conf.d/proxy.conf
Acquire::http::Proxy "http://user@example.com:somePassword@proxy.example.com:7777";`
EOF
Проверим правильность сделанных настроек:
cat /etc/apt/apt.conf.d/proxy.conf
Результат должен содержать:
Acquire::http::Proxy "http://user@example.com:somePassword@proxy.example.com:7777";
Затем необходимо выйти из WSL и после повторного входа проверить правильность работы, например, выполнив:
sudo apt-get update -y
Curl
Если логин и/или пароль не содержат @
, то можно ограничится добавлением переменной среды http_proxy
со значением http://user:somePassword@proxy.example.com:7777
.
Если прокси не требует авторизации, то http://proxy.example.com:7777
.
Сделать это можно командой:
cat <<EOF >> ~/.profile
export http_proxy=http://user:somePassword@proxy.example.com:7777
EOF
Чтобы не перезагружать WSL можно выполнить команду:
source ~/.profile
Но в нашем случае придется создать файл ~/.curlrc
со следующим содержимым:
proxy-user=user@example.com:somePassword
proxy=http://proxy.example.com:7777
Сделать это можно, выполнив команду:
cat <<EOF >> ~/.curlrc
proxy-user=user@example.com:somePassword
proxy=http://proxy.example.com:7777
EOF
Wget
Если логин и/или пароль не содержат @
или прокси не требует авторизации, то можно воспользоваться соответствующими шагами для curl
, если они не были сделаны раньше.
В нашем случае, создадим файл ~/.wgetrc
следующего содержания:
proxy-user=user@example.com
proxy-password=somePassword
http_proxy=http://proxy.example.com:7777
use_proxy=on
Сделать это можно командой:
cat <<EOF >> ~/.wgetrc
proxy-user=user@example.com
proxy-password=somePassword
http_proxy=http://proxy.example.com:7777
use_proxy=on
EOF
Осталось еще несколько команд для git
и npm
.
Git
git config --global http.proxy "http://user@example.com:somePasswrod@proxy.example.com:7777"
Npma
npm set proxy http://user@example.com:somePassword@proxy.example.com:7777/
npm set https-proxy http://user@example.com:somePassword@proxy.example.com:7777/
UPD 1: исправлены опечатки и неточности по комментариям DaemonGloom и achekalin.
alex-khv
Это же фактичеки, настройки для использования для любой программы под linux. При чем тут wsl ?
eustatos Автор
Согласен. Наверное, написанное в статье подойдет и для Ubuntu. Но в моем случае, не было возможности проверить это. Поэтому указал, что для wsl.