- Регистрация
- 05.04.2014
- Сообщения
- 194
- Благодарностей
- 42
- Баллы
- 28
Приветствую, в этой статье я расскажу вам как научить зеннопостер работать через ssh .
Для начала мы записываем ssh в файлик. Каждый ssh с новой строки. Обычно ssh имею такой вид 192.168.0.1;admin;default Где точка с запятой это разделитель, 192.168.0.1 это ip, следующим после ip идет логин (admin), и в конце пароль (default). В итого у нас получается вот такой список:
1. Первым делом мы помещаем все ssh в список, откуда и будем брать их по одному.
Я положил все ssh в список с одноименным названием, и взяв из него первую строку положил ее в переменную "allSSH".
2. Использовать ssh в таком виде как он есть для подключения мы не сможем, по этому следующими тремя кубиками делим ssh на ip, логин и пароль, с занесением каждого в отдельную переменную. Они нам понадобятся немного позже.
3. Для работы в многопоточном режиме нам нужно закрутить каждый ssh туннель на уникальный локальный порт. Я не стал заморачиваться с глобальными переменными и просто создал текстовый файлик с списком портов от 60000 до 65000. Если какой либо софт на вашем компьютере уже использует порт из этого диапазона, обязательно исключите этот порт из списка.
4. Сначала берем порт из списка и помещаем его в переменную "portSSH", затем заносим эту переменную в конец того же списка. Таким образом порты никогда не закончатся, а по скольку в списке их 5 тысяч, то и пересекаться они не будут.
Теперь у нас есть все что нужно для подключения к ssh.
5. А подключатся мы будем с помощью программы plink. Проверяем чтобы файлик plink.exe лежал рядом с проектом. И заносим аргументы для подключения в переменную. Я пытался передавать аргументы для plink.exe непосредственно через "запуск программы", но оно почему-то отказалось работать. Аргументы для подключения выглядят следующим образом:
6. Теперь пора подключаться к ssh, с помощью кода на C# который передаст аргументы файлу plink.exe, который в свою очередь установит соединение с ssh, и закрутит его на локальный порт.
На это все потребуется некоторое время, по этому мы ставим паузу в 10 сек.
7. По окончании паузы подключаемся к локальному socks5 прокси.
8. И проверяем его работоспособность. Для этого я выбрал сайт wikipedia.
Как вы видите я чекаю прокси поиском текста в теле страницы. Если текст найден значит ssh рабочий, и можно выполнять проект дальше. Или сохранять рабочие ssh в другой файлик, таким образом у нас получится чекер ssh.
9. Но в конце шаблона обязательно нужно добавить другой C# код
который разорвет ssh туннель, и завершит процесс plink.exe. Если вы этого не сделаете то у вас будет висеть куча не завершенных процессов plink.exe, и соответственно порты использованные в них будут недоступны для новых подключений.
Паузу в 0 с поставил чтобы проект не завершался с ошибкой когда ssh не рабочий и соединение с ним не устанавливается вообще. По тому что в этом случае C# код не может завершить процесс plink.exe, так как он завершается сам еще раньше.
На самом деле этот способ более предпочтителен и для работы с самим зенно, так как он значительно быстрее.
Суть его проста, мы устанавливаем соединение с ssh и закручиваем его на уникальный локальный порт, после чего записываем данные локального прокси для подключения в файлик, и используем эти данные в стороннем софте или в другом проекте зенно, подключаясь к ним как к обычному socks5 прокси.
Первым кубиком у нас будет стоять "if" который будет определять что мы хотим сделать, создать ssh туннели или завершить ранее созданные.
Далее повторяем с первого по седьмой пункты предыдущего способа. Но в конце если ssh рабочий то записываем в выходной файл ip и порт локального прокси а не сам ssh.
Результатом работы этого шаблона будет множество процессов plink.exe в диспетчере задач(по одному на каждый ssh), и файлик с локальными прокси такого плана
которые можно использовать и в стороннем софте, и в других шаблонах зенно как socks5 прокси.
Если же в входных настройках вы выберете "убиваем прокси" то код C#
завершит все процессы plink.exe, что разорвет все установленные ssh туннели.
При использовании этого способа я устанавливал одновременно 150-200 соединений, без видимой негативной нагрузки на систему.
p.s. Шаблон работает в многопоточном режиме благодаря C# коду который отслеживает для каждого процесса plink.exe его pid(уникальный номер процесса), и в конце шаблона завершает именно тот процесс который нужно.
Те кто еще не знаком с ssh наверно зададутся вопросом: а чем же ssh лучше прокси? Ответ прост, ssh в отличии от прокси не только обеспечивают более высокую анонимность, но и живут в среднем от нескольких недель, до нескольких месяцев. И при этом зачастую имеют неплохую скорость, так как она искусственно не ограничена. Таким образом купив, или добыв своими силами некоторое количество ssh , вы можете пользоваться ими довольно долгое время. Использовать ssh в зенно можно двумя способами, первый это использование ssh для смены ip в самом зенно(каждый поток в начале работы шаблона будет устанавливать соединение с ssh, а по окончании шаблона будет его разрывать), и второй это закручивание ssh туннелей на локальные порты чтобы их можно было использовать в стороннем софте.(по сути мы устанавливаем несколько соединений с ssh и оставляем их открытыми, после чего к ним можно подключиться и в зенно, и в стороннем софте как к обычному прокси по адресу 127.0.0.1:1234, где ip постоянный(localhost) а порты для каждого ssh свои. Если все равно не понятно то прочитайте статью до конца.)Дабы не растягивать статью, я не стану описывать такие пункты как создание входных настроек, списков и прочее. Если Вы начинающий пользователь то сможете найти все это и еще много чего интересного в zennowikiSSH это безопасный сетевой протокол, обеспечивающий защищенную аутентификацию, соединение и безопасную передачу данных между хостами сети, путем шифрования, проходящего через него трафика, с возможной компрессией данных. SSH так же называют альтернативой VPN.
Первый способ как я уже писал выше
заключается в использовании ssh в самом зенно
заключается в использовании ssh в самом зенно
Для начала мы записываем ssh в файлик. Каждый ssh с новой строки. Обычно ssh имею такой вид 192.168.0.1;admin;default Где точка с запятой это разделитель, 192.168.0.1 это ip, следующим после ip идет логин (admin), и в конце пароль (default). В итого у нас получается вот такой список:
1. Первым делом мы помещаем все ssh в список, откуда и будем брать их по одному.
Я положил все ssh в список с одноименным названием, и взяв из него первую строку положил ее в переменную "allSSH".
2. Использовать ssh в таком виде как он есть для подключения мы не сможем, по этому следующими тремя кубиками делим ssh на ip, логин и пароль, с занесением каждого в отдельную переменную. Они нам понадобятся немного позже.
3. Для работы в многопоточном режиме нам нужно закрутить каждый ssh туннель на уникальный локальный порт. Я не стал заморачиваться с глобальными переменными и просто создал текстовый файлик с списком портов от 60000 до 65000. Если какой либо софт на вашем компьютере уже использует порт из этого диапазона, обязательно исключите этот порт из списка.
4. Сначала берем порт из списка и помещаем его в переменную "portSSH", затем заносим эту переменную в конец того же списка. Таким образом порты никогда не закончатся, а по скольку в списке их 5 тысяч, то и пересекаться они не будут.
Теперь у нас есть все что нужно для подключения к ssh.
5. А подключатся мы будем с помощью программы plink. Проверяем чтобы файлик plink.exe лежал рядом с проектом. И заносим аргументы для подключения в переменную. Я пытался передавать аргументы для plink.exe непосредственно через "запуск программы", но оно почему-то отказалось работать. Аргументы для подключения выглядят следующим образом:
-N -pw ПАРОЛЬ ЛОГИН@АЙПИАДРЕС -auto_store_key_in_cache -D127.0.0.1:УНИКАЛЬНЫЙ ПОРТ
6. Теперь пора подключаться к ssh, с помощью кода на C# который передаст аргументы файлу plink.exe, который в свою очередь установит соединение с ssh, и закрутит его на локальный порт.
На это все потребуется некоторое время, по этому мы ставим паузу в 10 сек.
7. По окончании паузы подключаемся к локальному socks5 прокси.
8. И проверяем его работоспособность. Для этого я выбрал сайт wikipedia.
Как вы видите я чекаю прокси поиском текста в теле страницы. Если текст найден значит ssh рабочий, и можно выполнять проект дальше. Или сохранять рабочие ssh в другой файлик, таким образом у нас получится чекер ssh.
9. Но в конце шаблона обязательно нужно добавить другой C# код
который разорвет ssh туннель, и завершит процесс plink.exe. Если вы этого не сделаете то у вас будет висеть куча не завершенных процессов plink.exe, и соответственно порты использованные в них будут недоступны для новых подключений.
Паузу в 0 с поставил чтобы проект не завершался с ошибкой когда ssh не рабочий и соединение с ним не устанавливается вообще. По тому что в этом случае C# код не может завершить процесс plink.exe, так как он завершается сам еще раньше.
Второй способ дает возможность использовать ssh и в стороннем софте
На самом деле этот способ более предпочтителен и для работы с самим зенно, так как он значительно быстрее.
Суть его проста, мы устанавливаем соединение с ssh и закручиваем его на уникальный локальный порт, после чего записываем данные локального прокси для подключения в файлик, и используем эти данные в стороннем софте или в другом проекте зенно, подключаясь к ним как к обычному socks5 прокси.
Первым кубиком у нас будет стоять "if" который будет определять что мы хотим сделать, создать ssh туннели или завершить ранее созданные.
Далее повторяем с первого по седьмой пункты предыдущего способа. Но в конце если ssh рабочий то записываем в выходной файл ip и порт локального прокси а не сам ssh.
Результатом работы этого шаблона будет множество процессов plink.exe в диспетчере задач(по одному на каждый ssh), и файлик с локальными прокси такого плана
которые можно использовать и в стороннем софте, и в других шаблонах зенно как socks5 прокси.
Если же в входных настройках вы выберете "убиваем прокси" то код C#
завершит все процессы plink.exe, что разорвет все установленные ssh туннели.
При использовании этого способа я устанавливал одновременно 150-200 соединений, без видимой негативной нагрузки на систему.
p.s. Шаблон работает в многопоточном режиме благодаря C# коду который отслеживает для каждого процесса plink.exe его pid(уникальный номер процесса), и в конце шаблона завершает именно тот процесс который нужно.
Файл plink.exe можно и нужно скачать на этой странице, (а тут прямая ссылка)
Оригинальный plink не подойдет по тому что он не понимает аргумент auto_store_key_in_cache, очень нужный нам для автоматического подключения.
В создании шаблона для работы с ssh неоценимую помощь оказали пользователи darkdiver и LexxWork , за что им огромное человеческое спасибо.
Оригинальный plink не подойдет по тому что он не понимает аргумент auto_store_key_in_cache, очень нужный нам для автоматического подключения.
В создании шаблона для работы с ssh неоценимую помощь оказали пользователи darkdiver и LexxWork , за что им огромное человеческое спасибо.
- Тема статьи
- Другое
- Номер конкурса статей
- Четвертый конкурс статей
Вложения
-
34,8 КБ Просмотры: 807
-
33,2 КБ Просмотры: 804
Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...
Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.
Последнее редактирование модератором: