// Выбор дейвайса: Мобильный телефон или Планшет
// Должна быть активирована только одна строка
string device = Macros.TextProcessing.Spintax("{Mobile|Tablet}"); // Cлучайный
//string device = "Mobile"; // Мобильный
//string device = "Tablet"; // Мобильный
// Выбираем случайную версию Firefox
Random r = new Random();
//Формируем набор buildID нашего Firefox (у каждой версии свой)
Tuple<string, string>[] buildIDSet = {
Tuple.Create("57", "20171112125346"),
Tuple.Create("56", "20171024165158"), // 56.0.2
Tuple.Create("56", "20171002220106"), // 56.0.1
Tuple.Create("56", "20170926190823"),
Tuple.Create("55", "20170802111421"),
Tuple.Create("54", "20170608105825"),
Tuple.Create("53", "20170413192749"),
Tuple.Create("52", "20171206101620"), // 52.5.2
Tuple.Create("52", "20171107091003"), // 52.5.0
Tuple.Create("52", "20170316213829"),
Tuple.Create("51", "20170125094131"),
Tuple.Create("50", "20161104212021"),
Tuple.Create("49", "20161019084923")
};
// Версия
int currentBuild = r.Next(buildIDSet.Length);
string version = buildIDSet[currentBuild].Item1;
// Устанавливаем BuildID
instance.ShowNavigatorField(ZennoLab.InterfacesLibrary.Enums.Browser.NavigatorField.BuildId);
instance.SetHeader(ZennoLab.InterfacesLibrary.Enums.Browser.NavigatorField.BuildId, buildIDSet[currentBuild].Item2);
// Устанавливаем Vendor
instance.ShowNavigatorField(ZennoLab.InterfacesLibrary.Enums.Browser.NavigatorField.Vendor);
instance.SetHeader(ZennoLab.InterfacesLibrary.Enums.Browser.NavigatorField.Vendor, null);
// Устанавливаем VendorSub
instance.ShowNavigatorField(ZennoLab.InterfacesLibrary.Enums.Browser.NavigatorField.VendorSub);
instance.SetHeader(ZennoLab.InterfacesLibrary.Enums.Browser.NavigatorField.VendorSub, null);
// Формируем набор версий операционной системы Android
// https://ru.wikipedia.org/wiki/История_версий_Android
string AndroidOC = Macros.TextProcessing.Spintax("{4.4.4|5.0|5.0.1|5.0.2|5.1|5.1.1|6.0|6.0.1|7.0|7.1|7.1.1|7.1.2|8.0|8.1}");
string platform = string.Format(@"Linux {0}", Macros.TextProcessing.Spintax("{armv7l|armv8l}")); // 32bit and 64bit
// Определяем "битность" самого приложения
string platformApp = string.Empty;
// OC
project.Profile.UserAgentOsCpu = platform;
project.Profile.UserAgentPlatform = platform;
// Устанавливаем Useragent
project.Profile.UserAgent = string.Format("Mozilla/5.0 (Android {0}; {2}; rv:{1}.0) Gecko/20100101 Firefox/{1}.0", AndroidOC, version, device);
project.Profile.UserAgentAppVersion = string.Format(@"5.0 (Android {0})", AndroidOC);
project.Profile.UserAgentAppName = "Netscape";
project.Profile.UserAgentAppCodeName = "Mozilla";
project.Profile.UserAgentProduct = "Gecko";
project.Profile.UserAgentProductSub = "20100101";