Skip to main content

System Overview

GlobalMonitor is a comprehensive censorship tracking system designed to monitor website accessibility around the world. This documentation provides technical and user guidance for understanding, using, and managing the system.

Architecture

GlobalMonitor consists of three main components:

1. Frontend Application

A Next.js web application providing:

  • Interactive world map visualization
  • Country-specific analytics
  • Administrative interfaces
  • User authentication

2. Worker Service

A background service that:

  • Connects to proxies in different countries
  • Performs website accessibility checks
  • Processes results and calculates scores
  • Makes decisions about blocking status

3. Database

A PostgreSQL database storing:

  • Check configurations and results
  • Country and region data
  • Website origins and mirrors
  • User authentication data
  • Historical results and decisions

Data Flow

  1. Configuration: Administrators configure websites to monitor and proxies to use
  2. Scheduling: The worker schedules checks based on priority and timing
  3. Execution: Checks are performed through proxies in target countries
  4. Analysis: Results are analyzed to determine blocking status
  5. Visualization: The frontend displays results on a world map with detailed analytics

Key Concepts

Origins & Mirrors

  • Origins: Original websites being monitored (e.g., nytimes.com)
  • Mirrors: Alternative access points for the same content (e.g., bypass proxies)

Checks & Results

  • Checks: Configuration for testing website accessibility
  • Results: Outcomes of accessibility tests
  • Decisions: Determinations of blocking status based on multiple results

Proxies & Providers

  • Proxy Providers: Services offering proxy endpoints in multiple countries
  • Proxies: Individual connection points in specific countries