This project simulates realistic human writing traces and online activity schedules to confuse and pollute bot/AI detection datasets. By programmatically generating human-like noise, it creates authentic-looking activity across various platforms for privacy, security research, and data obfuscation.
The tool is built on four core modules to mimic realistic human behavior:
- Physical Proximity Typos: Simulates finger slips based on the physical layout of the keyboard. Wrong characters are chosen from adjacent keys.
- Layout-Specific Mapping: Adapts to different keyboards. For example, the German profile uses a QWERTZ layout (swapping Y and Z, adjusting neighboring keys), while other profiles default to QWERTY.
- Various Error Types: Supports substitutions (hitting the wrong key), transpositions (swapping adjacent letters), omissions (skipping letters), and double strikes (duplicating letters).
- Slang & Colloquialisms: Randomly replaces standard words with slang equivalents based on a configured rate (e.g., converting "to be honest" to "tbh", or Indonesian "yang" to "yg").
- Case Customization: Randomizes capitalization starting rules to mimic lazy mobile typists who omit capital letters at the beginning of sentences.
- Dynamic Generation: Generates randomized sentences using a local Markov Chain trained on target-language text corpora (stored in
config.py), ensuring that generated posts/comments are coherent yet entirely unique and unpredictable.
- Bezier Mouse Curves: Generates 2D coordinates (x, y) along a randomized cubic Bezier curve connecting start and end points to simulate human hand cursor navigation.
- Human Typing Delays: Generates time delays (with random Gaussian jitter) between keystrokes, with extra delays added for spaces and capitalization to simulate typing cadence.
- Sends payloads to an active external URL via HTTP POST (using Python's native zero-dependency
urllib).
- indonesian_netizen: Indonesian phrasing, local slang (wkwk, bgt, yg), QWERTY layout.
- english_netizen: English tech/Reddit phrasing, internet slang (lol, tbh, fr), QWERTY layout.
- german_netizen: German phrasing, German slang (zb, nich, u), QWERTZ layout.
- japanese_netizen: Japanese phrasing, Japanese internet slang (w, あり, おつ), QWERTY layout.
d:\humannoise/
├── humannoise/
│ ├── __init__.py
│ ├── config.py # Profiles, keyboard layouts, slang dictionaries, and training corpora
│ ├── generator.py # Text generation logic (typos, slang, casing, and Markov Chains)
│ ├── scheduler.py # Circadian scheduling and timeline assembly
│ ├── exporter.py # Platform-specific API payload formatters
│ ├── browser.py # Human browser emulation telemetry (Bezier curves & typing delays)
│ ├── connectors.py # Webhook publishing client
│ └── cli.py # Command-Line Interface
├── tests/
│ ├── __init__.py
│ ├── test_generator.py
│ ├── test_scheduler.py
│ └── test_browser.py
├── pyproject.toml # Modern Python package setup
└── README.md
You can load additional netizen profiles or custom templates dynamically from a JSON file:
python -m humannoise.cli --custom-profile "/path/to/custom_profile.json" generate --profile french_netizenGenerate a static list of scheduled actions and target contents over a specific duration:
python -m humannoise.cli generate --days 1 --profile english_netizen --markov[*] Generating human activity noise timeline for profile: 'english_netizen'
[*] Duration: 1 days
[*] Text Generation Mode: Markov Chain
------------------------------------------------------------
[Event #1]
Timestamp : 2026-07-15T09:24:30
Platform : REDDIT
Endpoint : https://oauth.reddit.com/api/submit
Content : "ive been using thiis tool for years and had no idea it could do that shortcut. Mind blown."
------------------------------------------------------------
Run a simulation loop that triggers events as time passes, logs simulated browser/mouse interactions, and sends HTTP requests to your webhook:
python -m humannoise.cli daemon --profile german_netizen --speed 3600 --markov --execute --webhook-url "https://your-webhook.site/path"===================================================
REVERSE DEAD INTERNET - HUMAN NOISE GENERATOR
===================================================
A tool to generate human-like online activity traces.
[*] Starting Human Noise Daemon using profile: 'german_netizen'
[*] Simulation speed multiplier: 3600.0x (1 second real time = 3600.0 seconds simulated time)
[*] Text Generation Mode: Markov Chain
[*] Execution Mode: ACTIVE (Post to Webhook)
[*] Target Webhook URL: https://your-webhook.site/path
------------------------------------------------------------
[*] Scheduled 4 events for the next 24 hours.
- [07:48:44] on github
------------------------------------------------------------
>>> [EVENT TRIGGERED] 2026-07-15 07:48:44
Platform : GITHUB
Content : Fehler beim Laden der Konfigurationsdatei: Dateipfad ungültig.
[*] Simulating user browser interactions...
- Generated Bezier mouse curve starting at (277, 177) to (564, 443)
- Coordinates preview (first 5 points): [(277, 177), (368, 173), (414, 185), (427, 211), (422, 246)]
- typing delay preview (first 5 characters): [0.3758, 0.2152, 0.1375, 0.2994, 0.2372] seconds
[*] Executing webhook request...
[Success] Webhook response: HTTP 200: OK
------------------------------------------------------------
Validate the stability of all modules:
python -m unittest discover -s testsThis project is licensed under the GNU General Public License v3.0 (GPL-3.0). See the LICENSE file for details.