Categorygithub.com/mirzaaghazadeh/jsdif
repositorypackage
0.0.0-20250222111425-c2c690994eb1
Repository: https://github.com/mirzaaghazadeh/jsdif.git
Documentation: pkg.go.dev

# Packages

No description provided by the author

# README

JSDif Watcher šŸ•µļøā€ā™‚ļø V.1.0.2

Alt Text

A powerful JavaScript monitoring tool for bug bounty hunters. Track changes in JavaScript files across websites, detect new attack surfaces, and stay ahead of security vulnerabilities.

šŸŽÆ Features

  • šŸ” Monitor JavaScript files from any website
  • šŸ“Š Git-based version control of changes
  • 🌐 Clean web UI for easy configuration
  • šŸ”” Telegram notifications for instant alerts
  • ⚔ Configurable monitoring intervals
  • šŸ”„ Automatic retry and timeout mechanisms
  • šŸ“ Efficient diff viewing for quick analysis
  • šŸ›”ļø Automatic error handling and retry mechanisms
  • šŸŽ® Web interface for easy management of monitored URLs

šŸš€ Quick Start

Docker Installation (Recommended)

The easiest way to run JSDif is using Docker:

# Clone the repository
git clone https://github.com/mirzaaghazadeh/jsdif.git
cd jsdif

# Start with Docker Compose
docker compose up -d

Access the web interface at http://localhost:9093

For detailed Docker setup instructions including:

  • Authentication configuration
  • Custom port configuration
  • Data persistence management
  • Container management
  • Troubleshooting guide

šŸ‘‰ See DOCKER.md

Manual Installation

Requirements

  • Go 1.20 or higher
  • Git installed and accessible from PATH
  • Linux, macOS, or Windows operating system

Installation

go install github.com/mirzaaghazadeh/jsdif@latest

Usage

Basic usage without authentication:

jsdif run -p 9093

Optional basic authentication:

jsdif -u admin --password secret -p 9093 run

Available flags:

  • -p: Port number (default: 9093)
  • -u: (Optional) Username for authentication on web gui
  • --password: (Optional) Password for authentication on web gui

Access the web interface at http://localhost:9093 to start monitoring your targets.

šŸ’» Web Interface Features

  • Add/Edit/Remove monitored URLs
  • Configure monitoring intervals per URL
  • View real-time status of each watcher
  • Set custom timeout values
  • Browse through historical changes
  • View detailed diffs between versions
  • Toggle monitoring status (active/disabled)

šŸ”” Notification Setup

Telegram Notifications

  1. Create a new bot using @BotFather on Telegram
  2. Get your bot token
  3. Get your chat ID (you can use @userinfobot)
  4. Configure notifications in the web interface:
    • Enable notifications
    • Select Telegram as the notification type
    • Enter your bot token
    • Enter your chat ID

šŸ”„ Bug Bounty Use Cases

  • šŸŽÆ Track new JavaScript endpoints and APIs
  • šŸ”‘ Monitor for leaked sensitive information
  • šŸ›”ļø Detect changes in security controls
  • šŸš€ Find new features before they're officially released
  • āš ļø Identify removed security checks
  • šŸ“¦ Track third-party script changes
  • šŸ”’ Monitor authentication/authorization changes

šŸ”Ø Building from Source

git clone https://github.com/mirzaaghazadeh/jsdif.git
cd jsdif
go build -o jsdif

āš™ļø Configuration

Command Line Options

  • Port: -p flag to set the server port (default: 9093)
  • Authentication: Optional basic auth protection
    • -u: Username for web interface access
    • --password: Password for web interface access

Web Interface Settings

The web interface allows you to configure:

  • URL: The target website to monitor
  • Interval: How often to check for changes (in minutes)
  • Status: Active or Disabled
  • Timeout: Maximum number of retry attempts before disabling
  • Notifications: Telegram notification settings
    • Enable/Disable notifications
    • Bot Token
    • Chat ID

šŸ› Reporting Issues

If you encounter any bugs or have feature requests, please:

  1. Check the existing issues on GitHub
  2. Create a new issue with:
    • Detailed description of the problem
    • Steps to reproduce
    • Expected vs actual behavior
    • System information (OS, Go version)

šŸ“ License

This project is open source. Feel free to use and contribute!


āš ļø Note: This tool is intended for bug bounty hunting and security research. Use responsibly and follow program policies.