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
- Configuration: Administrators configure websites to monitor and proxies to use
- Scheduling: The worker schedules checks based on priority and timing
- Execution: Checks are performed through proxies in target countries
- Analysis: Results are analyzed to determine blocking status
- 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
Navigation
- User Guide - Instructions for using the map interface
- Admin Guide - Administrative workflows and management
- API Documentation - API endpoints and usage examples