Files
newsletter_spammer/README.md
T
2026-06-18 10:53:32 +02:00

89 lines
3.2 KiB
Markdown

# Multi-Site Sign-Up Automation Script
This script automates the process of signing up for multiple websites using a single configuration file. It is designed to be flexible and resilient, using advanced techniques to mimic human behavior.
---
## How It Works
The script reads its configuration from the `config.toml` file. It launches a browser using your real user profile to avoid bot detection, and then iterates through the list of sites you've defined, filling out and submitting the sign-up forms.
---
## Configuration (`config.toml`)
This is the main file you will edit to control the script. It has the following sections:
### 1. `[browser]` Section
This section controls the browser's behavior.
- `userDataDir` (Required): The absolute path to your Chrome/Chromium user profile. This is critical for avoiding bot detection.
- `userAgent` (Optional): A string to make the browser appear as a specific version (e.g., a Windows machine). If left blank, a random user agent is used.
**Example:**
```toml
[browser]
userDataDir = "/home/someone/.config/chromium"
userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"
```
### 2. `[global_credentials]` Section
Define a default set of credentials here. The script will use these for any site that does not have its own specific credentials defined.
- `username`
- `email`
- `password`
- `age` (or any other custom field)
**Example:**
```toml
[global_credentials]
username = "MyGlobalUsername"
email = "my.global.email@gmail.com"
password = "MyGlobalPassword123!"
age = "28"
```
### 3. `[[sites]]` Blocks
Each site you want to process is defined in its own `[[sites]]` block.
- `name`: A unique name for the site (e.g., "CameraBoys").
- `category`: An organizational tag (e.g., "Social", "Financial").
- `url`: The direct URL to the sign-up page.
- `needsPreSubmitAction`: Set to `true` for sites that have a GDPR/cookie popup. Currently, this is only configured for "CameraBoys".
#### `[sites.locators]` Subsection
This is where you define the form fields for the site. The script will dynamically try to fill **any field you list here**.
- **Easy Mode:** Simply find the element in your browser's developer tools, right-click, "Copy element", and paste the entire HTML tag as the value.
- **Advanced Mode:** You can also use a standard CSS selector.
**Supported Fields:** `username`, `password`, `email`, `confirmEmail`, `age`, or any other custom field.
*Note: For `confirmEmail`, the script will automatically use the `email` value.*
**Example:**
```toml
[sites.locators]
email = '<input id="23510" class="required email" name="23510" type="text">'
confirmEmail = '<input id="confirmEmail" class="email required" name="confirmEmail" type="text">'
age = '#user_age' # You can still use CSS selectors
submit = '<button type="submit">Subscribe</button>'
```
#### `[sites.credentials]` Subsection (Optional)
If a site requires a unique login, you can define it here. This will **override** the `[global_credentials]` for this site only.
**Example:**
```toml
[sites.credentials]
username = "SiteSpecificUser"
email = "site.specific.email@gmail.com"
password = "SitePassword789"
age = "42"
```