Linux приложение через прокси

Использование HTTP proxy и SOCKS в Linux

В Linux существует много полезных консольных команд, которые при необходимости хотелось бы запустить через proxy. Некоторые приложения имеют встроенную поддержку proxy, а некоторые нет. Далее описано как пользоваться востребованными утилитами через proxy, даже теми, которые этой поддержки не имеют.

curl: передача данных через proxy

curl имеет полноценную поддержку как HTTP proxy так и SOCKS.

Для тестирования возможно использовать proxy сервера из бесплатных списков (socks — sockslist.net, и HTTP proxy — proxyhttp.net). Проверка IP адреса будет производиться с помощью ресурса check-host.net

# Проверить HTTP proxy
curl —proxy 11.22.33.44:5555 check-host.net/ip
# Тоже самое, но если для HTTP proxy требуется авторизация
curl —proxy 11.22.33.44:5555 -U username:password check-host.net/ip
# Проверить socks4
curl —socks4 11.22.33.44:5555 check-host.net/ip
# Проверить socks5
curl —socks5 11.22.33.44:5555 check-host.net/ip
# Тоже самое, только преобразование имен идет также через SOCKS
# (подробнее о преобразовании имен можно прочитать ниже в подразделе «DNS запросы через proxy»)
curl —socks5-hostname 11.22.33.44:5555 check-host.net/ip

Часть параметров curl можно записать в файл ~/.curlrc:

socks5 = 11.22.33.44:5555
proxy-user = username:password
user-agent = «Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1»

С помощью time и curl также можно замерить время отклика сервера:

# Без proxy:
time curl check-host.net/ip
# С proxy:
time curl —socks5 11.22.33.44:5555 check-host.net/ip
# Или любого сайта:
time curl habrahabr.ru

Результат будет выглядеть так:

real 0m0.307s
user 0m0.000s
sys 0m0.004s

wget: закачка файлов через proxy

wget имеет встроенную поддержку proxy. Недостаток лишь в том, что только поддержку HTTP proxy. Для использования совместно с SOCKS рекомендуется использовать соксификатор dante.

# Скачать файл через proxy:
http_proxy=»http://33.22.44.44:8080″ wget http://www.google.com/favicon.ico
Тоже самое, но для HTTPS
https_proxy=»http://33.22.44.44:8080″ wget https://www.google.com/favicon.ico
# Использовать proxy с авторизацией
http_proxy=»http://33.22.44.44:8080″ wget —proxy-user=user —proxy-password=password http://www.google.com/favicon.ico

Чтобы все время не указывать —proxy-user и —proxy-password можно их прописать в файл ~/.wgetrc:

proxy-user = username
proxy-password = password
user-agent = Mozilla/5.0 (X11; Linux i686; rv:7.0.1) Gecko/20100101 Firefox/7.0.1

ssh: доступ к серверам

Для доступа к серверам через ssh и proxy также лучше использовать соксификатор dante.

apt-get install dante-client # пример для Debian-based систем

# Если требуется зайти по ssh на сервер
SOCKS_PASSWORD=»» SOCKS_SERVER=»11.22.33.44:1080″ socksify ssh myserver
# Тоже самое, только если для подключения к соксу требуется авторизация
SOCKS_USERNAME=»user» SOCKS_PASSWORD=»password» SOCKS_SERVER=»11.22.33.44:1080″ socksify ssh myserver
# Пример с использованием IRC клиента — irssi
SOCKS_PASSWORD=»» SOCKS_SERVER=»11.22.33.44:1080″ socksify irssi
# Тоже самое, только с использованием HTTP proxy с поддержкой метода CONNECT
HTTP_CONNECT_PROXY=»http://11.22.33.44:8080″ socksify irssi

Читайте также:  Uefi shell boot linux

С помощью socksify можно направить через proxy почти любое приложение, не только консольное.

Чтобы все время не вводить данные о proxy можно создать файл /etc/socks.conf
Пример для SOCKS:

route <
from: 0.0.0.0/0 to: 0.0.0.0/0 via: 11.22.33.44 port = 55555
protocol: tcp udp
proxyprotocol: socks_v4 socks_v5
method: none
>

Пример для HTTP proxy с авторизацией:

route <
from: 0.0.0.0/0 to: 0.0.0.0/0 via: 11.22.33.44 port = 8080
command: connect
proxyprotocol: http
method: username
>

А также экспортировать переменные SOCKS_USERNAME и SOCKS_PASSWORD, если для SOCKS или HTTP proxy требуется авторизация:

export SOCKS_USERNAME=»username»
export SOCKS_PASSWORD=»password»

DNS запросы через proxy

Часто требуется чтобы и преобразование имен происходило через proxy. Если использовать dante, то запрос на преобразование имен идет и через proxy, и через именной сервер указанный в /etc/resolv.conf . Понять почему же идет два одинаковых запроса вместо одного не удалось. Поэтому можно предложить два варианта:

1) Закомментировать именные сервера в файле /etc/resolv.conf, чтобы преобразование имен шло только через proxy. Это отразится на всей системе.

2) Изменить /etc/resolv.conf и выставить именные сервера необходимой страны, или просто отличные от серверов провайдера. Например установить сервера Google:

nameserver 8.8.8.8
nameserver 8.8.4.4

Чтобы данные не были перезаписаны именными серверами провайдера (при переподключении), можно запретить обновление списка именных серверов сетевому менеджеру (NetworkManager/wicd) или DHCP-клиенту (спасибо ergil за корректировку).

Или воспользоваться «грубым» методом — запрещением изменения файла /etc/resolv.conf:

sudo chattr +i /etc/resolv.conf

Если есть какие-то дополнения, пожалуйста, напишите, это будет полезно узнать и применить.

Источник

Где прописать прокси на linux

Для того, чтобы настроить прокси в Ubuntu откройте Системные параметры, перейдите в пункт Сеть. Выберите пункт Сетевая прокси-служба. Смените метод на Вручную и введите ваши настройки прокси. Минус такой настройки в том, что в случае, если у Вас прокси с авторизацией по логину и паролю, то указать эти данные невозможно, и прокси не будет работать. Настроить прокси на системном уровне можно и через конфигурационные файлы (True UNIX-way). Для этого нужно открыть на редактирования с правами root файл /etc/environment (например sudo nano /etc/environment). В конец файла добавим строки: Если прокси без авторизации, то строки должны быть вида: Для применения настроек придется пере-загрузиться, изменения в файле /etc/environment вступили в силу при запуске процесса init — родителя всех процессов в системе и именно от него все дочерние процессы унаследуют настройки прокси в переменных окружения.

Как правила глобальной насторойки прокси достаточно для того что бы все остальные приложения работали через прокси без необходимости настраивать прокси внутри приложения. Однако некоторые приложения не умеют работать с глобальными настройками или им нужны особенные настройки.

Читайте также:  Jack linux что такое

Firefox

Firefox умеет использовать как глобальные настройки, так и свои собственные. Для того чтобы назначить ему прокси, откройте его окно настроек, перейдите на вкладку Дополнительно, далее на вкладку Сеть и нажмите на кнопку Настроить напротив надписи Настройка параметров соединения Firefox с Интернетом. Важное отличие от других программ — он умеет использовать NTLM аутентификацию (используется на Microsoft Internet Security and Acceleration Server).

Chromium-browser

Также может использовать глобальные настройки и имеет свои. Для того чтобы назначить ему прокси персонально, откройте файл /etc/chromium-browser/default и допишите следующие строки: И перезапустите браузер В новых версиях умеет работать с глобальными настройками, но в более старых мог работать только с персональными настройками. Сообщенные настройки: в файле /etc/apt/apt.conf нужно указать: Если сервер без авторизации, то логин:пароль@ нужно убрать. Само собой настройка через /etc/environment (описано выше в разделе глобальных настроек) будет работать для всех программ запущенных из терминала. Если вы хотите указать настройки персонально для запускаемой программы, то перед ее запуском нужно выполнить:

Дописываем в файл /etc/wgetrc : Если прокси без авторизации, то proxy-user и proxy-password нужно убрать

apt-add-repository

Многие компании и университеты блокируют все неизвестные порты наружу. Обычно блокируется и порт 11371, используемый утилитой apt-add-repository для добавления репозиториев. Есть простое решение, как получать ключи репозиториев через 80-ый порт, который используется для доступа к web-страницам и чаще всего не блокируется. Редактируем файл /usr/lib/python2.6/dist-packages/softwareproperties/ppa.py (нужны привилегии root, вместо /usr/lib/python2.6 может быть версия 2.7). Ищем фразу keyserver.ubuntu.com , заменяем В версии 16.04 достаточно иметь настроенной переменную окружения © 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd. Источник

Как настроить прокси-сервер на Linux

На Линукс прокси сервер можно подключить при помощи ввода новых настроек в терминал. Ниже мы подробно разберем, какие данные нужно вводить в командную строку, чтобы правильно настроить прокси. За основу возьмем Kali Linux, но принцип настройки сервера-посредника будет идентичным на всех версиях этой операционной системы.

Настройка прокси Линукс: пошаговая инструкция

Для подключения прокси-сервера на этой операционной системе вам нужно выполнить следующие шаги:

  1. Откройте терминал.
  2. Введите туда фразу «sudo apt-get install git gcc» (без кавычек) и нажмите «Enter».

В будущем нажимайте клавишу «Enter» после ввода каждой новой команды. Напишите «sudo apt-get remove proxychains», чтобы удалить старые данные.

Введите «git clone https://github.com/rof10r/proxychains-ng.git» для копирования нужных параметров. Перейдите в скопированную папку, введя: «cd proxychains-ng». Пропишите «./configure —prefix=/usr —sysconfdir=/etc». Впишите в консоль команду «Make».

Читайте также:  Управление дисковым пространством linux

Затем: «sudo make install».

  • Дальше, чтобы установить прокси на Линукс, нужно будет подождать некоторое время, пока пройдет загрузка необходимых данных.
  • После завершения установки вводим «sudo make install-config». С установкой на этом мы закончили, теперь нужно настроить прокси-сервер Линукс. Для этого начнем редактирование файла с конфигурациями прокси-цепочек в блокноте.

    Введите «leafpad /etc/proxychains.conf». После открытия блокнота пролистайте его в самый низ до раздела «ProxyList». Перед нижней строкой ставим символ «#». По умолчанию его там быть не должно. Теперь вам понадобится прокси-сервер. При выборе прокси старайтесь избегать прозрачных серверов (transparent). Они не обеспечат вам анонимность при работе в интернете, так как не скрывают действительный IP-адрес.

    Если вы уже подобрали прокси-серверы, то останется лишь добавить их в базу. Для этого напишите в открытом блокноте фразу следующего вида: «http 223.16.229.241 8080». Первое число — это IP вашего прокси, второе — его порт. Пропуски такого плана делайте при помощи нажатия на кнопку «Tab». Закройте файл, сохранив изменения. Теперь вы сможете запускать любое необходимое приложение, имеющее доступ к интернету, через прокси-сервер. Для этого нужно перед командой вызова программы в консоли вводить фразу «proxychains4».

    Например, чтобы запустить на вашем компьютере браузер Firefox через прокси нужно ввести следующую фразу: «proxychains4 firefox». Узнать текущий IP-адрес используемого прокси-сервера можно, введя фразу «proxychains4 wget -qO- eth0.me». Настройка завершена! Теперь вы можете использовать прокси сервер на Линукс для повышения анонимности, защиты от различных видов сетевых атак и решения многих других задач. Источник

    Как настроить прокси в Linux

    Прокси-сервер или proxy — в переводе с англ. «представитель» — сервер как комплекс программ в компьютерных сетях, позволяющий клиентам выполнять косвенные запросы к другим сетевым службам. В рамках данного материала прокси понимается сервер выполняющий доступ к глобальной сети интернет.

    Проще всего для использования прокси в командной строке, но в зависимости от типа трафика, Вы можете определить переменные окружения http_proxy, https_proxy или ftp_proxy. Практически все утилиты командой строки, такие как curl, wget, ssh, apt-get, ftp, wget, yum и прочие, используют данные переменные.

    Рассмотрим настройку переменных для использования прокси

    Используйте следующий синтаксис для настройки таких типов трафика как http, https и ftp из командной строки: $ export ftp_proxy=»http://proxy-server:port»
    $ export http_proxy=»http://proxy-server:port»
    $ export https_proxy=»https://proxy-server:port» Используйте следующий синтаксис, если прокси-сервер требует аутентификацию: $ export http_proxy=»http://user:pass@proxy-server:port»
    $ export https_proxy=»https://user:pass@proxy-server:port»
    $ export ftp_proxy=»http://user:pass@proxy-server:port» Если Ваш пароль содержит спец. символы, Вы должны заменить их на ASCII коды.

    Тестирование работы

    Используйте следующую команду для проверки текущих переменных прокси: Можно проверить работу прокси, узнав ваш внешний IP адрес из командной строки: Источник

    Источник

  • Оцените статью
    Adblock
    detector