Shammer/README.md

2.0 KiB

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]
      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.