【開源項目】輕量加速利器 HubProxy 自建 Docker、GitHub 下載加速服務

??引言??
如果你經常被 Docker 鏡像拉取、GitHub 文件下載的龜速折磨,又不想依賴第三方加速服務(擔心穩定性或隱私),今天分享的 ??HubProxy?? 可能正是你需要的。這個開源工具用一行命令就能部署,以極低資源消耗(內存 18MB)提供多場景加速,實測效果顯著。下面從功能到部署,帶你快速上手。

在這里插入圖片描述

??一、HubProxy 能做什么???

  1. ??Docker 鏡像加速??
    支持 ??Docker Hub??、??GitHub Container Registry (GHCR)??、??Quay.io?? 等主流倉庫。只需在原始鏡像名前拼接你的代理域名,例如:

    # 加速 Docker Hub 官方鏡像
    docker pull yourdomain.com/nginx# 加速 GHCR 鏡像
    docker pull yourdomain.com/ghcr.io/sky22333/hubproxy
    

    原理:通過流式傳輸優化拉取流程,無需緩存鏡像,節省磁盤空間。

  2. ??GitHub 文件加速??
    解決 Releases/Raw 文件下載慢的問題:

    # 原始鏈接
    https://github.com/user/repo/releases/download/v1.0.0/file.tar.gz# 加速鏈接(域名后直接拼接原鏈接)
    https://yourdomain.com/https://github.com/.../file.tar.gz
    

    支持嵌套腳本加速(如 curl | bash 中的 GitHub 鏈接)。

  3. ??離線鏡像包下載??
    點擊即可流式下載鏡像的離線包(.tar),適用于內網或無 Docker 環境:

    # 通過代理域名 + 鏡像名生成離線包鏈接
    https://yourdomain.com/v2/library/nginx/tags/latest?format=tar
    

    防抖設計避免重復請求。

  4. ??其他實用功能??

    • ??Hugging Face 模型加速??:AI 開發者無需額外配置,直接代理下載鏈接
    • ??鏡像搜索??:直接網頁搜索 Docker 官方鏡像信息
    • ??安全審計??:IP 限流、黑白名單、倉庫訪問日志(防止濫用)

??二、為什么選擇自建???

  • ??隱私可控??:所有流量經過自己的服務器,避免第三方記錄
  • ??靈活定制??:支持自定義限流規則、上游代理(如走公司內網代理)
  • ??資源占用極低??:單二進制文件(12MB),內存占用穩定在 18MB 左右
  • ??無廠商綁定??:避免公共加速服務突然停用或限速

??三、快速部署指南??

??方案 1:Docker 部署(推薦)??
docker run -d \--name hubproxy \-p 5000:5000 \          # 暴露 5000 端口--restart always \ghcr.io/sky22333/hubproxy

??驗證??:訪問 http://服務器IP:5000 出現加速服務頁面即成功。

??方案 2:一鍵腳本安裝(物理機/虛擬機)??
curl -fsSL https://raw.githubusercontent.com/sky22333/hubproxy/main/install-service.sh | sudo bash

腳本自動完成:

  • 檢測系統架構(AMD64/ARM64)
  • 下載最新二進制文件
  • 配置 systemd 服務(開機自啟)
  • 日志目錄 /var/log/hubproxy

??四、進階配置示例??

配置文件路徑:/opt/hubproxy/config.toml(安裝后自動生成)

# 限制每個 IP 每小時 1000 次請求
[ratelimit]  
requests_per_hour = 1000  # 配置上游代理(如服務器本身需科學上網)
[proxy]  
upstream = "socks5://192.168.1.100:1080"  # 設置 IP 白名單(繞過限流)
[security]  
whitelist = ["192.168.1.0/24"]  # 禁止訪問某 Docker 鏡像(支持通配符)
[registries_audit]  
docker_blacklist = ["library/redis*"]

??反向代理配置(Caddy 示例)??:
若用 Nginx/Caddy 轉發流量,需傳遞真實 IP 以保證限流生效:

example.com {reverse_proxy {to 127.0.0.1:5000header_up X-Real-IP {remote}header_up X-Forwarded-For {remote}header_up X-Forwarded-Proto {scheme}}
}

五、實測效果與避坑

  • 速度對比:北京測試節點拉取 nginx:latest,未加速平均 200KB/s,加速后提升至 8MB/s(依賴服務器帶寬)
  • 穩定性建議
    • 部署服務器優先選 海外節點(如香港、新加坡)
    • 避免代理大文件下載(易觸發 GitHub 限流)
    • 定期更新(項目迭代較快,關注 GitHub 發布頁)

總結

HubProxy 以簡潔的設計解決了開發者高頻痛點:輕量(18MB 內存)、開箱即用、功能覆蓋全面。相比搭建 Nexus 或 Artifactory 等重型倉庫,它更適合個人或小團隊快速構建專屬加速服務。如果你正被網絡問題拖慢效率,花 5 分鐘部署它,可能帶來意想不到的順暢體驗。

項目地址:https://github.com/sky22333/hubproxy

往期回顧:

🔥【開源項目】初中生開源神作!BiliTools 能下8K視頻、高質量音頻,支持AI總結的全能工具

🔥【開源項目】拆解機器學習全流程:一份GitHub手冊的工程實踐指南

🔥【開源項目】網絡診斷告別命令行!NetSonar:開源多協議網絡診斷利器

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/91581.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/91581.shtml
英文地址,請注明出處:http://en.pswp.cn/web/91581.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

java web jsp jstl練習

JSP 的學習。 核心功能模塊 1. 源代碼層 ( src ) HelloWorld :主程序入口領域模型 : domain 包含User.java和ceshi.java控制器 : servlet 包含登錄驗證和驗證碼相關ServletWeb表現層 ( web ) JS…

VSCode 完全指南:釋放你的編碼潛能

零、簡介 在當今的軟件開發領域,代碼編輯器的選擇至關重要,它就像是工匠手中的工具,直接影響著工作效率和成果質量。Visual Studio Code(簡稱 VSCode)自問世以來,迅速在全球開發者社區中嶄露頭角&#xff…

《n8n基礎教學》第一節:如何使用編輯器UI界面

在本課中,你將學習如何操作編輯器界面。我們將瀏覽畫布,向您展示每個圖標的含義,以及在 n8n 中構建工作流程時在哪里可以找到您需要的東西。本課程基于 n8n 最新版本 。在其他版本中,某些用戶界面可能有所不同,但這不會…

gcc g++ makefile CMakeLists.txt cmake make 的關系

gcc:C語言編譯器g:C編譯器makefile:定義編譯規則、依賴關系和構建目標。可以手動編寫,也可以由CMakeLists.txt生成cmake:讀取CMakeLists.txt文件,生成Makefilemake:構建工具,執行Mak…

SFT 訓練器

SFT 訓練器 “訓練時間到!” 我們現在終于可以創建一個監督微調訓練器的實例了: trainer = SFTTrainer( model=model, processing_class=tokenizer, args=sft_config, train_dataset=dataset, )SFTTrainer 已經對數據集進行了預處理,因此我們可以深入查看,了解每個小批次…

Android Material Components 全面解析:打造現代化 Material Design 應用

引言 在當今移動應用開發領域,用戶體驗(UX)已成為決定應用成功與否的關鍵因素之一。Google推出的Material Design設計語言為開發者提供了一套完整的視覺、交互和動效規范,而Material Components for Android(MDC-Android)則是將這些設計理念轉化為可重用…

Windows使用Powershell自動安裝SqlServer2025服務器與SSMS管理工具

安裝結果: 安裝前準備: 1.下載mssql server 2025安裝器 2.下載iso鏡像 3.下載好SSMS安裝程序,并放到iso同目錄下 4.執行腳本開始自動安裝

09 RK3568 Debian11 ES8388 模擬音頻輸出

1、設備樹配置 確認自己的i2c,使用sdk帶的驅動es8323 /SDK/kernel/sound/soc/codecs/es8323.c es8388_sound: es8388-sound {status = "okay";compatible = "rockchip,multicodecs-card"; rockchip,card-name = "rockchip,es8388-codec"; …

力扣-199.二叉樹的右視圖

題目鏈接 199.二叉樹的右視圖 class Solution {public List<Integer> rightSideView(TreeNode root) {List<Integer> res new ArrayList<>();Queue<TreeNode> queue new LinkedList<>();if (root null)return res;queue.offer(root);while …

Android Bitmap 完全指南:從基礎到高級優化

在 Android 開發中&#xff0c;圖像處理是一個核心且復雜的領域&#xff0c;而 Bitmap 作為 Android 中表示圖像的基本單位&#xff0c;貫穿了從簡單圖片顯示到復雜圖像編輯的各個場景。然而&#xff0c;Bitmap 處理不當往往會導致應用性能下降、內存溢出&#xff08;OOM&#…

unity日志過濾器

背景&#xff1a;之前做游戲的時候和同組的同事聊過說日志過濾盡量不要限制大家怎么使用日志打印的接口&#xff0c;不要加額外的參數&#xff0c;比如多加一個標簽string,或者使用特定的接口&#xff0c;枚舉。最好就是日志大家還是用Debug.Log無感去用&#xff0c;然后通過勾…

OpenGL Camera

一. lookAt函數的參數含義glm::mat4 view glm::lookAt(cameraPos, // 相機在世界坐標系中的位置&#xff08;任意值&#xff09;cameraPos cameraFront, // 相機看向的目標點&#xff08;位置朝向&#xff09;cameraUp // 相機的"上方向"&#xff08;通…

Android RTMP推送|輕量級RTSP服務同屏實踐:屏幕+音頻+錄像全鏈路落地方案

一、背景&#xff1a;從“移動終端”到“遠程協作節點”&#xff0c;同屏音頻錄像為何成剛需&#xff1f; 在數字化辦公、智慧醫療與遠程教育等快速發展的推動下&#xff0c;手機作為隨身終端&#xff0c;已不再只是“內容接收者”&#xff0c;而逐步成為遠程信息發布與可視化…

NLP 和 LLM 區別、對比 和關系

理解自然語言處理(NLP)和大語言模型(LLM)的區別、對比和關系對于把握現代人工智能的發展非常重要。以下是清晰的分析: 核心定義 NLP (Natural Language Processing - 自然語言處理): 是什么: 一個廣闊的計算機科學和人工智能子領域,致力于讓計算機能夠理解、解釋、操作…

Altium 移除在原理圖之外的元器件

Altium新手&#xff0c;最近在畫原理圖的時候&#xff0c;遇見了這種不小心拖到界面外的元器件&#xff0c;發現拖不回來了了&#xff0c;查閱了一下&#xff0c;總結在這里 官方推薦的方法----------------使用“SCH List”面板刪除 鏈接&#xff1a;如何移除在原理圖之外的元…

【Linux我做主】細說環境變量

Linux環境變量Linux環境變量github地址前言1. 基本概念環境變量的本質2. 認識常見的環境變量PATH查看PATH修改PATHHOMESHELL其他常見環境變量PWD與OLDPWDLOGNAME與USERSSH_TTY由環境變量理解權限使用系統調用獲取環境變量理解權限3. 總結什么是環境變量3. 命令行參數和環境變量…

leecode-15 三數之和

我的解法&#xff08;不是完全解309/314&#xff09;我的思路是定義一個left和一個right&#xff0c;然后在向集合里去查詢&#xff0c;看看有沒有除了nums[left]&#xff0c;和nums[right]的第三個元素&#xff0c;把這個問題轉換為一個遍歷查找問題 利用List.contains()方法來…

精通分類:解析Scikit-learn中的KNN、樸素貝葉斯與決策樹(含隨機森林)

在機器學習領域&#xff0c;分類任務占據核心地位。Scikit-learn作為Python的機器學習利器&#xff0c;提供了豐富高效的分類算法。現在進行初步探討三種經典算法&#xff1a;K最近鄰&#xff08;KNN&#xff09;、樸素貝葉斯&#xff08;Naive Bayes&#xff09;和決策樹&…

Galaxea機器人由星海圖人工智能科技有限公司研發的高性能仿人形機器人

Galaxea機器人是由星海圖人工智能科技有限公司研發的高性能仿人形機器人&#xff0c;具有多種型號&#xff0c;包括Galaxea R1和Galaxea R1 Pro。以下是關于Galaxea機器人的詳細介紹&#xff1a; GitHub官網 產品特點 高自由度設計&#xff1a;Galaxea R1是一款全尺寸仿人型機…

python基礎:用戶輸入和 while 循環

一、input() 函數的工作原理input() 函數讓程序暫停運行&#xff0c;等待用戶輸入一些文本。獲取用戶輸入后&#xff0c;Python 將其賦給一個變量&#xff0c;以便使用。message input("Tell me something, and I will repeat it back to you: ") print(message) 結…