Как уменьшить размер профилей ZennoBrowser

krepsky

Client
Регистрация
18.02.2016
Сообщения
337
Благодарностей
255
Баллы
63
Как можно уменьшить размер профилей в антидетект браузере ZennoBrowser.
На данный момент использую 2 способа.
Прежде, чем приступить к чтению, подписывайтесь на канал о ZennoPoster

1) Очистка кэша, который занимает до 50% всей "массы" профиля.

2) Архивирование профиль-папки ZennoBrowser после окончания работы и ее разархивирование перед началом работы.
Важный момент: профили будут работать только при запуске проекта на ZennoPsoter. Запустить заархивированный профиль через ZennoBrowser не получится.
Как пользоваться:
Добавьте в проект "ссылки из GAC" и "using и общий код"
136615


Откройте "ссылки из GAC":
136616


Добавьте: System.IO.Compression.Filesystem.dll
136617


В "using и общий код" сразу после
"namespace ZennoLab.OwnCode
{"


добавьте код ниже:
C#:
    class Profiles
    {
        public void GetProfileFile(string profiles_source_dir, string profiles_working_dir, string profile_id)
        {
            string profile_dir_name = profile_id.Replace("-", "").ToLower();//Название папки профиля
            string profile_source_path = profiles_source_dir + @"\" + profile_dir_name + ".zip";//Путь, оттуда копируется архив с профилем
            string zb_profile_archive_path = profiles_working_dir + @"\" + profile_dir_name + ".zip";//Путь, куда нужно переместить архив с профилем, чтобы распаковать его и запустить
            string zb_profile_dir = profiles_working_dir + @"\" + profile_dir_name;//Профиль-папка, готовая для запуска
            File.Copy(profile_source_path, zb_profile_archive_path, overwrite: true);//Делаем копию архива с профилем в папку с ZennoBrowser
            System.IO.Compression.ZipFile.ExtractToDirectory(zb_profile_archive_path, zb_profile_dir);//Разархивируем профиль
            File.Delete(zb_profile_archive_path);//Удаляем архив
        }
   
        public void SaveProfileFile(string profiles_source_dir, string profiles_working_dir, string profile_id)
        {
            string profile_dir_name = profile_id.Replace("-", "").ToLower();//Название папки профиля
            string zb_profile_dir = profiles_working_dir + @"\" + profile_dir_name;//Рабочая папка профиля для ZB
            if(Directory.Exists(zb_profile_dir) && profile_dir_name != "")
            {
                string zb_profile_archive_path = profiles_working_dir + @"\" + profile_dir_name + ".zip";//Путь до заархивированной профиль папки в зеннобраузере
                string profile_source_path = profiles_source_dir + @"\" + profile_dir_name + ".zip";//Конечный путь, где и под каким именем будет храниться архив
                System.IO.Compression.ZipFile.CreateFromDirectory(zb_profile_dir, zb_profile_archive_path);//Архивируем профиль
                File.Copy(zb_profile_archive_path, profile_source_path, overwrite: true);//Перемещаем архив в источник хранения профилей
                Directory.Delete(zb_profile_dir, true);//Удаляем профиль-папку
                File.Delete(zb_profile_archive_path);//Удаляем архив
            }
        }
    }
136618

ВАЖНО: Данный код рассчитан на то, что архивы с профилями будут храниться в другой папке или жестком диске, отличную от той, с которой по умолчанию работает ZennoBrowser. Если вы укажете ту же папку для хранения профилей, с которой по умолчанию работает ZennoBrowser, то архивы с профилями будут удаляться и вы их потеряете.

И далее, чтобы добавить в архив профиль, в C# кубике самом конце прописываете:

C#:
    //Сохранение профиля в архив
    Profiles pr = new Profiles();
    string profile_id = project.Variables["profile_id"].Value;//ID профиля
    string profiles_source = @"ПАПКА_ГДЕ_ХРАНЯТСЯ_ВСЕ_ВАШИ_АРХИВЫ_С_ПРОФИЛЯМИ";
    string profiles_working_dir = @"ПАПКА_ЗЕННОБРАУЗЕРА_ОТКУДА_ОН_ЗАГРУЖАЕТ_ПРОФИЛИ";
    pr.SaveProfileFile(profiles_source, profiles_working_dir, profile_id);

Код для загрузки профиль-папки из архива в рабочую директорию с профилями Zennorowser

C#:
    Profiles pr = new Profiles();
    string profiles_source = @"ПАПКА_ГДЕ_ХРАНЯТСЯ_ВСЕ_ВАШИ_АРХИВЫ_С_ПРОФИЛЯМИ";
    string profiles_working_dir = @"ПАПКА_ЗЕННОБРАУЗЕРА_ОТКУДА_ОН_ЗАГРУЖАЕТ_ПРОФИЛИ";
    string profile_id = project.Variables["profile_id"].Value;//ID профиля
    pr.GetProfileFile(profiles_source, profiles_working_dir, profile_id);
 
Последнее редактирование:
  • Спасибо
Реакции: brun0, alex1988 и Alex.A

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