# 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](#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 = 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](https://www.gnu.org/licenses/gpl-3.0.en.html). 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.