Xpath замена параметров в конфиге proxifier
-
@Sevenup Не парься ты так, у меня уже всё готово. Только меня из за компа выгнали
:D
. Вернусь, оформлю и закину сюда.Я вынес в отдельную переменную порядковый номер прокси и номер прокси для worker.exe. Чтобы можно было использовать в цикле.
-
ок, как пустят за ПК свисти :))))
я пока как-то вроде даже карточный домик выстроил, даже работает :) разбиваю строку через "регулярные выражения"->"разделить строку" в список(массив) из которого потом беру значения и меняю в конфиге.Осталось придумать как дождаться остановки всех потоков, не запуская новые, сменить прокси методом из данной темы и снова запустить потоки. Подобную темку я даже создавал уже Остановить все потоки, а потом снова запустить.
-
@Sevenup Я вернулся.
С самим проксифаером я не работал и как именно его хочешь применять не знаю. На один поток, или на два.. сколько прокси и когда менять.. По этому сделал шаблон.
Вынес порядковый номер прокси в переменную и порядковый номер прокси, который будет применяться к worker.exe. Да, ещё почему то BAS не работает с относительными ссылками вида %APPDATA%, а cmd в нём работает :)Вот Проект.
Сами прокси можно устанавливать из файла прикрутив ресурс.
-
@Fox
спасибо за участие! :)проксифаер необходим, что бы проксировать через службу ОС весь процесс запущенный в этой ОС, например часто его(проксифаер) используют чтобы проксировались плагины браузера, например флеш.
конечно в проксифаере есть возможность передавая PID процесса заставлять только конкретный процесс проксироваться через конкретный прокси, т.е. не по имени Worker.exe через профиль как я пытаюсь реализовать в этой теме. Таким образом можно 10 потоков(Worker.exe) и плагины которые каждый пораждает проксировать через разные прокси. Это очень здорово и удобно, в зенно такая реализация есть, но пришлось изрядно их закидать багрепортами что-бы довести эту функцию до ума. Вот теперь как-то перекатился на БАС, что-то мне в нем нравится :) может опенсорц :) но что бы в нем реализовать подобное проксирование по PID, нужен автор :) Ну или возможно кому-то больше экспириенса в кодинге.
Но данная тема о более простом и банальном способе. У проксифаера есть конфиг, в нем мы задаем, что все процессы с именем Worker.exe прокидывать через такой-то прокси. Запускаем БАС и понеслось, в проекте прокси можно не ставить, все потоки полетят через указанный прокси (проксифаер как бы перехватывает соединение). Этот конфиг из командной строки мы можем перезаливать проксифаеру по необходимости, таким способом меняя прокси. Пример: мы отработали нужные действия (порегали акки или кто чем там занимается), далее меняем конфиг(меняем прокси) и понеслась по новой уже с другим проксиком. Таким образом прыгая с проксика на проксик.
Попытался объяснить как можно проще.
P.S.
так вот, касательно потоков, прокси нужно сменить только тогда, когда все процессы(запросы) в потоках закончились, что бы одна и та же кука не светилась на сайте от разных прокси. Вот как это сделать, я пока думаю.
-
@Sevenup Для чего нужен proxifier я понял уже по названию.. Читал здесь темы, что флеш подключается на прямую минуя установленные прокси.
Просто с самой программой я не работал.
Можно завершить программу через экшен запустить процессtskill Proxifier
. Переписать Default.ppx с новым прокси и снова запустить..
Взять отдельный проект BAS для управления Proxifier, который поменяет прокси и сидит ждёт команды из базы\файла\запроса.. А рабочий проект отработав потоки посылает команду поменять прокси и запускает новую итерацию.
Проект то, работает?
-
@Fox said in Xpath замена параметров в конфиге proxifier:
@Sevenup Для чего нужен proxifier я понял уже по названию.. Читал здесь темы, что флеш подключается на прямую минуя установленные прокси.
Просто с самой программой я не работал.
Можно завершить программу через экшен запустить процессtskill Proxifier
. Переписать Default.ppx с новым прокси и снова запустить..
Взять отдельный проект BAS для управления Proxifier, который поменяет прокси и сидит ждёт команды из базы\файла\запроса.. А рабочий проект отработав потоки посылает команду поменять прокси и запускает новую итерацию.
Проект то, работает?
неее, как раз килять проксифаер не нужно, он все четко и так подхватывает, просто proxifier.exe config.ppx и все, если он уже запущен,он просто меняет конфиг.
можно просто делат то только в одном потоке,чекая THREAD_INDEX - это все не проблема. Как сделать так, что бы все потоки закончились, проверить что никакой никуда не обращается, после сменить прокси и запустить их снова? вот в чем засада.
Проект да, все меняет чики пики, как и писал выше, эксперементирую остановкой потоков БАСа :))
-
@Sevenup said in Xpath замена параметров в конфиге proxifier:
Как сделать так, что бы все потоки закончились, проверить что никакой никуда не обращается, после сменить прокси и запустить их снова? вот в чем засада.
Может такой вариант тебе подойдет, но не уверен)
действие Установить метку (Config) вызов функции config() //в ней колдуем над конфиг файлом вызов многопоточной функции tasks() // в нее описываем всю логику работы действие Перейти к метки (Config)
-
@santilo said in Xpath замена параметров в конфиге proxifier:
@Sevenup said in Xpath замена параметров в конфиге proxifier:
Как сделать так, что бы все потоки закончились, проверить что никакой никуда не обращается, после сменить прокси и запустить их снова? вот в чем засада.
Может такой вариант тебе подойдет, но не уверен)
действие Установить метку (Config) вызов функции config() //в ней колдуем над конфиг файлом вызов многопоточной функции tasks() // в нее описываем всю логику работы действие Перейти к метки (Config)
многопоточная функция tasks() запущена например в 10 потоков, каждый отрабатывает разное время. Переход к следующему действию произойдет только тогда, когда успешно закончатся все потоки многопоточной функции.
-
напишу пока тут, вдруг кто заметит, что бы тем множество не плодить :)
действие "запустить процесс", при выполнении например "C:\Progra~2\Proxifier\Proxifier.exe C:\Users\user\Desktop\bas\bas.ppx silent-load" и установленной галочке "ждать завершения" запуск залипает намертво, добавление "таймаут" не помогает. Залипает надолго, минут 15 ждал, потом рестартунул(не хватило терпения).
Если же галочку "ждать завершения" убрать, то скрипт переходит к следующему блоку, все ок, но остается запущенным окно командной строки выполняющей данный блок "запустить процесс".
Ту же строку из блока "запустить процесс" копипастю и выполняю в ручную в командной строке, все ок.