/// <summary> /// Creates a BotData object given some parameters. /// </summary> /// <param name="globalSettings">The global RuriLib settings</param> /// <param name="configSettings">The settings for the current Config</param> /// <param name="data">The wrapped data line to check</param> /// <param name="proxy">The proxy to use (set to null if none)</param> /// <param name="useProxies">Whether to use the proxy for requests</param> /// <param name="botNumber">The number of the bot that is creating this object</param> /// <param name="isDebug">Whether this object is created from a Debugger or from a Runner</param> public BotData(RLSettingsViewModel globalSettings, ConfigSettings configSettings, CData data, CProxy proxy, bool useProxies, int botNumber = 0, bool isDebug = true) { Data = data; Proxy = proxy; UseProxies = useProxies; Status = BotStatus.NONE; BotNumber = BotNumber; GlobalSettings = globalSettings; ConfigSettings = configSettings; Balance = 0; Screenshots = new List <string>(); Variables = new VariableList(); // Populate the Variables list with hidden variables Address = ""; ResponseCode = "0"; ResponseSource = ""; Cookies = new Dictionary <string, string>(); ResponseHeaders = new Dictionary <string, string>(); try { foreach (var v in Data.GetVariables()) { Variables.Set(v); } } catch { } GlobalVariables = new VariableList(); GlobalCookies = new CookieDictionary(); LogBuffer = new List <LogEntry>(); Driver = null; BrowserOpen = false; IsDebug = isDebug; BotNumber = botNumber; }
public RLSettings() { vm = SP.GetService <ViewModelsService>().RLSettings; vm.CaptchaServiceChanged += UpdateCaptchaTabControl; DataContext = vm; InitializeComponent(); UpdateCaptchaTabControl(vm.CurrentCaptchaService); SetRTBContents(); }
/// <summary> /// Sets up the request options. /// </summary> /// <param name="settings">The RuriLib settings</param> /// <param name="autoRedirect">Whether to perform automatic redirection</param> /// <param name="acceptEncoding"></param> /// <param name="maxRedirects"></param> /// <returns></returns> public Request Setup(RLSettingsViewModel settings, bool autoRedirect = true, int maxRedirects = 8, bool acceptEncoding = true) { // Setup options timeout = settings.General.RequestTimeout * 1000; request.IgnoreProtocolErrors = true; request.AllowAutoRedirect = autoRedirect; request.EnableEncodingContent = acceptEncoding; request.ReadWriteTimeout = timeout; request.ConnectTimeout = timeout; request.KeepAlive = true; request.MaximumAutomaticRedirections = maxRedirects; return(this); }
public RLSettings() { vm = SP.GetService <ViewModelsService>().RLSettings; vm.CaptchaServiceChanged += UpdateCaptchaTabControl; DataContext = vm; InitializeComponent(); parallelizerTypesCombobox.ItemsSource = Enum.GetValues(typeof(ParallelizerType)).Cast <ParallelizerType>(); captchaServiceCombobox.ItemsSource = Enum.GetValues(typeof(CaptchaServiceType)).Cast <CaptchaServiceType>(); UpdateCaptchaTabControl(vm.CurrentCaptchaService); SetRTBContents(); }
/// <summary> /// Sets up the request options. /// </summary> /// <param name="settings">The RuriLib settings</param> /// <param name="securityProtocol">The security protocol to use</param> /// <param name="autoRedirect">Whether to perform automatic redirection</param> /// <param name="acceptEncoding"></param> /// <param name="maxRedirects"></param> /// <returns></returns> public Request Setup(RLSettingsViewModel settings = null, SecurityProtocol securityProtocol = SecurityProtocol.SystemDefault, bool autoRedirect = true, int maxRedirects = 8, bool acceptEncoding = true) { // Setup options if (settings != null) { timeout = settings.General.RequestTimeout * 1000; } request.IgnoreProtocolErrors = true; request.AllowAutoRedirect = autoRedirect; request.EnableEncodingContent = acceptEncoding; request.ReadWriteTimeout = timeout; request.ConnectTimeout = timeout; request.KeepAlive = true; request.MaximumAutomaticRedirections = maxRedirects; request.SslProtocols = securityProtocol.ToSslProtocols(); return(this); }
/// <summary> /// Creates a BotData object given some parameters. /// </summary> /// <param name="globalSettings">The global RuriLib settings</param> /// <param name="configSettings">The settings for the current Config</param> /// <param name="data">The wrapped data line to check</param> /// <param name="proxy">The proxy to use (set to null if none)</param> /// <param name="useProxies">Whether to use the proxy for requests</param> /// <param name="random">A reference to the global random generator</param> /// <param name="botNumber">The number of the bot that is creating this object</param> /// <param name="id">Data id Runner</param> /// <param name="isDebug">Whether this object is created from a Debugger or from a Runner</param> public BotData(RLSettingsViewModel globalSettings, ConfigSettings configSettings, CData data, CProxy proxy, bool useProxies, Random random, int botNumber = 0, bool isDebug = true) { Data = data; Proxy = proxy; UseProxies = useProxies; this.random = new Random(random.Next(0, int.MaxValue)); // Create a new local RNG seeded with a random seed from the global RNG Status = BotStatus.NONE; BotNumber = BotNumber; GlobalSettings = globalSettings; ConfigSettings = configSettings; Balance = 0; Screenshots = new List <string>(); Variables = new VariableList(); // Populate the Variables list with hidden variables Address = ""; ResponseCode = "0"; ResponseSource = ""; ResponseStream = null; Cookies = new Dictionary <string, string>(); ResponseHeaders = new Dictionary <string, string>(); try { foreach (var v in Data.GetVariables(ConfigSettings.EncodeData)) { Variables.Set(v); } } catch { } GlobalVariables = new VariableList(); GlobalCookies = new CookieDictionary(); LogBuffer = new List <LogEntry>(); Driver = null; BrowserOpen = false; IsDebug = isDebug; BotNumber = botNumber; CustomObjects = new Dictionary <string, object>(); }
/// <summary> /// Saves the RuriLib settings to a file. /// </summary> /// <param name="settingsFile">The file you want to save to</param> /// <param name="settings">The RuriLib settings object</param> public static void SaveSettings(string settingsFile, RLSettingsViewModel settings) { File.WriteAllText(settingsFile, JsonConvert.SerializeObject(settings, Formatting.Indented)); }