Thanks to visit codestin.com
Credit goes to github.com

Skip to content

A self hosted web application to track and manage FitGirl game releases with automatic scrapping from 1337x.

License

Notifications You must be signed in to change notification settings

ravioldev/fitgirl-downloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

15 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

FitGirl Downloader

A self hosted web application to track and manage FitGirl game releases with automatic scrapping from 1337x.

FitGirl Downloader

Why?

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

πŸš€ Features

  • 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

⚠️ Limitations

1. Initial Scraping Limit

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.

2. Publication Date Accuracy

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.

πŸ“‹ Requirements

  • Python 3.10+
  • Chrome/Chromium browser (for Selenium)
  • FlareSolverr (required for Cloudflare bypass)
  • Docker (optional, for containerized deployment)

πŸ› οΈ Installation

Local Development

  1. Clone the repository

    git clone https://github.com/ravioldev/fitgirl-downloader
    cd firgirl-updater
  2. Create virtual environment

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install dependencies

    pip install -r requirements.txt
  4. 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
  5. Configure the application

    # Edit config.yaml with your preferences
    nano config.yaml
  6. Run the application

    python app.py
  7. Access the web interface Open http://localhost:2121 in your browser

Docker Deployment

  1. Build and run with Docker Compose

    docker-compose up -d
  2. Access the application Open http://localhost:2121 in your browser

  3. View logs

    docker-compose logs -f fitgirl-updater
  4. Stop the application

    docker-compose down

πŸ“ Project Structure

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

βš™οΈ Configuration

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"

πŸ”§ Usage

Web Interface

  1. Browse Releases: View all FitGirl releases with filtering options
  2. Search: Use the search bar to find specific games
  3. Status Management: Mark releases as Downloaded or Ignored
  4. Download: Click the magnet icon to open the release directly in your torrent client
  5. Synchronization: Click "Sync" to fetch new releases from 1337x
  6. Statistics: View release statistics and sync status

Downloading Games

To download a game:

  1. Find the release you want in the web interface
  2. Click the magnet icon (🧲) button
  3. Your default torrent client will open automatically with the magnet link
  4. Confirm the download in your torrent client (qBittorrent, Transmission, etc.)
  5. The game will start downloading

API Endpoints

  • GET /api/releases - Get releases with filtering and pagination
  • POST /api/sync - Start synchronization with 1337x
  • GET /api/statistics - Get release statistics
  • POST /api/update_status - Update release status (Downloaded/Ignored)
  • GET /api/config - Get application configuration
  • GET /api/settings/flaresolverr/status - Check FlareSolverr status

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

⚠️ Disclaimer

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

About

A self hosted web application to track and manage FitGirl game releases with automatic scrapping from 1337x.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published