Skip to content

Commit

Permalink
Kinda fixed multi run job creation page plus hit outputs
Browse files Browse the repository at this point in the history
  • Loading branch information
openbullet committed May 3, 2024
1 parent 1970e6c commit 4ca0064
Show file tree
Hide file tree
Showing 12 changed files with 84 additions and 61 deletions.
2 changes: 1 addition & 1 deletion docs/hits/general-info.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ sidebar_position: 1

# Hits

All of the hits you obtain with a *Multi Run Job* that has *Database* in its *Hit Outputs* will be saved to the SQLite database, usually saved in `UserData/OpenBullet2.db`. You can view them in the *Hits* section of OpenBullet 2.
All of the hits you obtain with a *Multi Run Job* that has *Database* in its [hit outputs](./hit-outputs.md) will be saved to the SQLite database, usually saved in `UserData/OpenBullet2.db`. You can view them in the *Hits* section of OpenBullet 2.

### Types of hits
Hits have a type that depends on the *status* of the bot when it ended the execution of the config. Configs can change the status of the bot that executes them through *Keycheck* blocks or statements that specifically set the value of the `data.STATUS` variable. The values of the status that will result in a hit being sent to the hit outputs (for example the database) are, by default,
Expand Down
51 changes: 51 additions & 0 deletions docs/hits/hit-outputs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
sidebar_label: 'Hit outputs'
sidebar_position: 2
---

# Hit Outputs
The hits you obtain with a *Multi Run Job* can be saved or sent to different places. You can configure them in the hit outputs of a Multi Run Job. You can add more than one hit output: in this case, the hit will be saved/sent to each of the outputs you configured.

### Database
Hits will be saved to the SQLite database, usually found at `UserData/OpenBullet2.db`. You can view them in the *Hits* section of OpenBullet 2.

### File System
Hits will be stored inside the folder you specify, following this structure:

```text
BaseFolder
- ConfigName
- SUCCESS.txt
- TOCHECK.txt
- CUSTOM.txt
- ...
```

If the folder does not exist, it will be automatically created. Hits are stored in the format `<DATA> | <CAPTURE>`. This cannot currently be changed.

### Discord
Hits will be sent to a Discord Webhook URL of your choice. You can also specify the username and avatar that the bot will use.

### Telegram
Just like for discord, hits will be sent to a Telegram chat via a bot. You just need the bot token and the chat id.

### Custom Webhook
If you want to implement a custom sink for your hits, you can use this custom webhook. Hits will be sent to this hook via a POST request with an `application/json` payload such as:

```json
{
"data": "my data",
"capturedData": "captured data",
"configName": "my config",
"configAuthor": "author",
"timestamp": 1714754553,
"type": "SUCCESS",
"user": "username"
}
```

Where `username` can be configured via the hit output options.

:::info INFO
For the last three hit outputs, there is an option to only send hits with a `SUCCESS` type and not other types.
:::
Empty file added docs/jobs/job-monitor.md
Empty file.
90 changes: 30 additions & 60 deletions docs/jobs/multi-run-job/creation.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,44 +14,56 @@ Then go to the *Jobs* page, click on *New* and select *Multi Run*. You will see
The job options can always be edited later, while the job is not running.
:::

### Start Condition
### General settings
![General settings](/img/jobs/multi-run-job/general-settings.png)

![Start condition](/img/jobs/multi-run-job/start-condition.png)
You can give your job a *name* to quickly identify it, especially in the [Job Monitor](../job-monitor.md).

You can also specify the *start condition* and number of *bots* to use (which can also be changed at runtime).

:::info INFO
Do not use more bots than needed to avoid overloading both your system and the endpoint, most of the times the sweet spot is in the middle!
:::

#### Start Condition
The start condition tells the job how long to wait before starting. This is used to start the job at a specific time, for example if you know you will not be at the computer. There are two types of start conditions:
- **Start in...** - relative, starts the job after a given amount of time from now
- **Start in...** - relative, starts the job after a given amount of time
- **Start at...** - absolute, starts the job at a specific time

You have to manually click on *Start* after you created the job to activate the wait. A timer will be displayed to let you know that the job is waiting to start.
You have to manually click on *Start* after you created the job to activate the wait. A timer will be displayed to let you know that the job is waiting to start (you will be able to skip the wait during this time).

<!--
TODO: ADD IMAGE HERE
-->

### Data Pool
#### Config
You can select the config that you want the bots to run.

### Proxy settings and sources
![Proxy sources](/img/jobs/multi-run-job/proxy-sources.png)

Here you can define the sources from which proxies will be loaded. The available sources are:
- **Group** - loads proxies from one of the proxy groups you created in the *Proxies* section of OpenBullet 2
- **File** - loads proxies from a file on disk
- **Remote** - loads proxies from a remote URL

These sources will be queried when you start a job that requires proxies, and every time all proxies are banned if you set the *No valid proxy behaviour* to *Reload*.

Please refer to [this doc page](../../proxies/how-to-use-proxies.md) to know more about what each proxy setting does.

### Data Pool
![Data pool](/img/jobs/multi-run-job/data-pool.png)

The data pool defines the set of inputs that will be provided to the bots, which will then process them using the config you provided. The available data pools are:
- **Wordlist** - select a pre-imported file
- **File** - directly select a file from the file system
- **File** - directly select a file from the file system without importing it as a wordlist first
- **Range** - generates a range of numbers
- **Combinations** - generates all possible combinations of a string
- **Infinite** - an infinite source of empty inputs, for jobs that should be running forever

### Proxy Sources

![Proxy sources](/img/jobs/multi-run-job/proxy-sources.png)

These are the sources from which proxies will be loaded. The available sources are:
- **Group** - loads proxies from one of the proxy groups you created in the *Proxies* section of OpenBullet 2
- **File** - loads proxies from a file on disk
- **Remote** - loads proxies from a remote URL

These sources will be queried when you start a job that requires proxies, and every time all proxies are banned if you set the *No valid proxy behaviour* to *Reload*.
Please refer to [this doc page](../../wordlists/using-a-wordlist.md) to know more about data pool settings in a Multi Run Job.

### Hit Outputs

![Hit outputs](/img/jobs/multi-run-job/hit-outputs.png)

When a check that is performed through a config has a result that is either `SUCCESS`, `CUSTOM`, `NONE` or one of the custom statuses in your `Environment.ini` file, OpenBullet 2 will count that as a *hit* and will store it in the hit outputs you configured. The available hit outputs are:
Expand All @@ -61,46 +73,4 @@ When a check that is performed through a config has a result that is either `SUC
- **Telegram bot** - sends the hits to telegram
- **Custom webhook** - sends the hits to a custom webhook

<!---
TODO: Add more explanation on custom webhook
-->

### Misc

![Other settings](/img/jobs/multi-run-job/other-settings.png)

You can select the *config* you want to execute and the number of *bots* that will execute it. The number of bots can always be changed later, and even during the run.

:::info INFO
Do not use more bots than needed to avoid overloading both your system and the endpoint, most of the times the sweet spot is in the middle!
:::

After that, you can set the *skip*, which says how many items of the data pool will be skipped from the start. This is only useful when using wordlists to support resuming from a previous checkpoint.

#### Proxy Settings
The *Proxy Mode* can have the following values
- *On* - forces the use of proxies
- *Off* - disabled the use of proxies
- *Default* - lets the config decide, according to the *Use proxies* option in the *Config Settings*

The *No valid proxy behaviour* option regulates what happens when all proxies are banned or invalid, and can have the following values
- *DoNothing* - will do nothing
- *Unban* - sets all proxies as available without pulling them again from the configured proxy sources (this guarantees that the same proxies are used when running a job)
- *Reload* - loads new proxies by polling the proxy sources (if the sources updated in the meantime, it will pull new proxies and remove the old ones)

The *shuffle proxies* option will shuffle proxies in the pool before assigning them to bots.

Enable *never ban proxies* if you don't want your proxies to be banned (for example if you're using a rotating proxy service).

Use *concurrent proxy mode* if you want your proxies to be assigned to more than one bot at a time.

You can set up a *periodic reload interval*, which is the amount of time that will pass between automatic reloads. This is useful if you want to keep reloading your proxies and not wait until all are banned.

The *proxy ban time* setting regulates the amount of time for which a proxy will stay banned before it will be able to get unbanned. This is useful if the site bans proxies for a given amount of time, so you can be sure that the proxy is not used for that time to avoid refreshing its timeout, and only start making requests again when the timeout has expired.

:::caution WARNING
The option *proxy ban time* only works when *no valid proxy behaviour* is set to *Unban*.
:::

#### Others
The *mark as to check on abort* option will mark all data lines as *to check* when you abort a job. This is useful since, when you hard abort a job, you have no guarantee that the data that is being processed has finished. Enable this option if you don't want to skip checking a single data line.
Please refer to [this doc page](../../hits/hit-outputs.md) to know more about hit outputs in a Multi Run Job.
2 changes: 2 additions & 0 deletions src/pages/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,10 @@ import { Prism } from 'prism-react-renderer';
(typeof global !== 'undefined' ? global : window).Prism = Prism;

require('../prism-lolicode');
require('prismjs/components/prism-bash');
require('prismjs/components/prism-csharp');
require('prismjs/components/prism-ini');
require('prismjs/components/prism-json');
// -------------------------------------

function HomepageHeader() {
Expand Down
Binary file added static/img/hits/hit-outputs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified static/img/jobs/multi-run-job/data-pool.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified static/img/jobs/multi-run-job/hit-outputs.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified static/img/jobs/multi-run-job/other-settings.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified static/img/jobs/multi-run-job/proxy-sources.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified static/img/jobs/multi-run-job/start-condition.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 4ca0064

Please sign in to comment.