Помогите найти проблему в загрузке и сохранении профилей Zenno

The_vAe

Client
Регистрация
30.05.2019
Сообщения
3 633
Благодарностей
1 413
Баллы
113
Уже столько лет мучаюсь с тем, что куки одного профиля переносятся на куки другого профиля самостоятельно. Может я чего-то не вижу или не понимаю? Уже пытался как на кубиках делать запуск сохранение, так и на C#, а толку 0, профили попросту периодически смешиваются

1. Старт бота
2. Получение с БД имени аккаунта (совпадает с именем профиля)
3. Запуск инстанс CEF
4. Загрузить профиль
132767
Альтернатива кубикам на C#:
C#:
// Получаем путь к профилю
string profileFile = project.Directory + @"\login.zpprofile";
// Запуск инстанса
instance.Launch(ZennoLab.InterfacesLibrary.Enums.Browser.BrowserType.Chrome, "", ""); // CEF

//instance.ClearCache(); -чистку кеш куки и включал и выключал перед загрузкой, толку 0
//instance.ClearCookie(); -чистку кеш куки и включал и выключал перед загрузкой, толку 0

// Загрузка профиля
project.Profile.Load(profileFile);
5. Бот отработал действия
6. Сохраняем профиль
132768
Альтернатива кубикам на C#:
C#:
// Получаем путь к профилю
string profileFile = project.Directory + @"\login.zpprofile";

// Сохраняем профиль
project.Profile.Save(profileFile, true, true, true, true, true, true, true, true, true);

// Запускаем Firefox (или другой движок)
instance.Launch(ZennoLab.InterfacesLibrary.Enums.Browser.BrowserType.Firefox52x64, "", "");
7. Завершаем работу



Так что же в этой последовательности не так, что куки между собой перемешиваются, и аккаунт с именем blabla1 , каким-то чудным образом через несколько дней содержит в себе куки hbahba2 , так как загружая blabla1 - вижу что авторизация куков принадлежит профилю hbahba2... И такое в основном происходит если запускать 100+ потоков web cef или web chromium (профиль-папки)
 
Последнее редактирование:

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
834
Благодарностей
578
Баллы
93
Попробуй повесить локер, когда сохраняешь \ загружаешь профиль.
 
  • Спасибо
Реакции: The_vAe

The_vAe

Client
Регистрация
30.05.2019
Сообщения
3 633
Благодарностей
1 413
Баллы
113
Попробуй повесить локер, когда сохраняешь \ загружаешь профиль.
Не совсем конечно понимаю как это может помочь, в случае если каким-то образом куки с одного профиля перепрыгиваю на другой, но спасибо, буду пытаться с локом.
 

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
834
Благодарностей
578
Баллы
93
Конечно не факт, что это поможет.

Я предполагаю, что возможно есть баг при сохранение одновременно нескольких профилей, данные одного профиля сохраняются во все другие профили, а локер не позволит сохранять \ загружать одновременно несколько профилей.
 
  • Спасибо
Реакции: The_vAe

deskuznetsov

Client
Регистрация
29.08.2019
Сообщения
546
Благодарностей
377
Баллы
63
Я долгое время делаю ежедневно в ПМ некоторые задачи и постоянно замечаю, что вот — выполнил шаблон в ПМ, действия, и я нажимаю "С начала" → "Да, по шагам" и оставляю так висеть ПМ открытым. Обычно ещё другие шаблоны в ПМ открыты, и вот, переключаясь на другую вкладку с другим шаблоном в ПМ, вижу, что сайт, с которым я работал ранее в другом шаблоне, открыт висит, и куки есть, и т.д.
Может, у вас тоже какая-то такая ситуация?
 

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
834
Благодарностей
578
Баллы
93
Я долгое время делаю ежедневно в ПМ некоторые задачи и постоянно замечаю, что вот — выполнил шаблон в ПМ, действия, и я нажимаю "С начала" → "Да, по шагам" и оставляю так висеть ПМ открытым. Обычно ещё другие шаблоны в ПМ открыты, и вот, переключаясь на другую вкладку с другим шаблоном в ПМ, вижу, что сайт, с которым я работал ранее в другом шаблоне, открыт висит, и куки есть, и т.д.
Может, у вас тоже какая-то такая ситуация?
Нет это не то.

Когда у вас открыто несколько шаблонов в ПМ и вы делаете "Начать с начало", у вас обновляется Инстанс и Проджект текущего шаблона, а если вы переключаетесь после на другие шаблоны, то Инстанс и Проджект остаются старые, потому что они сами не обновляются и чтобы их обновить на новый шаблон, нужно еще раз нажать "Начать с начало".
 

deskuznetsov

Client
Регистрация
29.08.2019
Сообщения
546
Благодарностей
377
Баллы
63
Нет это не то.

Когда у вас открыто несколько шаблонов в ПМ и вы делаете "Начать с начало", у вас обновляется Инстанс и Проджект текущего шаблона, а если вы переключаетесь после на другие шаблоны, то Инстанс и Проджект остаются старые, потому что они сами не обновляются и чтобы их обновить на новый шаблон, нужно еще раз нажать "Начать с начало".
132774
 

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
834
Благодарностей
578
Баллы
93
Регистрация
23.01.2022
Сообщения
358
Благодарностей
101
Баллы
43
Все нужные данные, которые содержатся в профиле, сохраняйте в переменные этого профиля, в том числе и куки сконвертировав их в base64 например. Так же поступать с паролями/почтами и тд.
 

deskuznetsov

Client
Регистрация
29.08.2019
Сообщения
546
Благодарностей
377
Баллы
63
И что? На видео все так, как я описал.
Да и это правильно?
Что остается открыт браузер (сайт) и тянутся куки с другого проекта, хотя мы его там "убили" путем запуска с начала.
 

The_vAe

Client
Регистрация
30.05.2019
Сообщения
3 633
Благодарностей
1 413
Баллы
113
Все нужные данные, которые содержатся в профиле, сохраняйте в переменные этого профиля, в том числе и куки сконвертировав их в base64 например. Так же поступать с паролями/почтами и тд.
Не могли бы вы, пожалуйста, поделиться информацией о том, какие именно данные необходимо сохранять из профиля Chromium (в частности, какие папки и файлы), чтобы впоследствии можно было восстановить полноценный профиль, например, из base64-строки? Было бы особенно полезно, если бы вы также указали примеры C#-методов для получения этих данных.

Проблема в том, что при переносе папок профиля возникают сложности: например, элементы вроде canvas (fingerprints) становятся некорректными, из-за чего аккаунты могут "слетать" — появляется подозрительная активность. Кроме того, существуют так называемые "суперкуки", которые тоже либо некорректно извлекаются, либо не полностью восстанавливаются.
 

Dmitriy Ka

Client
Регистрация
03.05.2016
Сообщения
834
Благодарностей
578
Баллы
93
Да и это правильно?
Что остается открыт браузер (сайт) и тянутся куки с другого проекта, хотя мы его там "убили" путем запуска с начала.
1) Запишите нормально видео, в хорошем качестве, а не gif (вообще не понятно где начало, где конец).
2) Про какие куки вы говорите? На фрагменте, что вы скинули вы ни какие куки не открываете и тут не понятно, тянутся они или нет.

Если вы перейдете на шаблон VK и нажмете с начало, то все куки от FB отчистятся.


UPD: Я понял в чем недопонимание.
Я рассказываю на примере работы с браузером, вы на примере без браузера.
Так как вы работаете без браузера и Инстанс запускаете через кубик, то и все данные обновляются не после "Начать сначала", а после запуска Инстанса через кубик, потому что он не стартует из за галочки Без браузера.
 
Последнее редактирование:

OnlineProxy

Пользователь
Регистрация
14.02.2024
Сообщения
42
Благодарностей
5
Баллы
8
Проблемы со смешиванием куков в ZennoPoster чаще всего возникают из-за отсутствия должной изоляции между потоками. Когда несколько потоков используют одни и те же каталоги профилей, а сохранение данных происходит без блокировок (Save() работает неблокирующе), в памяти остаются данные от предыдущих задач, отсюда появляется путаница. Чтобы избежать этого, нужно для каждого потока задавать уникальные директории, использовать lock() при сохранении и полностью выгружать браузерные инстансы после завершения. К слову, стоит также учитывать сопутствующие факторы — например, одинаковые сетевые параметры в разных потоках тоже могут вызвать нежелательные связи между ними.
 

The_vAe

Client
Регистрация
30.05.2019
Сообщения
3 633
Благодарностей
1 413
Баллы
113
Проблемы со смешиванием куков в ZennoPoster чаще всего возникают из-за отсутствия должной изоляции между потоками. Когда несколько потоков используют одни и те же каталоги профилей, а сохранение данных происходит без блокировок (Save() работает неблокирующе), в памяти остаются данные от предыдущих задач, отсюда появляется путаница. Чтобы избежать этого, нужно для каждого потока задавать уникальные директории, использовать lock() при сохранении и полностью выгружать браузерные инстансы после завершения. К слову, стоит также учитывать сопутствующие факторы — например, одинаковые сетевые параметры в разных потоках тоже могут вызвать нежелательные связи между ними.
1. Логины загружаются из базы данных с использованием блокировки (mysql lock), что исключает возможность одновременного использования одного и того же аккаунта двумя потоками или процессами.

2. Даже в теоретической ситуации, если бы один и тот же профиль был случайно запущен дважды, это всё равно не объясняет появление "чужих" cookies. Имя профиля всегда соответствует имени аккаунта, и куки физически не могут принадлежать другому пользователю — просто неоткуда им взяться. Даже при многократном запуске одного и того же профиля (хоть тысячу раз), куки всегда будут привязаны к текущему профилю.
 
Последнее редактирование:
Регистрация
23.01.2022
Сообщения
358
Благодарностей
101
Баллы
43
Не могли бы вы, пожалуйста, поделиться информацией о том, какие именно данные необходимо сохранять из профиля Chromium (в частности, какие папки и файлы), чтобы впоследствии можно было восстановить полноценный профиль, например, из base64-строки? Было бы особенно полезно, если бы вы также указали примеры C#-методов для получения этих данных.

Проблема в том, что при переносе папок профиля возникают сложности: например, элементы вроде canvas (fingerprints) становятся некорректными, из-за чего аккаунты могут "слетать" — появляется подозрительная активность. Кроме того, существуют так называемые "суперкуки", которые тоже либо некорректно извлекаются, либо не полностью восстанавливаются.
мы имели ввиду, что будут использоваться не профиль папки, а обычные профиля zpprofile.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)