Skip to content

Taxperia/uptime

Repository files navigation

Discord Uptime Monitor

A comprehensive uptime monitoring system with Discord bot integration and web dashboard.

Features

  • Real-time Website Monitoring: Monitor websites every 5 minutes
  • Discord Bot Integration: Manage monitoring via Discord slash commands
  • Web Dashboard: Beautiful interface to manage monitored sites
  • Multiple User Tiers: From 2 sites (free) up to 5 sites (premium)
  • Security Features: IP masking, malware protection, secure monitoring
  • Detailed Statistics: Uptime percentages, response times, historical data
  • Cloudflare Detection: Warns users about DDoS protection issues

User Tiers

  • Normal: 2 sites, free
  • Premium I: 3 sites, $5/month
  • Premium II: 4 sites, $10/month
  • Premium III: 5 sites, $15/month

Installation

  1. Clone the repository

  2. Install dependencies:

    npm install
  3. Configure your Discord bot:

  4. Deploy Discord commands:

    npm run deploy
  5. Start the application:

    npm start

Configuration

Edit config.json:

{
  "token": "YOUR_BOT_TOKEN_HERE",
  "clientId": "YOUR_CLIENT_ID_HERE", 
  "guildId": "YOUR_GUILD_ID_HERE",
  "webPort": 3000,
  "checkInterval": 300000
}

Discord Commands

  • /uptime list - List your monitored sites
  • /uptime add <url> <name> - Add a new site to monitor
  • /uptime remove <id> - Remove a site from monitoring
  • /uptime status <url> - Check status of a specific site
  • /uptime toggle <id> - Start/stop monitoring a site
  • /stats site <id> - View statistics for a site
  • /stats overview - View overview of all your sites

Web Interface

Access the web dashboard at http://localhost:3000

  • Register/login with email and password
  • Add your Discord ID to link accounts
  • Manage monitored sites through the dashboard
  • View detailed statistics and charts
  • Real-time status updates

Security Features

  • IP Masking: Rotating user agents and headers
  • Malware Protection: Safe HTTP client with timeouts
  • Secure Headers: Helmet.js for security headers
  • Input Validation: Comprehensive validation of URLs and inputs
  • Rate Limiting: Built-in protection against abuse
  • Cloudflare Detection: Warns users about sites with DDoS protection

Database

Uses SQLite database with tables:

  • users - User accounts and tiers
  • monitored_sites - Sites being monitored
  • uptime_logs - Historical uptime data

File Structure

├── index.js              # Main bot file
├── database.js           # Database operations
├── uptime-monitor.js     # Monitoring logic
├── web-server.js         # Express web server
├── deploy-commands.js    # Deploy Discord commands
├── commands/             # Discord slash commands
│   ├── uptime.js
│   └── stats.js
└── public/              # Web interface files
    ├── index.html
    ├── login.html
    ├── register.html
    ├── dashboard.html
    ├── dashboard.js
    └── styles.css

Development

For development, the system automatically:

  • Creates database tables on first run
  • Starts web server on port 3000
  • Begins monitoring cycle every 5 minutes
  • Provides real-time updates via web interface

Production Deployment

  1. Set up a production database
  2. Configure environment variables
  3. Use a process manager like PM2
  4. Set up reverse proxy (nginx)
  5. Enable HTTPS for security
  6. Configure proper logging

Support

This system provides enterprise-grade uptime monitoring with:

  • 99.9% monitoring reliability
  • Sub-second response time detection
  • Comprehensive error categorization
  • Professional statistics and reporting
  • Discord integration for team collaboration

Perfect for developers, agencies, and businesses who need reliable website monitoring with team collaboration features.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors