Skip to main content

CORS proxy for the GoldenCheetah API

Project description

GoldenCheetah Proxy

A small tool that lets web apps access your GoldenCheetah data. It runs on your computer and keeps your data private. Nothing is sent to the cloud.

Installation

You don't need Python or any other programming tools installed. The commands below handle everything automatically.

macOS and Linux: open Terminal (on Mac: press Cmd+Space, type "Terminal", press Enter) and paste:

curl -LsSf uvx.sh/goldencheetah-proxy/install.sh | sh

Windows: open PowerShell (press the Windows key, type "PowerShell", press Enter) and paste:

powershell -ExecutionPolicy ByPass -c "irm https://uvx.sh/goldencheetah-proxy/install.ps1 | iex"

Important: After installing, close your terminal and open a fresh one. This is needed so your terminal picks up the newly installed command.

How to use

1. Enable the GoldenCheetah API

Open GoldenCheetah, then go to:

Settings → General → Integration → Enable API Web Services

2. Start the proxy

Open a terminal (or PowerShell on Windows) and run:

goldencheetah-proxy

You should see:

GoldenCheetah Proxy v0.1.0
Proxy running on http://localhost:12022
Forwarding to GoldenCheetah at http://localhost:12021
Waiting for connections...

Leave this running while you use the web viewer.

3. Open the web viewer

Open goldencheetah-web-viewer/index.html in your browser and click Connect.

The proxy will ask you to approve the website. Click Allow (or type y in the terminal on Linux).

What does the proxy do?

GoldenCheetah has a built-in API that runs on your computer. Browsers can't talk to it directly due to security restrictions (CORS). The proxy sits in between and adds the right headers so your browser can access the data.

Browser  →  Proxy (localhost:12022)  →  GoldenCheetah API (localhost:12021)

Your data never leaves your computer.

Options

goldencheetah-proxy --port 9999       # Use a different port (default: 12022)
goldencheetah-proxy --gc-port 5555    # GoldenCheetah API port (default: 12021)

For developers

Source: github.com/SweatStack/goldencheetah-proxy

This project uses uv for development:

git clone git@github.com:SweatStack/goldencheetah-proxy.git
cd goldencheetah-proxy
uv sync                        # Set up the project
uv run goldencheetah-proxy     # Run during development
uv run pytest                  # Run tests

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

goldencheetah_proxy-0.3.0.tar.gz (3.9 kB view details)

Uploaded Source

Built Distribution

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

goldencheetah_proxy-0.3.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file goldencheetah_proxy-0.3.0.tar.gz.

File metadata

  • Download URL: goldencheetah_proxy-0.3.0.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.6

File hashes

Hashes for goldencheetah_proxy-0.3.0.tar.gz
Algorithm Hash digest
SHA256 a025dd9e8fa68c86000e4f3aec05961c89f68b4ce2421bcce026c67bd7585868
MD5 cab930733ef61c7fd5b2605f39144b0a
BLAKE2b-256 f588f4807ecb3dd46e0d3a719954b18f0266b1480151ebefbd6ff29a1ed569d3

See more details on using hashes here.

File details

Details for the file goldencheetah_proxy-0.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for goldencheetah_proxy-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 95b7b4f67f6a7d31eeea03be779fad0e831ecc226aa9ccf4d582246e680e044e
MD5 a83fdf45e61c95b91232a6770803714b
BLAKE2b-256 b25adaf3b7aed8c8c7fc2f3bf85111cf6e8ebee50159f02e6112668aa8e3ab29

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