[Важно!] Проблемы в работе ТМ на Debian/Ubuntu

KorP
Администратор
Сообщения: 1305
Зарегистрирован: 26 фев 2015, 11:34

[Важно!] Проблемы в работе ТМ на Debian/Ubuntu

Сообщение KorP » 08 янв 2016, 09:19

Всем привет. Обнаружился и уже неоднократно подтвердилась проблема с cURL на данных системах, конкретнее проблема с версией 7.43.
Данная версия в репах собрана без поддержки кук, что не позволяет ТМ авторизоваться на сайтах и соответственно он не может получить нужные для работы данные. Пока одним из решений - откат на версию 7.35. Подробнее вот здесь viewtopic.php?f=4&t=108&start=10 Я, как человек далёкий от Ubuntu не могу сказать как лучше поступать в данном случае. Возможно стоить забрать с оффсайта сорцы и собрать самостоятельно. Возможно следующая версия в репах будет уже снова с поддержкой кук. Я центосовод, у нас актуальная версия всё ещё 7.29, так что данная проблема меня лично ещё не каснулась

KorP
Администратор
Сообщения: 1305
Зарегистрирован: 26 фев 2015, 11:34

Re: [Важно!] Проблемы в работе ТМ на Debian/Ubuntu

Сообщение KorP » 13 янв 2016, 15:54

Вот нашёл наконец то официально заведённую багу в Дебиане
https://bugs.debian.org/cgi-bin/bugrepo ... bug=780764

Как временное решение - предлагают откат libcurl до какой-нить версии 5.4.39-0+deb7u1. Но можно и поэкспериментировать с версиями.

И так откат делаем вот так:
смотрим какие версии есть

Код: Выделить всё

apt-cache policy php5-curl
удаляем текущую версию

Код: Выделить всё

apt-get remove --purge php5-curl
ставим старую (из тех что есть в списке)

Код: Выделить всё

apt-get install php5-curl=5.4.39-0+deb7u1

KorP
Администратор
Сообщения: 1305
Зарегистрирован: 26 фев 2015, 11:34

Re: [Важно!] Проблемы в работе ТМ на Debian/Ubuntu

Сообщение KorP » 12 фев 2016, 10:25

Под дебиан в репах уже версия 5.4.45 лежит, кто то пробовал обновляться?

morr
Сообщения: 33
Зарегистрирован: 19 окт 2015, 03:09

Re: [Важно!] Проблемы в работе ТМ на Debian/Ubuntu

Сообщение morr » 21 фев 2016, 18:59

Ubuntu 15.10
Спасался блокировкой обновления версии 7.35.0-1ubuntu2.5 пакета libcurl3.
Сейчас снял блокировку, обновился. Libcurl3 поставился версии 7.43.0-1ubuntu2.1.
Добавил слежение за раздачей в TM, TM раздачу по таймеру подцепил нормально.
Похоже, полет нормальный.


Отставить. После второго запуска сломалось. Откатился снова.

morr
Сообщения: 33
Зарегистрирован: 19 окт 2015, 03:09

Re: [Важно!] Проблемы в работе ТМ на Debian/Ubuntu

Сообщение morr » 06 мар 2016, 02:45

Все, не могу больше сидеть со старой версией.

Обновился, начал разбираться.

Смотрю файл rutracker.org.engine.php.

Код: Выделить всё

	//проверяем cookie
	public static function checkCookie($sess_cookie)
	{
        $result = Sys::getUrlContent(
        	array(
        		'type'           => 'POST',
        		'returntransfer' => 1,
        		'url'            => 'http://rutracker.org/forum/index.php',
        		'cookie'         => $sess_cookie,
        		'sendHeader'     => array('Host' => 'rutracker.org', 'Content-length' => strlen($sess_cookie)),
        		'convert'        => array('windows-1251', 'utf-8//IGNORE'),
        	)
        );
А зачем добавляется sendHeader? Curl по-идее сам же должен эти вещи в заголовок запроса сгенерить?

Закомментировал в System.class.php одну строку:

Код: Выделить всё

            if (isset($param['sendHeader']))
            {
                foreach ($param['sendHeader'] as $k => $v)
                {
                    $header[] = $k.': '.$v."\r\n";
                }
 //               curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
 // Пока не будем добавлять ничего к заголовку запроса.
            }        
И все вроде бы заработало. По крайней мере для рутрекера и ннм. Полагаю, у Curl начиная с какой-то версии крышу срывает, когда ему не только куку подсовывают, но и хедеры. Но я нуб, просто предположение.

KorP
Администратор
Сообщения: 1305
Зарегистрирован: 26 фев 2015, 11:34

Re: [Важно!] Проблемы в работе ТМ на Debian/Ubuntu

Сообщение KorP » 06 мар 2016, 07:43

ну это будет крайне странно, если он без заголовков будет работать. тот же Content-length и Host важные для него параметры

но когда закамменчиваете он у вас авторизуется, получает куку и скачивает торрент?

morr
Сообщения: 33
Зарегистрирован: 19 окт 2015, 03:09

Re: [Важно!] Проблемы в работе ТМ на Debian/Ubuntu

Сообщение morr » 06 мар 2016, 17:27

Не понимаю, авторизуется ли. Похоже, что сразу проверяет, авторизован ли и лезет на нужную страницу.
С незакомменитрованной строкой лезет еще в /forum/login.php.
Лог с незакомментированной строкой
<br />Гриффины / Family Guy / Сезон: 14 / Серии: 1-9 (18) (Сет МакФарлейн / Seth MacFarlane) [2015, Ситком, чёрный юмор, буффонада, комедия, пародия, WEB-DLRip] MVO (Jaskier) + Original на трекере rutracker.org
<br />* Hostname 182.101.17.33 was found in DNS cache
* Trying 182.101.17.33...
* Hostname rutracker.org was found in DNS cache
* 195
* 82
* 146
* 214
* Connected to 182.101.17.33 (182.101.17.33) port 50403 (#0)
> POST /forum/index.php HTTP/1.1
Host: rutracker.org

User-Agent: Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0
Accept: */*
Cookie: bb_data=1-27401-faUw17hD4Zp3pbn0Gb6S-0-1457273368-1457273368-2817325827-1;
Content-length: 74

Content-Type: application/x-www-form-urlencoded
Expect: 100-continue

< HTTP/1.1 200 OK
< Server: nginx
< Date: Sun, 06 Mar 2016 14:09:37 GMT
< Content-Type: text/html
< Transfer-Encoding: chunked
< Connection: keep-alive
<
* Leftovers after chunking: 311 bytes
* Connection #0 to host rutracker.org left intact
* Hostname 182.101.17.33 was found in DNS cache
* Trying 182.101.17.33...
* Hostname login.rutracker.org was found in DNS cache
* 195
* 82
* 146
* 52
* Connected to 182.101.17.33 (182.101.17.33) port 50403 (#0)
> POST /forum/login.php HTTP/1.1
Host: login.rutracker.org
User-Agent: Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0
Accept: */*
Content-Length: 63
Content-Type: application/x-www-form-urlencoded

* upload completely sent off: 63 out of 63 bytes
< HTTP/1.1 302 Moved Temporarily
< Server: nginx
< Date: Sun, 06 Mar 2016 14:09:38 GMT
< Content-Type: text/html
< Transfer-Encoding: chunked
< Connection: keep-alive
< Set-Cookie: bb_data=1-27401-faUw17hD4Zp3pbn0Gb6S-0-1457273368-1457273368-2817325827-1; expires=Wed, 04-Mar-2026 14:09:38 GMT; path=/forum/; domain=.rutracker.org; httponly
< Location: http://rutracker.org/forum/index.php
<
* Connection #0 to host login.rutracker.org left intact
* Hostname 182.101.17.33 was found in DNS cache
* Trying 182.101.17.33...
* Hostname rutracker.org was found in DNS cache
* 195
* 82
* 146
* 214
* Connected to 182.101.17.33 (182.101.17.33) port 50403 (#0)
> POST /forum/viewtopic.php?t=5126084 HTTP/1.1
Host: rutracker.org

User-Agent: Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0
Accept: */*
Cookie: bb_data=1-27401-faUw17hD4Zp3pbn0Gb6S-0-1457273368-1457273368-2817325827-1;
Content-length: 74

Content-Type: application/x-www-form-urlencoded
Expect: 100-continue

< HTTP/1.1 200 OK
< Server: nginx
< Date: Sun, 06 Mar 2016 14:09:38 GMT
< Content-Type: text/html; charset=windows-1251
< Transfer-Encoding: chunked
< Connection: keep-alive
< Cache-Control: private, pre-check=0, post-check=0, max-age=0
< Expires: 0
< Pragma: no-cache
< X-Frame-Options: SAMEORIGIN
<
* Leftovers after chunking: 311 bytes
* Connection #0 to host rutracker.org left intact
Время выполнения: 2.3546140193939
Лог с закомментированной строкой
<br />Гриффины / Family Guy / Сезон: 14 / Серии: 1-9 (18) (Сет МакФарлейн / Seth MacFarlane) [2015, Ситком, чёрный юмор, буффонада, комедия, пародия, WEB-DLRip] MVO (Jaskier) + Original на трекере rutracker.org
<br />* Hostname 182.101.17.33 was found in DNS cache
* Trying 182.101.17.33...
* Hostname rutracker.org was found in DNS cache
* 195
* 82
* 146
* 214
* Connected to 182.101.17.33 (182.101.17.33) port 50403 (#0)
> POST /forum/index.php HTTP/1.1
Host: rutracker.org
User-Agent: Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0
Accept: */*
Cookie: bb_data=1-27401-faUw17hD4Zp3pbn0Gb6S-0-1457273368-1457273368-2817325827-1;
Content-Type: application/x-www-form-urlencoded
Expect: 100-continue

< HTTP/1.1 100 Continue
< HTTP/1.1 200 OK
< Server: nginx
< Date: Sun, 06 Mar 2016 14:12:59 GMT
< Content-Type: text/html; charset=windows-1251
< Transfer-Encoding: chunked
< Connection: keep-alive
< Cache-Control: private, pre-check=0, post-check=0, max-age=0
< Expires: 0
< Pragma: no-cache
< X-Frame-Options: SAMEORIGIN
<
* Connection #0 to host rutracker.org left intact
* Hostname 182.101.17.33 was found in DNS cache
* Trying 182.101.17.33...
* Hostname rutracker.org was found in DNS cache
* 195
* 82
* 146
* 214
* Connected to 182.101.17.33 (182.101.17.33) port 50403 (#0)
> POST /forum/viewtopic.php?t=5126084 HTTP/1.1
Host: rutracker.org
User-Agent: Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0
Accept: */*
Cookie: bb_data=1-27401-faUw17hD4Zp3pbn0Gb6S-0-1457273368-1457273368-2817325827-1;
Content-Type: application/x-www-form-urlencoded
Expect: 100-continue

< HTTP/1.1 100 Continue
< HTTP/1.1 200 OK
< Server: nginx
< Date: Sun, 06 Mar 2016 14:13:00 GMT
< Content-Type: text/html; charset=windows-1251
< Transfer-Encoding: chunked
< Connection: keep-alive
< Set-Cookie: bb_t=a%3A1%3A%7Bi%3A5126084%3Bi%3A1457017707%3B%7D; expires=Wed, 04-Mar-2026 14:13:00 GMT; path=/forum/; domain=.rutracker.org
< Cache-Control: private, pre-check=0, post-check=0, max-age=0
< Expires: 0
< Pragma: no-cache
< X-Frame-Options: SAMEORIGIN
<
* Connection #0 to host rutracker.org left intact
Время выполнения: 2.7434928417206

Попробовал сменить пароль на рутрекере и в настройках ТМ. С закомментированной строкой все отработало. Думаю, кука должна была поменяться, а значит, логин сработал. Хотя хз. Какой еще опыт провести?

KorP
Администратор
Сообщения: 1305
Зарегистрирован: 26 фев 2015, 11:34

Re: [Важно!] Проблемы в работе ТМ на Debian/Ubuntu

Сообщение KorP » 06 мар 2016, 18:04

ну так время обновления обновляется в ТМ? торрент-файл скачивается? торрент-файл корректен? вон они проверки...
а по логу на самом деле странно, я в первом логе вижу что он куку отправляет,те по факту - запросы одинаковы

Код: Выделить всё

> POST /forum/index.php HTTP/1.1
Host: rutracker.org
User-Agent: Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0
Accept: */*
Cookie: bb_data=1-27401-faUw17hD4Zp3pbn0Gb6S-0-1457273368-1457273368-2817325827-1;
Content-length: 74
Content-Type: application/x-www-form-urlencoded
Expect: 100-continue

Код: Выделить всё

> POST /forum/index.php HTTP/1.1
Host: rutracker.org
User-Agent: Mozilla/5.0 (Windows NT 6.3; rv:36.0) Gecko/20100101 Firefox/36.0
Accept: */*
Cookie: bb_data=1-27401-faUw17hD4Zp3pbn0Gb6S-0-1457273368-1457273368-2817325827-1;
Content-Type: application/x-www-form-urlencoded
Expect: 100-continue
но почему то в первом случае он в итоге на странице логин ваш не находит и лезет авторизоваться, а во втором случае ё вс- ок. ещё мне не ясно как во втором запросе оказывается параметр Host, если вы закоментили заголовки и при этом Content-length в запросе нет...в общем кране странное поведение.

morr
Сообщения: 33
Зарегистрирован: 19 окт 2015, 03:09

Re: [Важно!] Проблемы в работе ТМ на Debian/Ubuntu

Сообщение morr » 06 мар 2016, 18:15

Время обновляется, торрент скачивается, добавляется в трасмишн. Все работает.

KorP
Администратор
Сообщения: 1305
Зарегистрирован: 26 фев 2015, 11:34

Re: [Важно!] Проблемы в работе ТМ на Debian/Ubuntu

Сообщение KorP » 06 мар 2016, 18:24

хм...интересно конечно получается.
а с другими трекерами как себя ведёт? с лостом, к примеру?
а попробуйте не комментить все заголовки в принципе, а убрать для самого рутрекера вот этот параметр из заголовка

Код: Выделить всё

'Content-length' => strlen($sess_cookie)
в 3 местах его нужно убрать

Ответить