В данной статье будут рассмотрены настройки для корректной работы в 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 -yCurl
Если логин и/или пароль не содержат @, то можно ограничится добавлением переменной среды 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
EOFWget
Если логин и/или пароль не содержат @ или прокси не требует авторизации, то можно воспользоваться соответствующими шагами для 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.