From 79c5157e05b6c6efd9a94a5a8509e098ec86b68a Mon Sep 17 00:00:00 2001 From: bitscuit Date: Sun, 9 May 2021 08:31:04 +0200 Subject: [PATCH] Added installation and configuration information to README --- README.md | 47 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 12c5d84..00f57d6 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,48 @@ # Shammer -Create false internet traffic \ No newline at end of file +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 + + [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. +