Simple web crawler that generates internet requests to hide your real traffic.
Go to file
Thomas Van Acker f5fee47850 Updated systemd config in readme to only start unit after network is online 2021-05-14 09:09:47 +00:00
.gitignore Moved static vars to configuration file and added code to create default config 2021-05-09 07:51:34 +02:00
LICENSE Added GPLv3 license and copyright notice 2021-05-09 08:44:53 +02:00
README.md Updated systemd config in readme to only start unit after network is online 2021-05-14 09:09:47 +00:00
main.py Fixed little issue and moved delay to beginning of loop 2021-05-14 09:03:12 +00:00
shammer Wrote first version 2021-05-08 17:43:31 +02:00

README.md

Shammer

Shammer is a simple web crawler that generates internet requests to hide your real traffic.

Installation

Note: assuming your computer runs Ubuntu 18.04

Follow these steps to install Shammer of your machine:

  1. Clone the source code: git clone https://git.bitscuit.be/bitscuit/Shammer.git and cd Shammer.
  2. Install the dependencies: pip3 install requests.
  3. Run the script to generate a default configuration file: ./shammer.
  4. Edit config.json with your favourite text editor and tweak the settings to your liking (see Configuration).
  5. Run the script again to verify configuration: ./shammer.
  6. Create a SystemD Unit for Shammer:
    1. Run sudo vim /etc/systemd/system/shammer.service and add the following text:
      [Unit]
      Description = Shammer internet traffic generator
      After = network-online.target
      
      [Service]
      User = <username>
      ExecStart = /path/to/shammer/script
      
      [Install]
      WantedBy = multi-user.target
      
    2. Enable the service: sudo systemctl enable shammer.service
    3. Start the service: sudo systemctl start shammer.service
    4. Check if runs correctly: service shammer status
  7. Shammer is now installed on your machine 🥳

Configuration

The configuration for Shammer is stored in the config.json file in the project root directory. A default configuration is generated when running Shammer for the first time.

You must add all of the following attributes to config.json:

  • INDEX_URL: URL of the website Shammer needs to start at.
  • MAX_CONTENT_LENGTH: The maximum file size in bytes of a request. If the Content-Length header is provided with the response, Shammer will only download the full page is this value is below MAX_CONTENT_LENGTH.
  • REQUESTS_PER_MINUTE: The average number of requests per minute. If set to 0, Shammer won't sleep between requests.
  • HOUR_START: The hour at which to start shamming.
  • HOUR_END: The hour at which to end shamming.

To reset the configuration back to the default settings, simply delete config.json and run ./shammer to create a new configuration file.

Contributing

Want to help develop Shammer? Awesome!

Feel free to fork this repository, add new features and submit a pull request. Thanks!

Disclaimer

Copyright 2021 Thomas Van Acker

This project is available under the GPLv3 license. This program comes with ABSOLUTELY NO WARRANTY.

I am not responsible for any damage that may be caused by this software. USE AT YOUR OWN RISK.