Simple web crawler that generates internet requests to hide your real traffic.
Go to file
bitscuit 9850fdf2b3 Added counter for number of fetched sites 2021-05-09 13:19:27 +02: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 Added user to systemd unit configuration in readme 2021-05-09 07:07:21 +00:00
main.py Added counter for number of fetched sites 2021-05-09 13:19:27 +02: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
      
      [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.