Skip to main content

Folding@Home Discord Rich Presence - Monitor GPU folding progress in Discord

Reason this release was yanked:

Still broken. Fixing

Project description

FAHRPC - Folding@Home Discord Rich Presence

Python License Windows

Monitor your Folding@Home GPU progress directly in Discord with real-time status updates, GPU stats, and performance metrics.

Features

  • ๐ŸŽฎ Discord Rich Presence - Display folding progress in your Discord status
  • ๐Ÿ’ป GPU Monitoring - Real-time GPU utilization and temperature tracking
  • ๐Ÿ” Dual GPU Support - Monitor NVIDIA and AMD GPUs simultaneously
  • ๐Ÿ“Š Live Stats - Total points earned and work units completed
  • ๐Ÿ”„ Auto-Reconnect - Automatic reconnection on disconnect
  • ๐ŸŒก๏ธ Temperature Alerts - Color-coded temperature warnings
  • ๐ŸŽ›๏ธ System Tray - Minimize to tray with quick access menu
  • โšก Lightweight - Minimal CPU and memory usage
  • ๐Ÿ”ง Configurable - Full customization via config.json

What You'll See

Your Discord status will display:

  • Current project ID and work unit progress
  • GPU model, utilization, and temperature
  • Total Folding@Home points and completed work units
  • Real-time updates every 15 seconds

Requirements

  • Windows 10/11 - Windows operating system
  • Discord - Running and logged in
  • Folding@Home - With web interface enabled (port 7396)
  • GPU - NVIDIA or AMD with updated drivers
  • Internet - For Discord and FAH stats server

Note: Python is NOT required to be pre-installed. The setup script handles everything automatically!

Installation (Zip Download)

Step 1: Download

  1. Go to the Releases page
  2. Download the latest FAHRPC-vX.X.X.zip file
  3. Extract the zip to your desired location (e.g., C:\FAHRPC)

Step 2: Run Setup

  1. Open the extracted FAHRPC folder
  2. Double-click setup.bat
  3. Wait for setup to complete (first run may take 1-2 minutes)

The setup script automatically:

  • Installs the uv package manager (if needed)
  • Creates a virtual environment
  • Installs all Python dependencies
  • Downloads browser components for web scraping
  • Generates the run_fahrpc.bat launcher
  • Creates a desktop shortcut
  • Verifies all dependencies are working

Step 3: Launch

  1. Double-click run_fahrpc.bat
  2. Check your Discord status - you should see Folding@Home info!

That's it! ๐ŸŽ‰

Usage

Running FAHRPC

Simply double-click run_fahrpc.bat in your FAHRPC folder.

The application will:

  • Connect to Discord
  • Monitor your Folding@Home progress
  • Display stats in your Discord status
  • Minimize to system tray

System Tray

Once running, FAHRPC sits in your system tray. Right-click the icon to:

  • Show/hide console window
  • Restart application
  • Exit cleanly

Configuration

Edit the config file to customize:

  • Discord client ID
  • Folding@Home interface URL (local or remote)
  • Temperature thresholds and colors
  • GPU monitoring (NVIDIA/AMD)
  • Update interval (default: 15 seconds)
  • Display options

Config file location:

  • Windows: %LOCALAPPDATA%\Bandokii\fahrpc\config.json
  • macOS: ~/Library/Application Support/fahrpc/config.json
  • Linux: ~/.config/fahrpc/config.json

Folding@Home URL:

  • Default: http://localhost:7396/ - Monitors the PC that FAHRPC is running on
  • Remote: http://<ip-address>:7396/ - Monitors a different computer on your network
    • Example: http://192.168.1.50:7396/ to monitor another PC at that IP

Default configuration works out of the box!

Autostart (Optional)

Using Task Scheduler (Recommended)

  1. Press Windows+R โ†’ type taskschd.msc
  2. Click "Create Basic Task"
  3. Name: FAHRPC, Trigger: At startup
  4. Action: Start program
  5. Program: C:\FAHRPC\run_fahrpc.bat (use your actual path)

Using Startup Folder

  1. Press Windows+R โ†’ type shell:startup
  2. Create a shortcut to run_fahrpc.bat in this folder

Troubleshooting

Discord Not Connecting

  • Ensure Discord is running and logged in
  • Check Windows Firewall isn't blocking FAHRPC
  • FAHRPC auto-retries every 15 seconds

Folding@Home Not Detected

  • Ensure F@H is running
  • Enable web interface in F@H settings
  • Verify it's on localhost:7396 (or update config.json)
  • Restart both F@H and FAHRPC

GPU Stats Not Showing

  • Update GPU drivers (NVIDIA or AMD)
  • Check fah_error_log.txt for hardware errors
  • Verify GPU is enabled in config.json

High CPU Usage

  • Increase update_interval in config.json
  • Disable unused GPU type in config.json
  • Check web scraper timeouts in error log

Setup Issues

  • Ensure stable internet connection
  • Run setup.bat again (safe to run multiple times)
  • May require 500MB+ free disk space for browser components

Updating

To update FAHRPC:

  1. Download the latest zip from Releases
  2. Extract and replace your existing files (keep your config.json if customized)
  3. Run setup.bat again to update dependencies

Uninstall

To remove FAHRPC:

  1. Delete the FAHRPC folder - This removes all application files and the virtual environment

Note: The uv package manager will remain on your system. If you don't need it, see the uv uninstallation guide.

Advanced Installation (Optional)

For developers or advanced users who prefer command-line installation:

Global Command Installation

After running setup.bat, you can install FAHRPC as a global command:

uv tool install .

Then run from anywhere with:

fahrpc

Install from PyPI

pip install fahrpc
# or
uv tool install fahrpc

Dependencies

All dependencies are automatically installed by setup.bat. For reference:

Python Packages

  • playwright - Web scraping and browser automation
  • pypresence - Discord RPC integration
  • nvidia-ml-py - NVIDIA GPU monitoring
  • pyadl - AMD GPU monitoring
  • pystray - System tray icon
  • Pillow - Image handling
  • platformdirs - Cross-platform config paths

Project Structure

FAHRPC/
โ”œโ”€โ”€ src/fahrpc/           # Main package
โ”‚   โ”œโ”€โ”€ main.py          # Entry point
โ”‚   โ”œโ”€โ”€ config.py        # Configuration
โ”‚   โ”œโ”€โ”€ hardware.py      # GPU monitoring
โ”‚   โ”œโ”€โ”€ scraper.py       # Web scraping
โ”‚   โ”œโ”€โ”€ discord_rpc.py   # Discord integration
โ”‚   โ”œโ”€โ”€ logger.py        # Error logging
โ”‚   โ”œโ”€โ”€ tray.py          # System tray
โ”‚   โ””โ”€โ”€ __init__.py      # Package definition
โ”œโ”€โ”€ config.json          # User settings
โ”œโ”€โ”€ pyproject.toml       # Project metadata
โ”œโ”€โ”€ setup.bat            # Installation script
โ””โ”€โ”€ run_fahrpc.bat       # Launcher (created by setup)

Development

Clone the repository:

git clone https://github.com/Bandokii/FAHRPC.git
cd FAHRPC

Run in development mode:

uv run python -m fahrpc.main

Build distribution:

uv build

License

MIT License - See LICENSE file for details

Credits

Original Creator: Bandokii
AI Collaborator: GitHub Copilot
Refactoring & Modernization: January 2026

Support

  • ๐Ÿ“– See this README for detailed documentation
  • ๐Ÿ†˜ Check the error log for troubleshooting (in your config directory)
  • ๐Ÿ› Report issues on GitHub Issues
  • ๐Ÿ’ฌ Start discussions on GitHub Discussions

FAQ

Q: Do I need Python installed?
A: No! The setup script handles everything automatically, including Python.

Q: Does this work on Linux/macOS?
A: The code is cross-platform-ready, but primary support is Windows due to system tray integration and GPU driver availability. Config paths work on all platforms for users who want to port it.

Q: Can I use custom GPU names?
A: Yes! Edit the hardware.nvidia.strip_prefix and hardware.amd.strip_prefix values in config.json

Q: Does this impact Folding@Home performance?
A: No, FAHRPC only reads data. It has minimal CPU/memory overhead (~50MB RAM).

Q: Can I monitor remote FAH instances?
A: Yes! By default, FAHRPC monitors the Folding@Home client on the same PC it's running on (via localhost:7396). To monitor a different PC on your network, edit config.json and change:

"web_url": "http://<other-pc-ip-address>:7396/"

For example: "web_url": "http://192.168.1.100:7396/" to monitor another computer at that IP.

Q: How do I update FAHRPC?
A: Download the latest zip, extract over your existing folder, and run setup.bat again.

Changelog

Version 1.0.1 (January 2026)

  • Fixed config/log file paths to use platformdirs
  • Cross-platform app data directory support
  • Added desktop shortcut creation in setup
  • Improved error handling in batch launcher
  • Updated documentation and references

Version 1.0.0 (January 2026)

  • Initial PyPI release
  • Modern Python src layout
  • Command-line entry point
  • Full GPU monitoring
  • Discord Rich Presence
  • System tray integration
  • Comprehensive error logging

Happy Folding! ๐Ÿ ๐Ÿ’ช

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fahrpc-1.0.1.tar.gz (27.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fahrpc-1.0.1-py3-none-any.whl (27.0 kB view details)

Uploaded Python 3

File details

Details for the file fahrpc-1.0.1.tar.gz.

File metadata

  • Download URL: fahrpc-1.0.1.tar.gz
  • Upload date:
  • Size: 27.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fahrpc-1.0.1.tar.gz
Algorithm Hash digest
SHA256 126fd130b3a2f30bfa812b6f6679f66b67a631f24d16f367d5d2dada7a1696c2
MD5 45c017dfd98e64a19fd76a9e23eae70f
BLAKE2b-256 53c6ecd5f9561ce221413a2f57057103409c5d7a6de616edc66d045a3eb982c2

See more details on using hashes here.

File details

Details for the file fahrpc-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: fahrpc-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 27.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for fahrpc-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ab556e780331bab6f5ace5848374435d158139c28e924690d7e9391c04e8ca02
MD5 5738fa269381099c16a309f57092e8d2
BLAKE2b-256 785bd92027d7e8c5e306638f97662166173101b2c4d4f26c9c5e8a2354b9f798

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page