-
Notifications
You must be signed in to change notification settings - Fork 586
Expand file tree
/
Copy pathMultiRunJobOptions.cs
More file actions
93 lines (77 loc) · 3.29 KB
/
MultiRunJobOptions.cs
File metadata and controls
93 lines (77 loc) · 3.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
using OpenBullet2.Core.Models.Data;
using OpenBullet2.Core.Models.Hits;
using OpenBullet2.Core.Models.Proxies;
using RuriLib.Models.Jobs;
using RuriLib.Models.Proxies;
using System.Collections.Generic;
namespace OpenBullet2.Core.Models.Jobs;
/// <summary>
/// Options for a <see cref="MultiRunJob"/>.
/// </summary>
public class MultiRunJobOptions : JobOptions
{
/// <summary>
/// The ID of the config to use.
/// </summary>
public string ConfigId { get; set; }
/// <summary>
/// The amount of bots that will process the data lines concurrently.
/// </summary>
public int Bots { get; set; } = 1;
/// <summary>
/// The amount of data lines to skip from the start of the data pool.
/// </summary>
public int Skip { get; set; } = 0;
/// <summary>
/// The proxy mode.
/// </summary>
public bool Logoff { get; set; } = false;
/// <summary>
/// disable log
/// </summary>
public JobProxyMode ProxyMode { get; set; } = JobProxyMode.Default;
/// <summary>
/// Whether to shuffle the proxies in the pool before starting the job.
/// </summary>
public bool ShuffleProxies { get; set; } = true;
/// <summary>
/// The behaviour that should be applied when no more valid proxies are present in the pool.
/// </summary>
public NoValidProxyBehaviour NoValidProxyBehaviour { get; set; } = NoValidProxyBehaviour.Reload;
/// <summary>
/// How long should proxies be banned for. ONLY use this when <see cref="NoValidProxyBehaviour"/>
/// is set to <see cref="NoValidProxyBehaviour.Unban"/>.
/// </summary>
public int ProxyBanTimeSeconds { get; set; } = 0;
/// <summary>
/// Whether to mark the data lines that are currently being processed as To Check when the job
/// is aborted, in order to know which items weren't properly checked.
/// </summary>
public bool MarkAsToCheckOnAbort { get; set; } = false;
/// <summary>
/// Whether to never ban proxies in any case. Use this for rotating proxy services.
/// </summary>
public bool NeverBanProxies { get; set; } = false;
/// <summary>
/// Whether to allow multiple bots to use the same proxy. Use this for rotating proxy services.
/// </summary>
public bool ConcurrentProxyMode { get; set; } = false;
/// <summary>
/// The amount of seconds that the pool will wait before reloading all proxies from the sources (periodically).
/// Set it to 0 to disable this behaviour and only allow the pool to reload proxies when all are banned according
/// to the value of <see cref="NoValidProxyBehaviour"/>.
/// </summary>
public int PeriodicReloadIntervalSeconds { get; set; } = 0;
/// <summary>
/// The options for the data pool that provides data lines to the job.
/// </summary>
public DataPoolOptions DataPool { get; set; } = new WordlistDataPoolOptions();
/// <summary>
/// The options for the proxy sources that will be used to fill the proxy pool whenever it requests a reload.
/// </summary>
public List<ProxySourceOptions> ProxySources { get; set; } = new List<ProxySourceOptions>();
/// <summary>
/// The options for the outputs where hits will be stored.
/// </summary>
public List<HitOutputOptions> HitOutputs { get; set; } = new List<HitOutputOptions>();
}