bansheetech/disavow-generator

By bansheetech

Updated 3 months ago

Negative SEO protection web app with automated, hierarchical and historical Google Search Console.

Image
Security
Developer tools
Web analytics
1

3.6K

bansheetech/disavow-generator repository overview

Disavow Generator

Negative SEO protection web app with automated, hierarchical and historical Google Search Console disavow generation and granular link-level control.

Disavow-Generator Logo

Python Flask Vue3 License Docker


Features

  • Automated Disavow Generation - Upload backlink exports and generate Google Search Console disavow files
  • Smart Categorization - Automatically categorizes entries as IPs, domains, or specific URLs
  • Historical Tracking - Tracks previously disavowed entries to highlight new threats
  • Whitelist Management - Maintain a whitelist of legitimate domains to exclude from disavow
  • New Entries Review - Review new domains/IPs before blocking with option to whitelist
  • Multi-format Support - Import from Excel (.xlsx, .xls), CSV, and TXT files
  • Production Ready - Multi-worker support with Hypercorn ASGI server
  • Docker Support - Easy deployment with Docker and docker-compose

Processing Whitelist Historic

Quick Start with Docker

# Clone the repository
git clone https://github.com/BansheeTech/Disavow-Generator.git

# Bring up the container
docker compose up -d

# Access
open http://localhost:44444

Default credentials: user / passwd

Change the default credentials immediately after first login via Settings.


Manual Installation

Requirements
  • Python 3.11+
  • pip
Setup
# Clone the repository
git clone https://github.com/BansheeTech/Disavow-Generator.git
cd Disavow-Generator

# Create virtual environment
python -m venv venv
source venv/bin/activate  # Linux/macOS
# venv\Scripts\activate   # Windows

# Install dependencies
pip install -r requirements.txt

# Run the application
python app.py

The app will start on http://localhost:44444


Configuration

Configuration is stored in conf/disavow.conf (auto-generated on first run):

[server]
port = 44444
mode = production
workers = 4
secret_key = <auto-generated>

[paths]
input_dir = __DISAVOW_DATA__/INGEST
output_dir = __DISAVOW_DATA__/OUTPUT
whitelist_file = __DISAVOW_DATA__/whitelist.txt

[auth]
username = user
password_hash = <bcrypt-hash>
Configuration Options
OptionDescriptionDefault
portServer port44444
modeproduction or developmentproduction
workersNumber of worker processes4

Usage

Upload backlink exports from tools like Ahrefs, SEMrush, Majestic, or any CSV/Excel file containing URLs.

2. Manage Whitelist

Add legitimate domains to the whitelist to prevent them from being included in the disavow file.

3. Generate Disavow File

Click "Generate Disavow File" to process all uploaded files. New domains/IPs will be highlighted for review.

4. Download & Upload to Google

Download the generated disavow file and upload it to Google Search Console Disavow Tool.


Docker Volumes

VolumeContainer PathDescription
Config/app/confConfiguration file (disavow.conf)
Data/app/__DISAVOW_DATA__Input files, output files, whitelist

Example docker-compose.yml:

services:
  disavow-generator:
    image: bansheetech/disavow-generator:latest
    container_name: disavow-generator
    restart: unless-stopped
    ports:
      - "44444:44444"
    volumes:
      - ./disavow_data:/app/__DISAVOW_DATA__
      - ./disavow_conf:/app/conf
    environment:
      - TZ=Europe/Madrid

API Endpoints

MethodEndpointDescription
POST/api/uploadUpload input file
POST/api/processGenerate disavow file
GET/api/statsGet current statistics
GET/api/whitelistGet whitelist
POST/api/whitelistUpdate whitelist
GET/api/filesList input files
GET/api/outputsList generated files
GET/api/download/<filename>Download disavow file

Tech Stack

  • Backend: Python 3.11, Flask 3.1, Hypercorn (ASGI)
  • Frontend: Vue.js 3, Tailwind CSS
  • Auth: Flask-Login, bcrypt
  • Data: pandas, openpyxl

License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).

See LICENSE.md for the full license text.


Author

Banshee - https://www.banshee.pro


Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Tag summary

Content type

Image

Digest

sha256:53a87e342

Size

107.8 MB

Last updated

3 months ago

docker pull bansheetech/disavow-generator