Skip to content

pawankjajoo/Dynamic-Software-Hub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dynamic Software Hub

A dynamic downloads center for PushStartSims.com that automatically tracks and displays the latest versions of critical sim racing and flight simulation software.

Features

  • Real-time Version Tracking: Automatically scrapes and updates software versions from vendor websites
  • Comprehensive Coverage: Tracks TrackIR, SimHub, Fanatec drivers, NVIDIA, AMD, Pimax, and more
  • Dark Theme Dashboard: Beautiful, responsive HTML interface optimized for quick reference
  • Multi-Strategy Scraping: Handles various website protection mechanisms (Cloudflare, JavaScript rendering, etc.)
  • Confidence Scoring: AI-driven parser with 6 different extraction strategies to ensure accurate version detection
  • Rate Limited: Respectful scraping with 1-2.5s delays between requests

Tech Stack

  • Frontend: HTML5, CSS3, Vanilla JavaScript
  • Backend: Python 3
  • Libraries: Playwright, cloudscraper, requests
  • Scraping Strategies:
    • HTTP requests with stealth headers
    • Cloudflare bypassing
    • Headless browser rendering
    • JSON-LD parsing
    • Keyword proximity matching
    • Regex-based fallback

How It Works

The system uses a three-tier scraping approach because vendor websites are all over the place:

  1. Normal HTTP requests with stealth headers (works for most sites)
  2. CloudScraper for Cloudflare-protected sites
  3. Playwright headless Chromium for heavily JavaScript-rendered pages

Each page gets parsed using 6 different strategies in parallel:

  • Heading tags extraction
  • Download links analysis
  • Class/data attributes parsing
  • JSON-LD structured data
  • Keyword proximity scoring
  • Broad regex fallback

The system scores confidence for each match and takes the highest-confidence result.

Usage

View the Dashboard

Simply open index.html in any modern web browser to view the software hub dashboard.

Run the Updater

# Install dependencies
pip install -r requirements.txt

# Run full update
python pss_tools_updater.py

# Update specific tools only
python pss_tools_updater.py --only trackir,simhub

# Dry run (no updates, just show what would happen)
python pss_tools_updater.py --dry-run

File Structure

Dynamic-Software-Hub/
├── index.html                      # Main dashboard (generated by updater)
├── pss_tools_updater.py           # Python scraper/updater script
├── requirements.txt               # Python dependencies
└── updater.py                     # Additional updater utilities

Supported Software

  • Wheel Bases: Fanatec CSW, Podium
  • Headtracking: TrackIR, Tobii
  • Simulation: SimHub, AC2 patch manager
  • GPUs: NVIDIA (CUDA drivers), AMD (AMDGPU)
  • VR: Pimax, Meta
  • Flight Sims: MSFS updates, X-Plane plugins

Performance

  • Rate limited to 1-2.5 seconds between requests to avoid blocking
  • Parallel parsing strategies for fast version extraction
  • Caching to minimize redundant requests
  • Efficient HTML/CSS for fast page loads

Browser Compatibility

  • Chrome/Edge 90+
  • Firefox 88+
  • Safari 14+
  • Opera 76+

Contributing

When adding new software sources:

  1. Add to the scraper configuration
  2. Include multiple parsing strategies
  3. Test with CloudFlare/JS-heavy sites
  4. Set appropriate rate limits

License

Created by Pawan K Jajoo

Support

For issues or feature requests related to sim racing downloads tracking, please create an issue on GitHub.


Tags: virtual-reality, eye-tracking, support-center, sim-racing, flight-simulation, fanatec