HandyCache форум

Главная категория => Новые предложения => Тема начата: ve51 от 07 Июнь 2014, 12:57:51



Название: Поддержка PAC-файлов
Отправлено: ve51 от 07 Июнь 2014, 12:57:51
Считаю актуальной проблему поддержки безусловными прокси PAC-файлов.


Название: Re: Поддержка PAC-файлов
Отправлено: LordMerlin от 09 Июнь 2014, 10:50:35
Да уж. Очень бы хотелось. Но это так, в качестве хотелки.


Название: Re: Поддержка PAC-файлов
Отправлено: Anymore от 16 Июнь 2014, 16:05:44
В HC нет возможности автоматического поиска рабочего прокси сервера, что собственно, препятствует с "поддержке РАС-файлов."


Название: Re: Поддержка PAC-файлов
Отправлено: LordMerlin от 17 Июнь 2014, 10:02:08
Так идея РАС файлов не в автоматическом поиске рабочих, а та же идеология условных прокси, только список условий загружается из внешнего файла и все.


Название: Re: Поддержка PAC-файлов
Отправлено: alex77 от 17 Июнь 2014, 12:05:21
Хотя бы решение с помощью расширения, если оно реализуемо


Название: Re: Поддержка PAC-файлов
Отправлено: Anymore от 17 Июнь 2014, 13:46:44
Так идея РАС файлов не в автоматическом поиске рабочих, а та же идеология условных прокси, только список условий загружается из внешнего файла и все.

простейший pac файл может выглядеть так
Код:
function FindProxyForURL(url, host) {
return "PROXY proxy.example.com:8080; DIRECT";
}

Если proxy.example.com будет не доступен, подключаться напрямую без прокси. Большинство готовых pac используют эту возможность. Как обыграть такое в HC, пусть даже расширениями, лично я не представляю.


Название: Re: Поддержка PAC-файлов
Отправлено: LordMerlin от 17 Июнь 2014, 18:15:47
Все намного проще. И вы заблуждаетесь в механизме работы. Мы же тут не говорим чтобы работало так, как в браузерах, потому что в таких РАС файлах Ява конструкции используются. Разговор про парсинг и использование динамических списков.
А тут уже все проще.
Если адрес ресурса совпадает с одним из перечисленных после
function FindProxyForURL(url, host) {
то работаем через
proxy.example.com:8080
иначе
DIRECT

ЭЛЕМЕНТАРНО.


Название: Re: Поддержка PAC-файлов
Отправлено: Anymore от 17 Июнь 2014, 20:46:11
Как Вы однако заносчивы)) Я знаю что там java.
В общем то, всё от цели зависит. А у Вас она какая?


Название: Re: Поддержка PAC-файлов
Отправлено: LordMerlin от 18 Июнь 2014, 10:13:45
Да ну что вы. Просто слог у меня такой, менторский. С привычками сложно бороться. Простите если обидел.
У меня цель элементарная, подключить в НС вот этот лист
http://antizapret.prostovpn.ru/proxy.pac
Чтобы НС сам по нему ходил, а сейчас приходится скачивать его и править секцию заменяя DIRECT на 127.0.0.1:8080
Но это не то. Хочется же и по этим сайтам ходить через НС.


Название: Re: Поддержка PAC-файлов
Отправлено: mai62 от 18 Июнь 2014, 16:27:37
Можно сделать расширение, которое пропарсит этот pac-файл, выберет IP-адреса из него и будет направлять нужные запросы через прокси.
Использовать функцию hc.get_host_IP() и переменную hc.use_proxy.
Даже можно сделать чтобы расширение периодически само скачивало pac-файл и парсило его.


Название: Re: Поддержка PAC-файлов
Отправлено: LordMerlin от 18 Июнь 2014, 16:42:36
Золотые слова.
На большее не рассчитываем.


Название: Re: Поддержка PAC-файлов
Отправлено: mai62 от 18 Июнь 2014, 19:04:17
Я не пишу на lua, поэтому расширение написать для меня тоже требует усилий. Вот насобирал по строчке из разных расширений, получилось что-то.
Расширение умеет парсить файл proxy.pac (файл надо скачать и положить рядом с расширением) с целью сбора списка IP. Когда встретит запрос на IP из списка, направит его через прокси.


Название: Re: Поддержка PAC-файлов
Отправлено: alex77 от 19 Июнь 2014, 01:23:30
Можно сделать расширение, которое пропарсит этот pac-файл, выберет IP-адреса из него и будет направлять нужные запросы через прокси.
Использовать функцию hc.get_host_IP() и переменную hc.use_proxy.
Даже можно сделать чтобы расширение периодически само скачивало pac-файл и парсило его.
именно это нам и надо. Большего и не требуется


Название: Re: Поддержка PAC-файлов
Отправлено: LordMerlin от 19 Июнь 2014, 09:14:50
Я не пишу на lua, поэтому расширение написать для меня тоже требует усилий. Вот насобирал по строчке из разных расширений, получилось что-то.
Расширение умеет парсить файл proxy.pac (файл надо скачать и положить рядом с расширением) с целью сбора списка IP. Когда встретит запрос на IP из списка, направит его через прокси.
СПАСИБО ОГРОМНОЕ. Пошел тестить.

АП.
Попробовал. Что-то не работает.


Название: Re: Поддержка PAC-файлов
Отправлено: YuS от 19 Июнь 2014, 10:24:06
АП.
Попробовал. Что-то не работает.
Что именно не работает?
pac-файл надо бы показать и кроме того, прокси, если я правильно понял, должен быть внесен в само расширение... сейчас там присутствует:
proxy.antizapret.prostovpn.org:3128


Название: Re: Поддержка PAC-файлов
Отправлено: LordMerlin от 19 Июнь 2014, 12:44:29
По порядку. Скамал отсюда файлик http://antizapret.prostovpn.ru/proxy.pac положил рядом с расширением, подключил в НС, для верности нажал перечитать расширение. Почистил кэш ДНС в НС и в ситеме. Открываю ННМ-Клаб смотрю на блок.

Если просто РАС файл использовать в браузере то треккер открывается.


Название: Re: Поддержка PAC-файлов
Отправлено: YuS от 19 Июнь 2014, 12:55:07
По порядку. Скамал отсюда файлик http://antizapret.prostovpn.ru/proxy.pac положил рядом с расширением, подключил в НС, для верности нажал перечитать расширение. Почистил кэш ДНС в НС и в ситеме. Открываю ННМ-Клаб смотрю на блок.

Если просто РАС файл использовать в браузере то треккер открывается.

Что-то не так выполнено, ибо:
Код:
19.06.2014/14:52:13 local/127.0.0.1 http://nnm-club.me/ 18518 18518/397 100% 387 "200 OK gzip" IPlist2proxy, З.1, CM:9 hits
IPlist2proxy
З.1 (Запись в кэш): .* 
CM:9 hits

А это без плагина:
Код:
19.06.2014/14:57:31 local/127.0.0.1 http://nnm-club.me/ 18518 18518/385 100% 419 "200 OK gzip" З.1, CM:9 hits
З.1 (Запись в кэш): .* 
CM:9 hits

Проверьте в браузере:
http://proxy.antizapret.prostovpn.org:3128/
Если недоступен, то увы... надо просто вписать рабочий прокси.


Название: Re: Поддержка PAC-файлов
Отправлено: LordMerlin от 19 Июнь 2014, 13:06:52
Та я понимаю. Дело в том, что само расширение не срабатывает. Нет записи IPlist2proxy в логе.
Видимо где-то что-то с ДНС, мне отдается адрес ресурса, который не соответствует списку.
Добавлено: 19 Июнь 2014, 13:02:40

Проверьте в браузере:
http://proxy.antizapret.prostovpn.org:3128/
Если недоступен, то увы... надо просто вписать рабочий прокси.
Выше уже писал, просто с файлом все работает.


Название: Re: Поддержка PAC-файлов
Отправлено: YuS от 19 Июнь 2014, 13:10:06
Та я понимаю. Дело в том, что само расширение не срабатывает. Нет записи IPlist2proxy в логе
Так ведь, я привел, как раз, строку из монитора HC, которая говорит о том, что всё работает. Хоть у меня и без прокси открывается этот сайт...
Добавлено: 19-06-2014, 15:07:57

Выше уже писал, просто с файлом все работает.
Что значит "просто с файлом"?
Скачиваю пак-файл по указанному выше адресу, помещаю его рядом с плагином, запускаю - всё работает.


Название: Re: Поддержка PAC-файлов
Отправлено: LordMerlin от 19 Июнь 2014, 13:12:06
В том то и дело, у вас отдается реальный адрес ресурса, который и находится в списке, потому и срабатывает. А мне отдается адрес заглушки, потому и не срабатывает.
Добавлено: 19 Июнь 2014, 13:11:26

Что значит "просто с файлом"?
Значит в настройках браузера его подключаю, без НС.


Название: Re: Поддержка PAC-файлов
Отправлено: YuS от 19 Июнь 2014, 13:13:19
Видимо где-то что-то с ДНС, мне отдается адрес ресурса, который не соответствует списку.
"ping nnm-club.me" - какой IP высвечивает?


Название: Re: Поддержка PAC-файлов
Отправлено: mai62 от 19 Июнь 2014, 13:15:30
Расширение пишет в логе НС сколько оно IP-адресов нашло в файле:
1869  адресов в списке
У Вас сколько?
Измените функцию header_send на такую
Код:
function header_send()
local al= hc.get_global('IPList2proxy')
if #al<1 then return end
  local Host = re.find(hc.request_header, [[^Host: *\K[^\r\n]+]])
--  hc.put_to_log('Host-'..Host)
if not Host then return end
local IP= hc.get_host_IP(Host)
  hc.put_to_log('url-'..hc.url..'   IP-'..IP)
if not IP then return end
  local i
  for i=1, #al do
    if al[i]==IP then
   hc.use_proxy= 'proxy.antizapret.prostovpn.org:3128';
      hc.monitor_string = hc.monitor_string .. ', IPlist2proxy'
   return
    end
  end
end
В лог НС будет выводиться URL и IP, проверьте есть ли IP в файле.
У меня с раcширением и свежим pac-файлом указанный сайт открывается. Со вчерашним pac-файлом не открывался, в нем не было нужного IP.


Название: Re: Поддержка PAC-файлов
Отправлено: YuS от 19 Июнь 2014, 13:20:16
Измените функцию header_send на такую
Так ведь там и так именно эта функция или есть разные версии плагина?


Название: Re: Поддержка PAC-файлов
Отправлено: mai62 от 19 Июнь 2014, 13:31:01
В этой я одну строку добавил для вывода в лог URL и IP. Восьмая строка сверху.


Название: Re: Поддержка PAC-файлов
Отправлено: LordMerlin от 19 Июнь 2014, 17:08:42
nslookup:
Name:    nnm-club.me
Addresses:  46.246.41.63, 213.5.69.179

Цитировать
У Вас сколько?
1873  адресов в списке

Ни один не совпадает.
Потому и не работает.
Спасибо за расширение, дальше мои проблемы.

Забыл сказать. Сейчас и на прямую открывается. Видимо адрес сменили. До обеда был точно другой 186.2.161.82, это заглушка Ростелекома.


Название: Re: Поддержка PAC-файлов
Отправлено: ve51 от 02 Ноябрь 2016, 14:45:15
Не могу понять почему перестало работать расширение.
Это общая проблема или только моя?


Название: Re: Поддержка PAC-файлов
Отправлено: nickston от 03 Декабрь 2016, 21:29:32
Проблема общая.
немного подправил.
список грузиться при запуске расширения
(для обновления списка, качаем .pac кидаем в папку, перегружаем расширение)


Название: Re: Поддержка PAC-файлов
Отправлено: ggman от 27 Февраль 2017, 23:34:45
привет, спасибо разработчику и всем, кто поддерживает проект.
к сожалению, я "ни бум-бум" в регулярных выражениях, поэтому прошу помощи тут.

во всех версиях IPlist2proxy найдена одна и та же проблема при работе с последними версиями Mozilla Firefox/Google Chrome:
расширение некорректно определяет адрес хоста при использовании https (в виде 'домен:443' вместо 'домен'), в результате чего следующая функция не может из-за неверного dns-запроса определить его IP и направить через прокси:(
причем независимо от версии HC, на старом FF 19.0.2 все работает прекрасно (пока не обновишь первый раз до версии 43)!

в логе запись:
Код:
27.02.17 22:07:18,543 # 266 -=< MESSAGE FROM EXTENSION >=- C:\HandyCache\Extensions\IPlist2proxy.lua
Host-example.сom:443
соответственно, при использовании последних версий FF/Chrome появилась эта приставка :443, которая и отправляется в качестве параметра днс-серверу (видно также в wireshark'е).

подозреваю, копать надо в 55й строке:
Код:
local Host = re.find(hc.request_header, [[^Host: *\K[^\r\n]+]])
что бы там заменить, дабы не прибавляло :443 к адресу хоста? желательно универсальное

p.s. вместо example.сom - любой домен, имя и/или IP которого присутствует в скачиваемом PAC, который должен идти через прокси.
надеюсь, не будет советов "используй другой браузер", ибо их много. Заметил, что еще работает в IE, а также на Ios в safari.


Название: Re: Поддержка PAC-файлов
Отправлено: nickston от 28 Февраль 2017, 09:36:36
Пробуйте


Название: Re: Поддержка PAC-файлов
Отправлено: ggman от 28 Февраль 2017, 22:46:03
Пробуйте
большое спасибо! теперь работает как надо :good:


Название: Re: Поддержка PAC-файлов
Отправлено: ggman от 04 Март 2017, 20:08:20
еще давно заметил, что на последних версиях handycache почему-то перестали выводиться в монитор сообщения об использовании прокси (iplist2proxy); вместо этого в столбце "правила" пустота, хотя при использовании лога и по факту видно, когда идет через прокси. одна из последних версий, где нормально работал вывод в монитор, 1.0.0.470. реально ли и это пофиксить?


Название: Re: Поддержка PAC-файлов
Отправлено: nickston от 05 Март 2017, 21:18:53
как и споследней ситуацией (с портом) это изменнения внутри хк, и проблема не вывода это проблема в хк а не в расширении.


Название: Re: Поддержка PAC-файлов
Отправлено: nickston от 12 Ноябрь 2017, 00:12:28
есть ощущение что pac файл изменили, посему опять подпилил расширение


Название: Re: Поддержка PAC-файлов
Отправлено: Janus от 12 Ноябрь 2017, 06:35:26
Спасибо.
Заинтересовался, почему увеличился размер файла и судя по коду, в расширение была добавлена возможность автоматического обновления PAC-файла. Вот только как это работает, потому что кнопка "настройка расширения" неактивна и панель с настройками не включается?


Название: Re: Поддержка PAC-файлов
Отправлено: nickston от 12 Ноябрь 2017, 08:27:48
Пока никак, пока было время начал добавлять форму с настройками и автообновление, но не доделал.


Название: Re: Поддержка PAC-файлов
Отправлено: Merh от 12 Январь 2018, 15:18:51
А у меня не работает.
Сделал папку в проге ,скинул туда pac-файл, само расширение, в программе его включил, программу перезагрузил, а на сайты не пускает.
Лог пустой.
Скрин, примерно, такой..
Может я что ещё где не прописал в настройках программы или в браузере?
(https://c.radikal.ru/c22/1801/43/c6ce7dab68e6.jpg)
PS.А не, лог не пустой, в логе вот:
Цитировать
12.01.18 15:27:31,297 # 113:  Client Disconnection

12.01.18 15:27:31,297 # 116:  Client Disconnection

12.01.18 15:27:31,298 # 118:  Client Disconnection

12.01.18 15:27:31,298 # 114:  Client Disconnection

12.01.18 15:27:31,298 # 111:  Client Disconnection

12.01.18 15:27:31,299 # 117:  Client Disconnection

12.01.18 15:27:31,299 # 112:  Client Disconnection

12.01.18 15:27:55,910 # 120: Start connection from client

12.01.18 15:27:55,910 # 120: Connection from 127.0.0.1:51838 to HC Version 1.00 RC4 (1.0.0.700)

12.01.18 15:27:55,910 # 120: User name: local

12.01.18 15:27:55,910 # 120 <<< URL: https://rutracker.org:443
Request:
CONNECT rutracker.org:443 HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0
Proxy-Connection: keep-alive
Connection: keep-alive
Host: rutracker.org:443

12.01.18 15:27:55,910 # 120 -=< MESSAGE FROM EXTENSION >=- C:\PROG\HandyCacheRC4.1.0.0.647\script\IPlist2proxy.lua
Host-rutracker.org

12.01.18 15:27:55,911 # 120: DNS resolve rutracker.org --> 195.82.146.214 (From cache)

12.01.18 15:27:55,911 # 120 <<< URL: https://rutracker.org:443
Connection to 195.82.146.214:443

12.01.18 15:27:56,132 # 120:  Outbound Connection, Local port: 51839

12.01.18 15:27:56,132 # 120:  Outbound Connection, SSL mode

12.01.18 15:27:56,132 # 120 <<< URL: https://rutracker.org:443
HTTP/1.1 200 Connection established (HC)

12.01.18 15:27:56,132 # 120:  Client Disconnection



Название: Re: Поддержка PAC-файлов
Отправлено: nickston от 12 Январь 2018, 15:48:26
в мониторе время 15 12 в логе 15 27, не рядом
пак и луа в одной папке? или пак и папка с луа в одной папке


Название: Re: Поддержка PAC-файлов
Отправлено: Merh от 12 Январь 2018, 15:54:28
Конечно не рядом.
Я сперва не понял, что лог не включил, написав, что он пустой.
Вот приведённый лог и скрин выше - он как был, так и есть, ничего не меняеется.
(В смысле если вы про ошибку в системном времени, то нет, всё на месте, время нормальное).
Цитировать
12.01.18 15:52:29,899 # 768: Start connection from client

12.01.18 15:52:29,899 # 768: Connection from 127.0.0.1:53128 to HC Version 1.00 RC4 (1.0.0.700)

12.01.18 15:52:29,899 # 768: User name: local

12.01.18 15:52:29,899 # 768 <<< URL: https://rutracker.org:443
Request:
CONNECT rutracker.org:443 HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0
Proxy-Connection: keep-alive
Connection: keep-alive
Host: rutracker.org:443

12.01.18 15:52:29,900 # 768 -=< MESSAGE FROM EXTENSION >=- C:\PROG\HandyCacheRC4.1.0.0.647\script\IPlist2proxy.lua
Host-rutracker.org

12.01.18 15:52:29,900 # 768: DNS resolve rutracker.org --> 195.82.146.214 (From cache)

12.01.18 15:52:29,901 # 768 <<< URL: https://rutracker.org:443
Connection to 195.82.146.214:443

12.01.18 15:52:30,228 # 768:  Outbound Connection, Local port: 53129

12.01.18 15:52:30,228 # 768:  Outbound Connection, SSL mode

12.01.18 15:52:30,228 # 768 <<< URL: https://rutracker.org:443
HTTP/1.1 200 Connection established (HC)

12.01.18 15:52:30,228 # 768:  Client Disconnection

А скрин из монитора программы тот же самый..
Цитировать
пак и луа в одной папке?
Разумеется.
И данная папка лежит в корне самой папки "хендикеша".


Название: Re: Поддержка PAC-файлов
Отправлено: nickston от 12 Январь 2018, 15:55:46
по логу пишет что клиент отключился, те браузер


Название: Re: Поддержка PAC-файлов
Отправлено: Merh от 12 Январь 2018, 16:02:31
по логу пишет что клиент отключился, те браузер
А лечить-то как? Может я что где не дописал?


Название: Re: Поддержка PAC-файлов
Отправлено: nickston от 12 Январь 2018, 16:04:20
а в мониторе бегунок сдвинуть в право, там колонка со служебными сообщениями "правила" ее бы глянуть


Название: Re: Поддержка PAC-файлов
Отправлено: Merh от 12 Январь 2018, 16:07:38
а в мониторе бегунок сдвинуть в право, там колонка со служебными сообщениями
Так нет же.
Единственное, что там есть - вот.
Но это я его в белый список внёс и всё.
(https://d.radikal.ru/d20/1801/e0/91ae196a5426.jpg)


Название: Re: Поддержка PAC-файлов
Отправлено: nickston от 12 Январь 2018, 16:13:37
а вот если ввести вот этот адрес: a-class.org


Название: Re: Поддержка PAC-файлов
Отправлено: Merh от 12 Январь 2018, 16:17:18
Этот адрес открывается.
Так его у меня ,вроде - провайдер и не блочит.
PS.Это я к тому, что если в браузере сам "рас" поставить, без "хендикеша" - то торент открывается, значит "рас" - рабочий, а когда ставишь расширение, то.. нет.
Может я ещё где что не прописал, порт там какой, не?


Название: Re: Поддержка PAC-файлов
Отправлено: nickston от 12 Январь 2018, 16:20:51
дело не в том просто он открывается или нет, дело в том что в мониторе в поле правило должно быть IPlist2proxy.
Если есть то расширение считало пак и работает. если нет то тогда надо смотреть.
другой момент тут хттпс соединение идет через хенди кеш те получается что между браузером и сайтом вклинился хенди кеш и браузер скорее всего должен сообщать о неверном сертификате или что то наподобие


Название: Re: Поддержка PAC-файлов
Отправлено: Merh от 12 Январь 2018, 16:29:19
в мониторе в поле правило должно быть IPlist2proxy.
Нет, такой строки нет.

Цитировать
браузер скорее всего должен сообщать о неверном сертификате или что то наподобие
так нет же, ничего не пишет, ничего не требует, никакой иконки в адресной строке красной там, или ошибочной - ничего.

Добавлено: 12 Январь 2018, 16:24:33

Или про браузер имелось ввиду вот это?
(https://d.radikal.ru/d29/1801/7a/73d1b4a57ab0.jpg)

(https://a.radikal.ru/a15/1801/1b/92e5619b31b9.jpg)
Я не знаю.
Точно надо было просто положить "рас" рядом со скриптом, подключить скрипт в программе и нигде больше ничего не прописывать?
Если только это - то не работает.


Название: Re: Поддержка PAC-файлов
Отправлено: nickston от 12 Январь 2018, 16:36:25
вот так:
(http://pac.jpg)


Название: Re: Поддержка PAC-файлов
Отправлено: Merh от 12 Январь 2018, 16:40:47
А у меня этого ini вообще нет.
В папке только сам скрипт с расширением lua, и рас файл.
Всё.
Откуда у вас ini?


Название: Re: Поддержка PAC-файлов
Отправлено: nickston от 12 Январь 2018, 17:00:12
это была идея сделать авто обновление pac, так что у вас может и не быть. если остальные есть то по идее должно работать


Название: Re: Поддержка PAC-файлов
Отправлено: Merh от 12 Январь 2018, 17:01:50
Должно, но не работает.
Куда копать? Мыслей нет.


Название: Re: Поддержка PAC-файлов
Отправлено: alex77 от 12 Январь 2018, 17:10:19
Мыслей нет.
телепатов тоже нет

у вас вообще ХК работает?
Добавлено: 13 Январь 2018, 00:08:22

А у меня этого ini вообще нет.
В папке только сам скрипт с расширением lua, и рас файл.
покажите скачанные файлы. может не то скачали?


Название: Re: Поддержка PAC-файлов
Отправлено: Merh от 12 Январь 2018, 17:17:00
Цитировать
телепатов тоже нет
так что сделать-то, ну там лог какой ещё приложить, настройки какие отскринить?
Цитировать
у вас вообще ХК работает?
разумеется.
Цитировать
покажите скачанные файлы. может не то скачали?
эээ
"рас" файл, непосредственно по ссылке: https://antizapret.prostovpn.org/proxy.pac
расширение вот из этой темы, из сообщения nickston со второй страницы данной темы.
Оно, вроде - самое последнее?
(https://c.radikal.ru/c01/1801/e9/8e6cd956fa57.png)
Цитировать
12.01.18 17:19:21,357 # 1611: Start connection from client

12.01.18 17:19:21,357 # 1611: Connection from 127.0.0.1:56125 to HC Version 1.00 RC4 (1.0.0.700)

12.01.18 17:19:21,357 # 1611: User name: local

12.01.18 17:19:21,357 # 1611 <<< URL: https://rutracker.org:443
Request:
CONNECT rutracker.org:443 HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0
Proxy-Connection: keep-alive
Connection: keep-alive
Host: rutracker.org:443


12.01.18 17:19:21,360 # 1611 -=< MESSAGE FROM EXTENSION >=- C:\PROG\HandyCacheRC4.1.0.0.647\script\IPlist2proxy.lua
Host-rutracker.org

12.01.18 17:19:21,360 # 1611: DNS resolve rutracker.org --> 195.82.146.214 (From cache)

12.01.18 17:19:21,360 # 1611 <<< URL: https://rutracker.org:443
Connection to 195.82.146.214:443

12.01.18 17:19:21,486 # 1611:  Outbound Connection, Local port: 56126

12.01.18 17:19:21,486 # 1611:  Outbound Connection, SSL mode

12.01.18 17:19:21,486 # 1611 <<< URL: https://rutracker.org:443
HTTP/1.1 200 Connection established (HC)


12.01.18 17:19:21,521 # 1611:  Client Disconnection



Название: Re: Поддержка PAC-файлов
Отправлено: nickston от 12 Январь 2018, 18:52:12
последняя не от февраля, чуть ниже версия от ноября


Название: Re: Поддержка PAC-файлов
Отправлено: Merh от 12 Январь 2018, 18:57:48
Гы. Ну тогда я близорукий идиот, (что с моим зрением не удивительно), который это не заметил.
Теперь работает, да.
Благодарю.


Название: Re: Поддержка PAC-файлов
Отправлено: Merh от 14 Январь 2018, 20:29:21
Эм.. внезапно, появилось два вопроса:
1) можно ли самостоятельно создать РАС файл? Например ,вот список онлайн-проксей, можно на их основе слепить свой РАС?
https://www.socks-proxy.net/

2)Данный скрип, который обсуждается в этой ветке, он сколько РАС файлов может подхватить (при условии, что они лежат в папке рядом с ним)?
Вот сейчас там РАС от "антизапрета", а если ещё пару кинуть?


Название: Re: Поддержка PAC-файлов
Отправлено: nickston от 14 Январь 2018, 21:46:20
в пак файле идея такая: идет список адерсов и ип и указан для них прокси, можно указать несколько списков под разные прокси
так сказать все наоборот для списка один прокси а не список прокси

скрипт читает один файл, накидать в папку можно не только пару.


Название: Re: Поддержка PAC-файлов
Отправлено: Merh от 14 Январь 2018, 22:03:01
можно указать несколько списков под разные прокси
А можно с наглядным примером?

Цитировать
скрипт читает один файл, накидать в папку можно не только пару.
Но так ведь остальные файлы тогда читаться не будут?
Или имелось ввиду "менять по мере нужности"?


Название: Re: Поддержка PAC-файлов
Отправлено: nickston от 14 Январь 2018, 22:28:12
вот (http://pac.png)

да не будут но это же не мешает их туда скопировать. имелось в виду что если место есть и есть разрешение то файл можно копировать, вы же хотели копировать файлы в эту папку?


Название: Re: Поддержка PAC-файлов
Отправлено: Merh от 14 Январь 2018, 22:46:53
Эм.. в предложенном примере, я правильно понимаю ,что адрес: intranet.domaine.com
 с поддоменами, а так же адреса 10.0.0.0 и 172.16.0.0 (и прочие цифровые), пускаются через прокси: 4.5.6.7:8080 и 7.8.9.10:8080, да?

Собственно - зачем спросил: мне показалось проще пускать не траффик "TOR" через "хендикеш", а прикрутить к "хендикеш" настроенный РАС файл, не для всего и вся, а конкретно для нескольких сайтов, а то - я не настолько шифруюсь ,чтобы ВСЁ гонять через TOR.

Получается, что, если использовать РАС файл, то мы имеем список нескольких сайтов, что пойдут через прокси, а весь остальной траффик - не через прокси.

Собственно - зачем хотел - я не смыслю со сниффером работать, да и фаерволы сложно.. а здесь - будет видно в мониторе "хендикеша", что качается - что не нужно - порезал и запретил..
Думалось как бы так.


Название: Re: Поддержка PAC-файлов
Отправлено: nickston от 14 Январь 2018, 23:00:31
Не хотелось бы вас огорчать, но со зрением беда.
глядя на надписи видно куча разных ретурнов, а перед ними куча разынх условий содержащих или адрес или ип, что как бы намекает что во зависимости от условия будет возвращено разное значение которе логично предположить и будет адресом прокси. если еще и подписи к каждому условию посмотреть то там будет тоже что я описал выше.

и ответ на вопрос нет.

если вы с хк хотите трафик гнать в тор, то тут 2 пути (в зависимости от того что удобнее):
1) в хк есть свой список условных прокси и если вам нужно всего пару адресов туда перекидывать то этот выбор удобнее ибо наглядно и настраевоемо через хк
2) использовать данное расширение удобно если есть список (хотя по в п1 список тоже можно закинуть), но рулить этим делом только вручную

пс: если нужно много пак файлов запустите много расширений


Название: Re: Поддержка PAC-файлов
Отправлено: Merh от 14 Январь 2018, 23:21:48
Не хотелось бы вас огорчать, но со зрением беда.
Скорее со знанием. Я поэтому пример синтаксиса и спросил.

Цитировать
глядя на надписи видно куча разных ретурнов,

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

Угу, на кажое из сработавших условий - вот потом оно и перенаправится.
Но логику работы условий я не понял.

Цитировать
если вы с хк хотите трафик гнать в тор
то есть можно не из "тор" в хендикеш, а наоборот, из хендикеша - заворачивать в "тор"?

Цитировать
1) в хк есть свой список условных прокси и если вам нужно всего пару адресов туда перекидывать то этот выбор удобнее ибо наглядно и настраевоемо через хк
(https://a.radikal.ru/a02/1801/49/f9863419a07f.jpg)
Это вот тут? То есть если мне надо всего так 50 сайтов, мне проще их здесь написать и к каждому проксю, или они все проксей обработаются, который впишешь?


Цитировать
2) использовать данное расширение удобно если есть список

именно. Который, я, правда, пока не понимаю - как надо создать для своего набора сайтов. Мне было бы удобно ну там для 30-40 сайтов создать себе список, и подключать по мере надобности.

Цитировать
пс: если нужно много пак файлов запустите много расширений
А их не надо переписывать? Достаточно сменить название, прикрепить в "расширениях" и каждый скрипт подхватит по одному списку РАС?


Название: Re: Поддержка PAC-файлов
Отправлено: nickston от 14 Январь 2018, 23:36:32
с логикой условй все просто, как говорил ранее задается что то типа списка и ему в соответствие прокси, если полученый адрес или ип попал в определенный список то для него возвращается соответствующий прокси который и  используется браузером.
и тут в списке можно указать или конкретные имена или домены и тд. последним в примере идет правило для все те елси не сработало ни одно условие то всегда выполниться это, его может и не быть что есть в пак от анитзапрета и подразумевает дургуй подход что надо гоним в прокси все остальное мимо. в примере в начале списки для прямого следования без прокси, потом пара прокси и последний прокси по умолчанию для всех.

без разницы что куда гнать,как построить цепочку это выбирать вам в зависимости от задачи. в своем вермя делал так браузер - хк - тор - хк -(прокси или инет). Те браузер гнал все на хк, который резал рекламу и тд и уже нужные запросы гнал в тор для шифрования, тор же сам в инет не лез а гнал трафик назад в хк и уже хк передавал или в инет или в сл прокси в зависимости от ситуации.

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

не надо понимать, открывайте уже имеющейся пак смотри как там и делайте также.
или перепишите расширение под свою задачу, данное расширение решает вопрос с пак от антизапрета и под него и заточено, в вашем случае вам много чего не надо, придумайте свою структуру файла ее и читайте своим расширением.

не надо, да


Название: Re: Поддержка PAC-файлов
Отправлено: Merh от 14 Январь 2018, 23:45:13
Цитировать
в пак от анитзапрета и подразумевает дургуй подход что надо гоним в прокси все остальное мимо.
Вот это и требуется, да.

Цитировать
не надо понимать, открывайте уже имеющейся пак смотри как там и делайте также.
или перепишите расширение под свою задачу, данное расширение решает вопрос с пак от антизапрета и под него и заточено, в вашем случае вам много чего не надо, придумайте свою структуру файла ее и читайте своим расширением.
Если бы я понимал, как это сделать.. разве бы я спрашивал.. я обычный юзверь, которому ***ский РКН заблочил группу с нарисованными цветными лошадьми. >:(


Название: Re: Поддержка PAC-файлов
Отправлено: nickston от 14 Январь 2018, 23:50:05
что пак что луа текстовые файлы, открывайте хоть блокнотом и смотрите, а дальше что вам проще/быстрее/удобнее


Название: Re: Поддержка PAC-файлов
Отправлено: Merh от 15 Январь 2018, 13:12:46
что пак что луа текстовые файлы, открывайте хоть блокнотом и смотрите
Так мозгов жи нет, что тогда смотреть-то?
Хотя, я, конечно, открыл, ещё в самом начале, посмотрел.

В скрипте в 3 местах минимум, вижу обращение к proxy.antizapret.prostovpn.org:3128 это, я так понимаю - сам прокси, к которому будет стучаться скрипт, и antizapret.prostovpn.org/proxy.pac а это уже сам "рас" файл.

Значит, чтобы заработал скрипт с другим скриптом\тами, надо в этих трёх местах поменять:
1) адрес, куда скрипт будет стучаться: proxy.antizapret.prostovpn.org:3128
2) название самого "рас", который скрипт будет обрабатывать: antizapret.prostovpn.org/proxy.pac

Если я правильно понимаю, то это в 3 местах:
Код:
function header_send()
local base_ip= hc.get_global('IPList2proxy_ip')
  local base_name= hc.get_global('IPList2proxy_name')
if #base_ip<1 and #base_name<1 then return end
  local Host = re.find(hc.request_header, [[^Host: *\K[^(\r\n)|(:)]+]])
  hc.put_to_log('Host-'..Host)
 -- hc.put_to_log('Host2-'..hc.request_header)
if not Host then return end
  --- check hame
  local i
  for i=1,#base_name do
    if base_name[i]==Host then
      hc.use_proxy= 'proxy.antizapret.prostovpn.org:3128';
      --hc.put_to_log('monstring='..hc.monitor_string)
      hc.monitor_string = hc.monitor_string .. ', IPlist2proxy'
      --hc.put_to_log('monstring2='..hc.monitor_string)
      return
    end
  end

Код:
local IP= hc.get_host_IP(Host)
  --hc.put_to_log('url-'..hc.url..'   IP-'..IP)
  --- check ip
if not IP then return end
     
  --for i=1, #al do
  for i=1, #base_ip do
    if base_ip[i]==IP then
    hc.use_proxy= 'proxy.antizapret.prostovpn.org:3128';
      hc.monitor_string = hc.monitor_string .. ', IPlist2proxy'
    return

Код:
function timer()
  t= os.time()
  if hc_static['NextStart'] < t then
    hc_static['LastStart']= t
    hc_static['NextStart']= t+hc_static['Period']*60
    SaveParams()
    local https_header = 'CONNECT https://antizapret.prostovpn.org:443 HTTP/1.1\r\nHost: https://antizapret.prostovpn.org\r\nConnection: keep-alive\r\n\r\n'
    hc.send_request('GET https://antizapret.prostovpn.org/proxy.pac HTTP/1.1\r\nUser-Agent: IPList\r\nConnection: close\r\n\r\n','',https_header)
   
    --hc.execute_cmd('ClearCache')
    --hc.put_msg('Загрузка и обновление pac')
    local s,e=hc.get_cache_file_name('https://antizapret.prostovpn.org/proxy.pac')
    hc.put_to_log('pac file loaded to- '..s)
    if e then
      local f = io.open(s, 'r')
      if f then
          local FilePac = f:read('*a')
          f:close()
          f = io.open(get_path()..[[proxy.pac]],'w')
          if f then
            f:write(FilePac)
            f:close()
            read_pac()


Название: Re: Поддержка PAC-файлов
Отправлено: nickston от 15 Январь 2018, 13:41:01
первые 2 да, 3 нет, если больше ничего не трогать то просто в папках пак файлы должны быть с одинаковыми именами. из пак файла берется только список ип и имен, прокси жестко заделан в скрипте, если есть желание можете доработать скрипт что бы можно было в одном файле указать кучу списков и к ним прокси, что бы все было в одном месте

в коде имя файла пак можно не менять можно изменить самого файла


Название: Re: Поддержка PAC-файлов
Отправлено: Merh от 15 Январь 2018, 13:59:28
Цитировать
первые 2 да, 3 нет
как же третий нет, если там строки:
Код:
local https_header = 'CONNECT https://antizapret.prostovpn.org:443 HTTP/1.1\r\nHost: https://antizapret.prostovpn.org\r\nConnection: keep-alive\r\n\r\n'
    hc.send_request('GET https://antizapret.prostovpn.org/proxy.pac HTTP/1.1\r\nUser-Agent: IPList\r\nConnection: close\r\n\r\n','',https_header)
разве не менять же?
Цитировать
если есть желание можете доработать скрипт что бы можно было в одном файле указать кучу списков и к ним прокси, что бы все было в одном месте
Я совершенно не смыслю ни в LUA, ни в скриптах.



Название: Re: Поддержка PAC-файлов
Отправлено: nickston от 15 Январь 2018, 14:19:46
не менять, то что там строки это хорошо, почти отлично

1) забить и просто заменить прокси и создать кучу расширений
2) открыть скрипты луа и в инете почитать
3) сразу почитать потом скрипты

пс: я тоже в луа не шарю


Название: Re: Поддержка PAC-файлов
Отправлено: Merh от 15 Январь 2018, 14:37:19
Если изменить "рас" под себя, то вот такой пример будет работать?
(не конкретно с этим скриптом, я про то - правильно я синтаксис понимаю, или нет?)
Код:
// Generated on Fri Jan 12 11:10:49 MSK 2018

d_ad = "\                 // это начало списка?
a-class.org \
a-diplom.com \
a-diploma.com \
a-diplomas.com \
a-diploms.com \
a-hentai.com \
a-mks.ru \
a-plagiata.net \
a-pozdrav.info \
".split(" ");            //а это закрытие конца текста списков сайтов?

on FindProxyForURL(url, host) {
  if (/\.(ru|co|cu|com|info|net|org|gov|edu|int|mil|biz|pp|ne|msk|spb|nnov|od|in|ho|cc|dn|i|tut|v|dp|sl|ddns|duckdns|livejournal|herokuapp|azurewebsites|ucoz)\.[^.]+$/.test(host))
    host = host.replace(/(.+)\.([^.]+\.[^.]+\.[^.]+$)/, "$2");
  else
    host = host.replace(/(.+)\.([^.]+\.[^.]+$)/, "$2");

  if (/^[a-d]/.test(host)) curarr = d_ad;
  else if (/^[e-h]/.test(host)) curarr = d_eh;
  else if (/^[i-l]/.test(host)) curarr = d_il;
  else if (/^[m-p]/.test(host)) curarr = d_mp;
  else if (/^[q-t]/.test(host)) curarr = d_qt;
  else if (/^[u-z]/.test(host)) curarr = d_uz;
  else curarr = d_other;

  var oip = dnsResolve(host);

  for (var i = 0; i < d_ipaddr.length; i++)
    if (oip === d_ipaddr[i]) {oip = 1; break;}

  for (var i = 0; i < curarr.length; i++) {
    if (oip === 1 || host === curarr[i]) {
    return "HTTPS 192.30.85.22  1080; PROXY 192.30.85.22     1080; DIRECT"; //proxy.antizapret.prostovpn.org:3128 меняем на наше прокси 192.30.85.22  1080
    }
  }

  return "DIRECT";

здесь я кинул несколько примерных сайтов, и поменял прокси через которое он ходил proxy.antizapret.prostovpn.org:3128 на свой 192.30.85.22  1080
Больше одного прокси, подозреваю ,в "рас" дописать нельзя? А то, ну может он сдох уже, а я не знаю, вот на случай, что сдох один - так работать будет второй, третий..


Название: Re: Поддержка PAC-файлов
Отправлено: nickston от 15 Январь 2018, 14:57:55
опять все не так. Следите за мыслью:
1) в proxy.pac берется список и не важно что там еще есть в файле
2) скрипт луа дербанить этот список и "мониторит" запросы, если адрес в запросе попал в список то к запросу добавляется прокси из этого скрипта

отсюда план действий в прокси меняете список, в луа меняете прокси

можно сказать что это начало и конец списка, а можно предположить что это массив в виде строки где разделителем указан пробел

По поводу HTTPS 192.30.85.22  1080; PROXY 192.30.85.22     1080; DIRECT" , так сказать мои размышления:
1) скорее всего тут подразумевается цепочка отказа, те пробуем первый прокси, за ним второй и если и он мертвый то напряму, если требуется шифрование то мне думается лучше не выйти в инет чем послать данные в открытом виде
2) для прокси скорее всего без разницы запрос http или https, посему мне думается что HTTPS 192.30.85.22  1080=PROXY 192.30.85.22     1080 если HTTPS 192.30.85.22  1080 так вообще можно писать.

опять таки pac файлы браузер может и с диска открывать так что если надо проверить пробуйте в браузере, то что было в начале касалось сути работы расширения, если для теста то можете менять прокси на свой


Название: Re: Поддержка PAC-файлов
Отправлено: alexey65536 от 07 Февраль 2018, 19:03:35
Скачал расширение и рас-файл, добавил расширение в список НС, поставил галку "Активно" - а вместо соотв. сайтов открывается затычка РТ...


Название: Re: Поддержка PAC-файлов
Отправлено: nickston от 07 Февраль 2018, 19:59:13
включите лог в мониторе посмотрите что там при включении расширения и при открытии сайта смотрите что пишет в строке с правилом


Название: Re: Поддержка PAC-файлов
Отправлено: alexey65536 от 07 Февраль 2018, 21:33:07
Сейчас просто не открывается, раньше открывало заглушку РТ.
https://pastebin.com/qMxxBMbQ
Плагин в логе присутствует, а что-то большее из этого мрака понять у меня не получается.


Название: Re: Поддержка PAC-файлов
Отправлено: nickston от 07 Февраль 2018, 22:58:08
Сейчас просто не открывается, раньше открывало заглушку РТ.
https://pastebin.com/qMxxBMbQ
Плагин в логе присутствует, а что-то большее из этого мрака понять у меня не получается.
Судя по логу, в инет лезете фирефоксом, вот ему чем то не нравиться выход в инет на https через хенди кешь (или не через хенди а последующие прокси), попробуйте другой браузер


Название: Re: Поддержка PAC-файлов
Отправлено: alexey65536 от 08 Февраль 2018, 08:27:35
Попробовал хром. Заглушка (на firefox сейчас тоже).
Возможно, что-то не так делаю при установке расширения.
Второй вариант - оно таки не работает. По-моему, тут третьего не дано.

Расширение берет рас-файл с сервера или из локального каталога? Я пробовал редактировать локальный файл, но результат нулевой.


Название: Re: Поддержка PAC-файлов
Отправлено: nickston от 08 Февраль 2018, 09:05:21
Чуть выше описан принцип работы, с локального файла
Проверяется легко:
1) убираю прокси из браузера
2) открываю pac файл и перехожу по ссылкам из него пока не получу сообщение о заблокированной странице (не все из этого списка заблокированны)
3) включаю прокси
4) опять захожу на ту же ссылку все работает
5) в хк в мониторе вижу "08.02.2018/09:10:12 local/127.0.0.1 http://a-diplom.com/ 2525 2525/402 100% 274 "200 OK gzip" IPlist2proxy, З.1, Deleted small file, CM:0 hits
IPlist2proxy 
З.1 (Запись в кэш): .* 
Deleted small file 
CM:0 hits"

из чего видно iplist2proxy что как бы намекает что все путем


Название: Re: Поддержка PAC-файлов
Отправлено: alexey65536 от 08 Февраль 2018, 09:22:04
Попробовал с условными прокси в НС - добавил несколько заблокированных сайтов в список, и прописал там прокси антизапрета. И все работает. Т.к. кол-во "запрещенных" сайтов, которыми я пользуюсь, меньше чем кол-во пальцев на руке, то, думаю, это лучший выход, чем безуспешные попытки разобраться, как работает расширение.


Название: Re: Поддержка PAC-файлов
Отправлено: ozr от 13 Февраль 2018, 16:24:00
С февраля 2018 года по ссылке antizapret.prostovpn.org/proxy.pac отдаётся файл proxy-nossl.pac, формат которого по отношению к proxy.pac изменён: теперь в одной строке файла -- не одно, а несколько доменных имён или адресов через пробел. Соответственно, старая версия iplist2proxy такого формата файла не понимает (даже если ей его подсунуть руками, либо переименовав файл proxy-nossl.pac в proxy.pac, либо исправив в самом .lua имя анализируемого файла с proxy.pac на proxy-nossl.pac), а новой пока нет. Если кому-то кажется, что старая версия работает, то посмотрите в первых 2-х строках proxy.pac дату создания (компиляции) этого файла (у меня последний файл в старом формате датирован 3-м февраля, а в новом датирован текущей датой), приняв во внимание, что он, как правило, обновляется несколько раз в сутки. С одной стороны, не особо и критично: сейчас РКН в основном добавляет только сайты (клоны сайтов?) / IP-адреса про казино, проституток, про разного рода липовые документы и букмекерские конторы, а нужный сайт или IP-адрес в случае чего можно вписать в него (в старом формате) руками. С другой стороны, закономерно прогнозируются претензии новых (с февраля) пользователей этого скрипта на то, что он в текущей версии неработоспособен (собственно, одна из таких претензий -- чуть выше).


Название: Re: Поддержка PAC-файлов
Отправлено: nickston от 13 Февраль 2018, 21:33:28
Чуть выше проблема была с фирефоксом, расширение все там нормально считало


Название: Re: Поддержка PAC-файлов
Отправлено: ozr от 26 Апрель 2018, 13:08:29
В очередной раз изменился формат .PAC-файла: добавили поддержку диапазонов IP-адресов и связанный с этой поддержкой новый адрес прокси-сервера -- CCAHIHA.antizapret.prostovpn.org:3128