Troubleshooting gitGost
Quick solutions to common operational problems.Push Errors
Error: rate limit exceeded
Error: rate limit exceeded
Symptom:Cause:IP address has exceeded 5 PRs in the last hour (from
internal/http/handlers.go:160-173).Solutions:- Wait for rate limit to reset (up to 1 hour)
-
Use different IP address:
-
Verify you’re not in a loop:
rateLimitMaxPRs in internal/http/handlers.go:562.Error: service temporarily suspended
Error: service temporarily suspended
Symptom:Cause:Service administrator activated panic mode due to abuse detection.Solutions:For users:
- Wait 15-30 minutes and retry
- Check service status:
Error: failed to create fork
Error: failed to create fork
Symptom:Cause:GitHub API rate limit reached or
@gitgost-anonymous account hit 40,000 repository cap.Solutions:For operators:-
Check GitHub token rate limit:
-
Wait for reset (shown in
X-RateLimit-Resetheader) -
Verify bot account status:
-
Clean up old forks:
Error: repository too large
Error: repository too large
Symptom:Cause:Repository exceeds size limits:
- Repo size: 500 MB max
- Commit size: 10 MB max
- Push size: 100 MB max
README.md:213-215 and internal/http/router.go:49Solutions:-
Reduce commit size:
-
Use Git LFS for large files:
-
Split into smaller commits:
Error: invalid ref name
Error: invalid ref name
Symptom:Cause:Branch name contains invalid characters or Git protocol error.Solutions:
-
Use valid branch names:
-
Ensure clean push:
-
Check for corruption:
Authentication Issues
HTTP 401: Unauthorized
HTTP 401: Unauthorized
Error: API key required
Error: API key required
Symptom:Cause:Instance has From
GITGOST_API_KEY configured and your request lacks the key (rare for public instances).Solution:Git operations never require API keys. This error only appears on non-git endpoints. If pushing:internal/http/router.go:95-126: Git endpoints bypass API key checks.Network & Connectivity
Connection timeout
Connection timeout
Symptom:Cause:
- Service is down
- Network/firewall blocking
- DNS resolution failure
-
Check service status:
-
Test DNS resolution:
-
Check firewall/proxy:
-
Verify SSL/TLS:
Slow push performance
Slow push performance
Symptom:Push takes 5+ minutes or times out.Cause:
- Large repository size
- Slow network connection
- Using Tor (expected slowness)
-
Check repository size:
-
Increase Git timeout:
-
If using Tor:
-
Use shallow clone to reduce size:
SSL certificate errors
SSL certificate errors
Symptom:Cause:Outdated CA certificates or corporate SSL interception.Solutions:
-
Update CA certificates:
-
Verify certificate:
-
Temporary workaround (NOT recommended for production):
Service Health Issues
High memory usage
High memory usage
Symptom:Cause:Memory leak or sustained high traffic.Diagnosis:
-
Check goroutine count:
-
Monitor over time:
- Restart service (clears memory)
-
Increase memory limits:
- Check for leaks in custom code
internal/http/handlers.go:508-522: Metrics endpoint exposes runtime.MemStats.Service won't start
Service won't start
Symptom:Service crashes immediately or fails health check.Diagnosis:
-
Check logs:
-
Verify environment variables:
-
Missing GitHub token:
-
Invalid port binding:
-
Database connection failure:
Metrics endpoint returns errors
Metrics endpoint returns errors
Symptom:Cause:Rare runtime panic in metrics collection.Solutions:
-
Check health endpoint instead:
-
Review logs for panics:
- Restart service if persistent
PR Creation Issues
PR not appearing on GitHub
PR not appearing on GitHub
Symptom:Push succeeds but no PR is visible on GitHub.Cause:
- PR was created but closed by maintainer
- Network error after push but before PR creation
- GitHub API rate limit
-
Search for PR:
-
Check push response:
-
Verify fork exists:
-
Retry push:
PR created with wrong branch name
PR created with wrong branch name
Symptom:PR has branch name like Branch names are based on PR hash to enable updates via push options.Not a bug: This enables the update workflow:
gitgost-a3f7b9c2 instead of your branch name.Cause:This is expected behavior. GitGost generates deterministic branch names for tracking.Explanation:From internal/http/handlers.go:245-252:Logging & Debugging
No logs appearing
No logs appearing
Symptom:Log file empty or no output.Solutions:
-
Check log configuration:
-
Verify logger initialization:
-
Check stdout/stderr:
Want more detailed logs
Want more detailed logs
Issue:Logs are too minimal for debugging.Explanation:GitGost intentionally logs minimally to protect user privacy (from For debugging:
internal/utils/logging.go:27-29):-
Use JSON format for structure:
-
Monitor metrics endpoint:
-
Add temporary debug logs (development only):
Getting Help
Still stuck?
Check these resources:
- Source code: Inspect handlers in
internal/http/handlers.go - GitHub issues: Search existing issues at github.com/livrasand/gitGost
- Security issues: Email
[email protected](seeSECURITY.md:11) - Anonymous reporting: Use gitGost itself to submit a PR
Diagnostic Commands Reference
Next Steps
Monitoring
Set up proactive monitoring to catch issues early
Moderation
Learn moderation tools to handle abuse