A self hosted web application to track and manage FitGirl game releases with automatic scrapping from 1337x.
This application provides a safe and organized way to track FitGirl releases without exposing yourself to potentially malicious websites. Instead of manually visiting torrent sites, you can:
- Better tracking: Organize releases with custom statuses (New, Downloaded, Ignored)
- Enhanced search: Find specific games quickly as you type
- Safe browsing: Avoid direct exposure to potentially malicious torrent sites
- Centralized management: Keep all release information in one secure location
- Screenshot gallery: View game screenshots in HD without visiting external sites
- Magnet link access: Get direct download links safely
- Real-time synchronization with 1337x for new FitGirl releases
- Web interface for browsing and managing releases
- Multiple view modes (grid and table/list views)
- Status tracking (New, Downloaded, Ignored)
- Search functionality across all releases
- Screenshot gallery with optimized image loading and navigation
- Magnet link support for direct downloads
- FlareSolverr integration for automatic Cloudflare bypass
- Docker support for easy deployment
- Statistics dashboard with release counts and sync status
- Enhanced UI/UX with modern responsive design
- WebSocket real-time updates for live synchronization progress
- Improved error handling and logging
Due to how 1337x works, only the first 2000 releases can be scraped during the initial synchronization. After that, new releases will be added as they are discovered during subsequent syncs. To get more historical releases, you would need to clear the database and start fresh.
1337x displays dates dynamically (e.g., "1 day ago", "1 month ago"), so publication dates for older releases might be slightly inaccurate. This doesn't affect the app's functionality but may show dates that don't exactly match the original FitGirl release dates.
- Python 3.10+
- Chrome/Chromium browser (for Selenium)
- FlareSolverr (required for Cloudflare bypass)
- Docker (optional, for containerized deployment)
-
Clone the repository
git clone https://github.com/ravioldev/fitgirl-downloader cd firgirl-updater -
Create virtual environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Install and run FlareSolverr
# Using Docker (recommended) docker run -d \ --name=flaresolverr \ -p 8191:8191 \ -e LOG_LEVEL=info \ --restart unless-stopped \ ghcr.io/flaresolverr/flaresolverr:latest # Or download from: https://github.com/FlareSolverr/FlareSolverr
-
Configure the application
# Edit config.yaml with your preferences nano config.yaml -
Run the application
python app.py
-
Access the web interface Open http://localhost:2121 in your browser
-
Build and run with Docker Compose
docker-compose up -d
-
Access the application Open http://localhost:2121 in your browser
-
View logs
docker-compose logs -f fitgirl-updater
-
Stop the application
docker-compose down
fitgirl-downloader/
βββ backend/ # Backend modules
β βββ cloudflare_bypass.py # Cloudflare bypass logic
β βββ game_release.py # Release data model
β βββ json_database_manager.py # Database management
β βββ settings_manager.py # Configuration management
β βββ x1337_scraper.py # Web scraping logic
βββ static/ # Frontend assets
β βββ css/ # Stylesheets
β βββ js/ # JavaScript files
β βββ images/ # Images and icons
βββ templates/ # HTML templates
β βββ index.html # Main web interface
βββ docker/ # Docker configuration
β βββ Dockerfile # Container image definition
β βββ docker-compose.yml # Service orchestration
β βββ README.md # Docker deployment guide
βββ scripts/ # Utility scripts
β βββ docker-scripts.sh # Docker management (Linux/Mac)
β βββ docker-scripts.ps1 # Docker management (Windows)
βββ docs/ # Documentation
βββ logs/ # Application logs
βββ app.py # Main Flask application
βββ start_web.py # Web server starter script
βββ config.yaml # Configuration file
βββ requirements.txt # Python dependencies
βββ fitgirl_releases.json # Release database
Edit config.yaml to customize the application:
# Web server settings
web_host: "0.0.0.0" # Use "127.0.0.1" for external access
web_port: 2121
debug_mode: false
# Scraping settings
max_concurrent_requests: 5
timeout: 30
# Database settings
database_file: "fitgirl_releases.json"- Browse Releases: View all FitGirl releases with filtering options
- Search: Use the search bar to find specific games
- Status Management: Mark releases as Downloaded or Ignored
- Download: Click the magnet icon to open the release directly in your torrent client
- Synchronization: Click "Sync" to fetch new releases from 1337x
- Statistics: View release statistics and sync status
To download a game:
- Find the release you want in the web interface
- Click the magnet icon (π§²) button
- Your default torrent client will open automatically with the magnet link
- Confirm the download in your torrent client (qBittorrent, Transmission, etc.)
- The game will start downloading
GET /api/releases- Get releases with filtering and paginationPOST /api/sync- Start synchronization with 1337xGET /api/statistics- Get release statisticsPOST /api/update_status- Update release status (Downloaded/Ignored)GET /api/config- Get application configurationGET /api/settings/flaresolverr/status- Check FlareSolverr status
This project is licensed under the MIT License - see the LICENSE file for details.
This application is for video game preservation purposes. Please respect copyright laws and only download content you have the right to access. The developers are not responsible for any misuse of this software.
Made with β€οΈ for the gaming community