Sign inSign up

bansheetech/disavow-generator

By bansheetech

•Updated 6 months ago

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

Image
Security
Developer tools
Web analytics
1

5.3K

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

6 months ago

docker pull bansheetech/disavow-generator