В данной статье будут рассмотрены настройки для корректной работы в 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.
