mirror of
https://github.com/sky22333/hubproxy.git
synced 2026-09-28 03:46:36 +08:00
93 lines
3.5 KiB
Plaintext
93 lines
3.5 KiB
Plaintext
---
|
||
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>
|