Some regions—especially parts of South America—may hit strict GitHub rate limits due to shared IP ranges or unstable routing. When this happens, BUA installers or update scripts may show errors like:
API rate limit exceeded
HTTP 403: Forbidden
HTTP 429: Too Many Requests
This guide shows you how to raise your GitHub limit from 60 requests/hour → 5,000+ requests/hour, without changing anything that could break your system.
BUA scripts use curl and wget to fetch files from GitHub.
GitHub gives unauthenticated users only 60 requests per hour per IP.
Shared ISP IPs cause multiple users to hit the same limit.
Adding a personal GitHub access token to Batocera’s curl & wget settings:
Click Generate new token (classic)
Name: batocera-bua
Set expiration (90 days or 1 year)
Scopes to enable:
public_repo (optional but recommended)Copy your token (ghp_xxxxxx...). Keep it private.
curl (Batocera)Create /userdata/system/.curlrc:
cat <<'EOF' > /userdata/system/.curlrc
header = "Authorization: token <YOUR_GITHUB_TOKEN_HERE>"
EOF
chmod 600 /userdata/system/.curlrc
Replace YOUR_GITHUB_TOKEN_HERE with your actual token.
curl -I https://api.github.com/rate_limit
Expected:
x-ratelimit-limit: 5000
curl -I https://raw.githubusercontent.com/batocera-unofficial-addons/bua/main/install.sh
Should return 200 OK.
.curlrc and .wgetrc in /userdata survive reboots.rm /userdata/system/.curlrc /userdata/system/.wgetrc
403 even with token? Token expired.
429 Too Many Requests? Temporary burst limit. Retry shortly.
Curl still shows 60 limit? Ensure HOME is /userdata/system:
echo $HOME
export HOME=/userdata/system
You now have 5,000+ GitHub requests/hour on Batocera!