Skip to main content

CORS proxy for the GoldenCheetah API — browse your data in the browser

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 this command:

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

Windows

Open PowerShell (press the Windows key, type "PowerShell", press Enter) and paste this command:

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

After installing, close your terminal and open a new one before continuing. This is needed for the goldencheetah-proxy command to be recognized.

How to use

Step 1: Enable the GoldenCheetah API

Open GoldenCheetah, then go to:

Settings → General → Integration → Enable API Web Services

This tells GoldenCheetah to make your data available locally.

Step 2: Run 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.

Step 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.2.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.2.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: goldencheetah_proxy-0.2.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.2.0.tar.gz
Algorithm Hash digest
SHA256 63940ebc839dee491e91109cfba8e6661cd1487d9771fad3c210070aa0cc50ed
MD5 15586acbade8825fa68acbe16626a577
BLAKE2b-256 1f189dea3ff9cfcaa067e7ff546acb508b0724122f3da031bc1767aaf79f282a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for goldencheetah_proxy-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1b8ee9ef1d9c9c837af7e9a2979a4c3bf82e854e8774047df8a1e6d6fee34e99
MD5 f5eec9e82582e68d29c246f83af43bb4
BLAKE2b-256 41bb45690e90c7d7a069e01316ea22236153790646adcaf82e8534f3358d2f23

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