LINUX.ORG.RU

Я не нашел этой строки ни в lynx, ни в proxychains. Похоже, вы ошиблись в цитате.

Ни разу не видел ничего подобного при использовании proxychains, так что скорее всего эту ошибку выдает lynx.

i-rinat ★★★★★
()

у меня оно отказывалось принимать соксы и прокси с хостнеймом. Только ип требовало, иначе не работало

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

А раньше работало. Кто-нибудь что-нибудь подскажет? Может переставить другой версии или собрать из исходников?

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

Кусок из libproxychains.c:

 sscanf(buff,"%s %s %d %s %s", type,host,&port_n,
              pd[count].user,pd[count].pass);
 pd[count].ip=inet_addr(host);

В debian принимает только ip.

i-rinat ★★★★★
()
Ответ на: комментарий от Arrakis
diff -ur proxychains-3.1-orig/proxychains/libproxychains.c proxychains-3.1/proxychains/libproxychains.c
--- proxychains-3.1-orig/proxychains/libproxychains.c	2011-03-06 14:51:29.751312015 +0300
+++ proxychains-3.1/proxychains/libproxychains.c	2011-03-06 14:25:28.199568701 +0300
@@ -205,6 +205,16 @@
 				sscanf(buff,"%s %s %d %s %s", type,host,&port_n,
 					pd[count].user,pd[count].pass);
 				pd[count].ip=inet_addr(host);
+				struct addrinfo *ai;
+				getaddrinfo(host, NULL, NULL, &ai);
+				if (NULL != ai) {
+					struct sockaddr *sa = ai->ai_addr;
+					struct sockaddr_in *sa_in=(struct sockaddr_in*)sa;
+					
+					pd[count].ip=sa_in->sin_addr.s_addr;
+				}
+				freeaddrinfo(ai);
+				
 				pd[count].port=htons((unsigned short)port_n);
 				if(!strcmp(type,"http")) {
 					pd[count].pt=HTTP_TYPE;

По идее, это научит proxychains понимать символьные имена. Но я проверил только, что это компилируется.

i-rinat ★★★★★
()
Ответ на: комментарий от Arrakis

Не совсем понял, что нужно сделать?

Если проблема именно в том, что имена прокси буквенные, а не цифровые, то скачать исходник proxychains, распаковать, положить патч в папку, выполнить

patch -p1 < 1.diff

Потом make && make install

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

Поподробнее.
patch -p1 < 1.diff - это название файла? нужно сделать его исполянемым и запустить перед компиляцией?

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

Нет.
1.diff — это имя файла, в котором будет патч (тот кусок кода с плюсами и минусами). Само имя не важно (просто мне лень придумывать длинное и информативное название). Расширение тоже не важно. Он должен быть доступным для чтения, остальное не важно.
patch — это программа, которая изменяет исходники, руководствуясь патчем, который она читает из стандартного ввода. Для того, чтобы в стандартный ввод пустить содержимое файла, используется

< 1.diff
Параметр -p1 указывает, что надо откусить от путей, указанных в патче, одну директорию с начала пути.


Если распаковав исходники ты получаешь директорию, скажем, proxychains-3.1, файл 1.diff надо положить в неё, перейти в неё, и patch запускать в ней.


В debian программа patch находится в пакете patch.

i-rinat ★★★★★
()
Ответ на: комментарий от Arrakis

Символьные имена не разрешились? Или вообще не в этом дело было? Я у себя не смог проверить, так как нету проксей с символьными именами. Все обратные dns приводили в никуда — ip есть, а символьных имён получить никак.

У тебя адрес прокси в каком формате?

А через strace ты свои браузеры прогонял?

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

Патченье ответило глухим молчанием, это нормально? Прокси записываю как обычно, как показано в примере в конфиге. С утилитой strace не знаком.

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

Патченье ответило глухим молчанием, это нормально?

У меня ответило:

patching file proxychains/libproxychains.c
Hunk #1 succeeded at 175 (offset -30 lines).
Это потому что патч я делал после того как применил патчи от мейнтенеров пакета, а применить попробовал на голые исходники. От этого съехали номера строк, но patch с эти справился, о чём и сообщил.

Прокси записываю как обычно

Так у тебя прокси записаны как 123.45.67.89 или как proxy.hostname.ru ? Потому как если в первом варианте, то патчить было без надобности.

i-rinat ★★★★★
()
Ответ на: комментарий от Arrakis

Что именно не работает у тебя, я не знаю, могу только гадать. Собственно я и попытался: исходя из обсуждения предположил, что проблема в том, что не разрешаются символьные имена и дописал код для решения. Кстати, о том, для чего этот код я вполне ясно указал в сообщении с патчем. Предположение оказалось неверным.

Так что теперь я точно не в курсе, что у тебя происходит. Могу только посоветовать почитать man strace.

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

Прописал прокси в конфиге. Запускаю через проксичейнс любой браузер и появляется сообщение о невозможности установить соединение. Что не понятно?

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

В самом первом сообщении под подписью с твоим именем есть ссылка «отметить как решенную». Когда ты её кликнешь, тема станет отмечена галочкой.

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