Shammer/README.md

67 lines
2.5 KiB
Markdown

# 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 = <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](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.