LINUX.ORG.RU
ФорумAdmin

Не могу победить proxychains

 


1

1

Доброго времени суток. Начну с общего описания задачи:
Есть несколько скриптов, которые не могут в proxy. Переписывать их желания нет, очень хочется научить их в proxy через proxychains или аналог. Сам прокси требует аутентификации (доступа к его настройкам нет), в прочих настройках он как http_proxy.
Настройки сейчас выглядят вот так:

# proxychains.conf  VER 3.1
#
#        HTTP, SOCKS4, SOCKS5 tunneling proxifier with DNS.
#
#dynamic_chain

strict_chain


# Make sense only if random_chain
#chain_len = 2

# Quiet mode (no output from library)
#quiet_mode

# Proxy DNS requests - no leak for DNS data
#proxy_dns

# Some timeouts in milliseconds
tcp_read_time_out 15000
tcp_connect_time_out 8000

http 1.1.1.1 8080 dmn\user.name qwe123QWE
Пробовал менять http на socks4 и socks5, результаты на proxychains curl ya.ru получаю вот такие (для http):
ProxyChains-3.1 (http://proxychains.sf.net)
|S-chain|-<>-1.1.1.1:8080-<><>-213.180.204.3:80-<--denied
|S-chain|-<>-1.1.1.1:8080-<><>-93.158.134.3:80-<--denied
|S-chain|-<>-1.1.1.1:8080-<><>-213.180.193.3:80-<--denied
curl: (7) Couldn't connect to server
и для socks:

ProxyChains-3.1 (http://proxychains.sf.net)
|S-chain|-<>-1.1.1.1:8080-<><>-213.180.193.3:80-<--timeout
|S-chain|-<>-1.1.1.1.8:8080-<><>-213.180.204.3:80-<--timeout
|S-chain|-<>-1.1.1.1:8080-<><>-93.158.134.3:80-<--timeout
curl: (7) Couldn't connect to server

Включить/отключить proxy_dns пробовал. Самому долго казалось, что ошибаюсь в конфиге в пункте про имя пользователя и пароль, возможно как-то иначе нужно выделить домен, но все варианты, которые подсказала фантазия попробовал - безрезультатно. Пытался осилить redsocks, но там, похоже, нужно еще для iptables правило писать, proxychains выглядит самым простым вариантом.



Последнее исправление: Nemui (всего исправлений: 1)

Попробуй proxychains4, он же proxychains-ng

Есть несколько скриптов, которые не могут в proxy.

Подожди, а чем тебя что-нибудь вроде в скрипте

export http_proxy=http://8.8.8.8:3128/
не устроило?

anonymous_sama ★★★★★
()
Последнее исправление: anonymous_sama (всего исправлений: 1)
Ответ на: комментарий от anonymous_sama

proxychains4 попробую, спасибо. Пробовал прописать прямо в переменные, http_proxy работает, а вот ftp_proxy (export FTP_PROXY=http://dmn\\user.name@1.1.1.1:8080 ) почему-то не видит (проверял так:

ftp ftp.gnu.org
ftp: connect to address 208.118.235.20: Connection refused
Trying 2001:4830:134:3::b...
ftp: connect: Network is unreachable)

Nemui
() автор топика
Ответ на: комментарий от anonymous_sama

Без пароля тоже пробовал - пишет сеть недоступна. А тот же curl с тем же синтаксисом но для http_proxy - работает. Поставил proxychains-ng - результаты как для старого proxychains. Сам proxychains пока проверяю curl'ом.

Nemui
() автор топика
Ответ на: комментарий от Nemui

Curl сам по себе поддерживает прокси, ты делаешь что-то кардинально не верно.

-x, --proxy <[protocol://][user:password@]proxyhost[:port]> Use the specified proxy.

The proxy string can be specified with a protocol:// prefix to specify alternative proxy protocols. Use socks4://, socks4a://, socks5:// or socks5h:// to request the specific SOCKS version to be used. No protocol specified, http:// and all others will be treated as HTTP proxies. (The protocol support was added in curl 7.21.7)

If the port number is not specified in the proxy string, it is assumed to be 1080.

This option overrides existing environment variables that set the proxy to use. If there's an environment variable setting a proxy, you can set proxy to «» to override it.

All operations that are performed over an HTTP proxy will transparently be converted to HTTP. It means that certain protocol specific operations might not be available. This is not the case if you can tunnel through the proxy, as one with the -p, --proxytunnel option.

User and password that might be provided in the proxy string are URL decoded by curl. This allows you to pass in special characters such as @ by using %40 or pass in a colon with %3a.

The proxy host can be specified the exact same way as the proxy environment variables, including the protocol prefix (http://) and the embedded user + password.

If this option is used several times, the last one will be used.

И да curl умеет http proxy для ftp но не ftp proxy.

anonymous_sama ★★★★★
()
Ответ на: комментарий от anonymous_sama

Наверное не ясно выразился. У меня нет цели подружить curl c прокси. Просто это первая консольная программа которую я вспомнил, чтобы проверить правильно ли я сконфигурировал proxychains. Например с тем же lynx - proxychains4 lynx http://www.yandex.ru. Моя логика такая, что если заработает lynx (curl и т.п.), заработают и скрипты. Про делаю неверно - тут я полностью согласен. Очевидно, что я неправильно конфигурирую proxychains, хотя казалось бы, где можно ошибиться в строке:
http 1.1.1.1 8080 dmn\user.name qwe123QWE
Пробовал по всякому обозначить домен в имени пользователя, убрать его тоже пробовал (хотя в тех же системных переменных, если домен убрать - не пропускает) - везде меня сбрасывает прокси.

Nemui
() автор топика
Ответ на: комментарий от Nemui

У меня работает proxychains-ng с дефолтным конфигом. proxychains я не использую, потому-что он устарел. Проверить ip address можешь просто сделай 'curl icanhazip.com' ну или 'proxychains4 curl icanhazip.com' в эмуляторе терминала.

anonymous_sama ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.