Расскажите подробнее, можно эмулировать вебкамеры и микрофоны чтобы видел сайт или для чего это нужно?- Появилась возможность эмулировать список аудио/видео устройств в WebRTC
Не понял - это для Кап Монстра?очень круто распознает ReCaptcha2.
Это нужно чтобы сайт вас не палил через набор ваших устройств.Расскажите подробнее, можно эмулировать вебкамеры и микрофоны чтобы видел сайт или для чего это нужно?
Эмулировать устройства можно специальными методами в API.Как пользоваться? Не понятно как код прописать )):
[+] Появилась возможность эмулировать список аудио/видео устройств в WebRTC. Для эмуляции устройств необходимо установить свойству Instance.WebRTCWorkMode значение WebRTCMode.Emulate. Для получения списка устройств нужно воспользоваться методом Instance.GetWebRTCDevices(), который вернет коллекцию элементов WebRtcDeviceItem. С помощью метода Instance.ShowWebRTCDevice можно добавлять устройства, с помощью Instance.HideWebRTCDevice скрывать. Для формирования устройства необходимо заполнить поля WebRtcDeviceItem, тип, имя и идентификатор устройства. Идентификатор устройств обычно имеет формат {0.0.0.00000000}{00000000-0000-0000-0000-000000000000}. Все настройки WebRTC, режим работы, устройства и адреса, теперь можно сохранить в профиле. При физическом изменении списка устройств необходимо нажать «С начала» в ProjectMaker, либо запустить новую базу в ZennoPoster.
[+] Появилась возможность управлять шрифтами, которые доступны браузеру (пока без эмуляции шрифтов во Flash). Для получения списка шрифтов нужно воспользоваться методом Instance.GetFonts(). С помощью метода Instance.ShowFont можно добавлять шрифты, с помощью Instance.HideFont скрывать. Если вы добавите шрифт, которого нет у вас на компьютере, он не покажется, но будет сохранен в списке текущих шрифтов инстанса. И в случае появления этого шрифта на компьютере, он будет показан в браузере. Список шрифтов можно сохранить в профиль, если вы не изменяли список, то будет использоваться список шрифтов по умолчанию. Для эмуляции шрифтов необходимо использовать «Выделенный процесс», т.к. эмулированный список не разделяется по инстансам.
такие вещи должны сохранятся в профиле, согласен?Это нужно чтобы сайт вас не палил через набор ваших устройств.
Эмулировать устройства можно специальными методами в API.
Получить список устройств - https://help.zennolab.com/en/v5/zennoposter/5.11.4.0/webframe.html#topic219.html
Отображать/скрывать устройство в инстансе:
https://help.zennolab.com/en/v5/zennoposter/5.11.4.0/topic306.html
https://help.zennolab.com/en/v5/zennoposter/5.11.4.0/topic225.html
Можно также создать устройство - https://help.zennolab.com/en/v5/zennoposter/5.11.4.0/topic495.html
Для шрифтов по аналогии:
Получить список шрифтов доступных для браузера:
https://help.zennolab.com/en/v5/zennoposter/5.11.4.0/topic209.html
Отображать/скрывать шрифт в инстансе
https://help.zennolab.com/en/v5/zennoposter/5.11.4.0/topic301.html
https://help.zennolab.com/en/v5/zennoposter/5.11.4.0/topic220.html
[+] Все настройки WebRTC, режим работы, устройства и адреса, теперь можно сохранить в профиле.
[+] Список шрифтов можно сохранить в профиль, если вы не изменяли список, то будет использоваться список шрифтов по умолчанию.
string [] audio = {"Realtek High Definition Audio","Creative Labs Sound / Audio Audio","Dell Audio","Acer High Definition Audio","Toshiba Audio"};
string [] video = {"Samsung Video Decoder","Asus video card","IBM uhd video","Toshiba Video"};
// get devices
var devices = instance.GetWebRTCDevices();
if (devices != null)
{
Random rnd = new Random();
var devicesList = devices.ToList();
for (int i = 0; i < devicesList.Count; i++) {
instance.HideWebRTCDevice(devicesList[i]);
var device = new ZennoLab.CommandCenter.WebRtcDeviceItem(audio[rnd.Next(0,audio.Length)], "{0.0.0.00000000}" + Guid.NewGuid().ToString("B"), ZennoLab.InterfacesLibrary.Enums.Browser.WebRtcDeviceKind.Audio);
instance.ShowWebRTCDevice(device);
if (i%2==0) {
device = new ZennoLab.CommandCenter.WebRtcDeviceItem(video[rnd.Next(0,video.Length)], "{0.0.0.00000000}" + Guid.NewGuid().ToString("B"), ZennoLab.InterfacesLibrary.Enums.Browser.WebRtcDeviceKind.Video);
instance.ShowWebRTCDevice(device);
}
}
}
// get fonts
var fonts = instance.GetFonts();
if (fonts != null)
{
Random rnd = new Random();
var fontList = fonts.ToList();
for (int i = 0; i < fontList.Count; i++) {
int random = rnd.Next(0,5);
if (random == 3) {
instance.HideFont(fontList[i]);
if (i%2==0) {
instance.ShowFont(fontList[i] + " Bold");
} else {
instance.ShowFont(fontList[i] + " Italic");
}
}
}
}
МожноМожно улучшить?
string [] audio = {"Realtek High Definition Audio","Creative Labs Sound / Audio Audio","Dell Audio","Acer High Definition Audio","Toshiba Audio"};
string [] video = {"Samsung Video Decoder","Asus video card","IBM uhd video","Toshiba Video"};
// get devices
var devices = instance.GetWebRTCDevices();
Random rnd = new Random();
if (devices != null) {
var devicesList = devices.ToList();
for (int i = 0; i < devicesList.Count; i++) {
instance.HideWebRTCDevice(devicesList[i]);
}
}
int new_devices_count = rnd.Next(1, 4);
for (int i = 0; i < new_devices_count; i++) {
if (i%2==0) {
var device = new ZennoLab.CommandCenter.WebRtcDeviceItem(audio[rnd.Next(0,audio.Length)], "{0.0.0.00000000}" + Guid.NewGuid().ToString("B"), ZennoLab.InterfacesLibrary.Enums.Browser.WebRtcDeviceKind.Audio);
instance.ShowWebRTCDevice(device);
} else {
var device = new ZennoLab.CommandCenter.WebRtcDeviceItem(video[rnd.Next(0,video.Length)], "{0.0.0.00000000}" + Guid.NewGuid().ToString("B"), ZennoLab.InterfacesLibrary.Enums.Browser.WebRtcDeviceKind.Video);
instance.ShowWebRTCDevice(device);
}
}
Я там исправил уже всё, писал руками первоначально без проверки, сейчас всё окПовтор переменной i
Бывает) Просто смысл больше генерировать? Я бы вообще только 2 делал, чтоб повтора не вышло в названии.т. е. более 3-х устройств не бывает, да?
"{0.0.0.00000000}." + Guid.NewGuid().ToString("B")
var devices = instance.GetWebRTCDevices();
if (devices != null) {
var devicesList = devices.ToList();
for (int i = 0; i < devicesList.Count; i++) {
project.SendInfoToLog(devicesList[i].Id);
}
}
а откуда вы берёте название устройств? есть какой-то список где-то? и где его можно взять?Вот написал такой простенький генератор случайных устройств. Реальные устройства прячет, новые добавляет.
Можно улучшить?
Код:string [] audio = {"Realtek High Definition Audio","Creative Labs Sound / Audio Audio","Dell Audio","Acer High Definition Audio","Toshiba Audio"}; string [] video = {"Samsung Video Decoder","Asus video card","IBM uhd video","Toshiba Video"}; // get devices var devices = instance.GetWebRTCDevices(); if (devices != null) { Random rnd = new Random(); var devicesList = devices.ToList(); for (int i = 0; i < devicesList.Count; i++) { instance.HideWebRTCDevice(devicesList[i]); var device = new ZennoLab.CommandCenter.WebRtcDeviceItem(audio[rnd.Next(0,audio.Length)], "{0.0.0.00000000}" + Guid.NewGuid().ToString("B"), ZennoLab.InterfacesLibrary.Enums.Browser.WebRtcDeviceKind.Audio); instance.ShowWebRTCDevice(device); if (i%2==0) { device = new ZennoLab.CommandCenter.WebRtcDeviceItem(video[rnd.Next(0,video.Length)], "{0.0.0.00000000}" + Guid.NewGuid().ToString("B"), ZennoLab.InterfacesLibrary.Enums.Browser.WebRtcDeviceKind.Video); instance.ShowWebRTCDevice(device); } } }
Да нет, пока просто от балды написал. Пытался погуглить, но нормального ничего не нашел.а откуда вы берёте название устройств? есть какой-то список где-то? и где его можно взять?
А мне наоборот кажется, что сайты, которые будут проверять эти параметры - как раз таки имеют место на своих дисках, чтоб хранить кучу такой (на первый взгляд) бесполезной инфы.Хотя я не уверен, что сайты будут проверять, есть ли или нет в реальности подобные устройства. Даже если и нет, то устройства появляются каждый день и отслеживать их никто не будет.
Поэтому мне кажется даже рандомная строка пойдёт.
99% что полностью другой. Сам принцип и весь смысл GUID - это генерация уникальных идентификаторов. Так что вероятнее всего их генерили стандартными средствами, что ведет к "полностью другим" гуидам.Различие будет в 1 символ или полностью другой GUID будет?
Разве гуиды подразумевают, что там абсолютно рандомные значения будут? Ведь наверняка там система в духе штрих-кодов, когда по части гуида можно что-то идентифицировать. Или я не прав?99% что полностью другой. Сам принцип и весь смысл GUID - это генерация уникальных идентификаторов. Так что вероятнее всего их генерили стандартными средствами, что ведет к "полностью другим" гуидам.
Именно так. Нет, со штрих-кодами вообще ничего общего.. Штрих-код - это тупо число представленное в визуальном формате удобном для считывания железками. А гуид - это именно рэндомно сгенеренный ключ.Разве гуиды подразумевают, что там абсолютно рандомные значения будут? Ведь наверняка там система в духе штрих-кодов, когда по части гуида можно что-то идентифицировать. Или я не прав?
Ставьте новую версию рядом со старой в таком случае. Попробовали новую версию, не подошла - стерли, подошла - стерли старую.Печальная ситуация с обновлениями, мутишь проект что бы он работал, скачал обновления, все слетело. Какой смысл так обновлять программу? Пришлось откатиться до версии, которая более менее стабильно работает аж на 21.09.2016. Как знал, что нефиг лезть если все работает.
Дополнить наверное стоит: System, Terminal, Courier, Fixedsys, Roman, Smal Fonts -- https://otvet.mail.ru/question/64926336 (они у меня все нашлись в системе)Нашел вот такую статейку на хабре - https://habrahabr.ru/post/68189/
Действие распознавания ReCaptcha2 теперь поддерживает рекапчи с автосабмитом.
не поделитись снипетом ?=)Да нет, пока просто от балды написал. Пытался погуглить, но нормального ничего не нашел.
Хотя я не уверен, что сайты будут проверять, есть ли или нет в реальности подобные устройства. Даже если и нет, то устройства появляются каждый день и отслеживать их никто не будет.
Поэтому мне кажется даже рандомная строка пойдёт.
Маленькая просьба....отключите логи при выполнении экшена "распознать ReCaptcha2". Мягко говоря утомительно постоянно настраивать фильтрыВопросы, комментарии и предложения по новой версии 5.11.4.0.