Files
hubproxy/docs/src/content/docs/en/faq.mdx
T
2026-07-13 06:42:37 +08:00

93 lines
3.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: FAQ
description: Frequently asked questions about deploying and using HubProxy.
---
<details>
<summary>How is HubProxy different from free CDN proxies?</summary>
HubProxy is fully self-hosted — you control data and bandwidth without relying on unstable third-party CDNs. Customize rate limits, registry allowlists, and upstream SOCKS5 proxies.
</details>
<details>
<summary>Is a reverse proxy required for public deployment?</summary>
Strongly recommended. It provides TLS, correct client IP passing, and avoids exposing port 5000. See [Recommended Architecture](/en/deployment/architecture/).
</details>
<details>
<summary>What's the difference between rate-limit and registry whitelists?</summary>
`[security].whiteList` exempts IPs from rate limiting. `[access].whiteList` controls which Docker images and GitHub repos can be proxied. They are independent.
</details>
<details>
<summary>How do I format GitHub acceleration URLs?</summary>
Prefix the **full original URL** with your HubProxy host, e.g. `https://example.com/https://github.com/owner/repo/releases/download/...`. Path-prefix rewrites like `/github/owner/...` are not supported. See [GitHub Acceleration](/en/guides/github-proxy/).
</details>
<details>
<summary>GitHub acceleration shows 'invalid input'?</summary>
Common causes: wrong URL format (using `/github/` prefix instead of full URL), or incorrect Nginx `Host` header. See [GitHub Acceleration](/en/guides/github-proxy/) and [issue #62](https://github.com/sky22333/hubproxy/issues/62#issuecomment-3219572440).
</details>
<details>
<summary>How does the offline image API work?</summary>
Two steps: `GET /api/image/download?image=...&mode=prepare` for a token, then download with that token. There is no `/v2/offline/...` path. See [Offline Images](/en/guides/offline-images/).
</details>
<details>
<summary>All users share one IP behind Cloudflare?</summary>
If HubProxy connects directly to Cloudflare edges, rate limits apply per Cloudflare IP, not per user. Add a private reverse proxy that writes `CF-Connecting-IP` to forwarding headers.
</details>
<details>
<summary>How do I verify the service is running?</summary>
Visit `https://example.com/ready` — a healthy response includes `ready`, `service`, `version`, and `uptime_sec`.
</details>
<details>
<summary>Docker logs consuming too much disk?</summary>
`docker run` defaults to ~20MB logs. [Docker Compose](/en/deployment/docker/) preconfigures `200m × 3` rotation; adjust `logging.options` in compose as needed.
</details>
<details>
<summary>Does HubProxy support resume or multi-part downloads?</summary>
**GitHub / Hugging Face file downloads: yes.** The proxy forwards `Range` headers and passes through upstream 206 responses — `wget -c` and multi-threaded Range downloads work (except `.sh` / `.ps1` script rewriting).
**Docker pulls: no in-layer Range.** Blobs are streamed whole; clients retry failed layers or pull layers in parallel.
**Offline tar API: no** resume. See [Transfer Capabilities](/en/guides/capabilities/).
</details>
<details>
<summary>How do I add a new acceleration domain?</summary>
Add a regex to `githubExps` in `src/handlers/github.go`. See [Development & Build](/en/guides/development/).
</details>
<details>
<summary>Why can't I pull private images with authType github?</summary>
`authType` labels auth endpoints only — credential injection is not yet implemented. All registry pulls use anonymous auth. Use client-side `docker login` for private images.
</details>