【日常问题】huggingface git代理解决访问受限(代理方式)

文章目录

  • [huggingface git代理加速](#huggingface git代理加速)
    • [1. 解决办法](#1. 解决办法)
    • [2. 操作步骤](#2. 操作步骤)
      • [2.1 安装whistle](#2.1 安装whistle)
      • [2.2 填入规则](#2.2 填入规则)
      • [2.3 git代理配置](#2.3 git代理配置)
      • [2.4 测试](#2.4 测试)
    • [3. 网络代理作用](#3. 网络代理作用)

huggingface git代理加速

1. 解决办法

由于国内流量限制,我们直接请求huggingface下载模型受限,但是我们有国内的huggingface镜像站https://hf-mirror.com/
我们的思路就是将huggingface.co的请求转发到hf-mirror.com,所以笔者选择使用网络代理的方式。笔者选择的是轻量的whistle作为网络代理工具。(可替换方案例如 Fiddler、Charles 或 mitmproxy。这些工具允许你拦截和修改出站请求。)

第二个问题就是git并非浏览器发起请求,我们需要为git配置代理为whistle才可以达成域名替换的效果。

为了解决问题而来的读者阅读完第二章即可。

2. 操作步骤

2.1 安装whistle

首先要保证读者的环境中有node.js,这样才可以使用npm管理工具安装whistle

参考https://nodejs.org/en/download

ubuntu环境下可以直接
sudo apt install nodejs

安装whistle

shell 复制代码
npm install -g whistle

启动服务

shell 复制代码
w2 start -p 8000

-p 后的端口号由读者指定

我们通过浏览器访问到配置页面http://127.0.0.1:8000

点击HTTPS

勾选所有选项,下载CA证书,将证书导入浏览器

导入证书的方式因浏览器而异,以火狐为例

导入刚刚下载的文件即可

2.2 填入规则

在规则中填入

shell 复制代码
https://huggingface.co	https://hf-mirror.com
https://cdn-lfs.huggingface.co	https://cdn-lfs.hf-mirror.com

其中第一行是指定huggingface的域名替换,用于解决https://huggingface.co/datasets的访问。

第二行是用于git lfs大文件的内容过滤的访问,很多模型的文件存储在git lfs的仓库中。

通过抓包工具发现的git lfs的镜像源,故而作了修改

2.3 git代理配置

接下来我们需要为git配置httphttps的代理

shell 复制代码
# 设置 HTTP 代理
git config --global http.proxy http://127.0.0.1:8080

# 设置 HTTPS 代理
git config --global https.proxy https://127.0.0.1:8080

这样配置之后,还是会出现证书问题,因为https需要SSL/TLS证书,我们有两种方案:

  • 不认证
    git config --global http.sslVerify false
  • 导入证书
    git config --global http.sslCAInfo /path/to/certificate.crt

wget在下载时如果用代理也是需要配置的

shell 复制代码
export http_proxy=http://username:password@proxy.example.com:port`
export https_proxy=http://username:password@proxy.example.com:port`
wget http://example.com/file.zip`

由于这个操作是操作的环境变量,所以对全局生效,如果出现其他问题(例如pip ssl验证失败,记得回退)

shell 复制代码
unset http_proxy
unset https_proxy

当然也可以使用pip的选项禁用证书验证

2.4 测试

进入whistle的配置页面,打开Network监控,点击Clear清除

浏览器输入网址https://huggingface.co/,可以看到已经重定向到了国内镜像站
通过网络抓包能够看到如下信息

克隆项目

shell 复制代码
git clone https://huggingface.co/datasets/hssd/hssd-hab --recursive --branch ovmm

可以看到无论是git源码还是git lfs的内容均成功

3. 网络代理作用

网络代理是一种充当网络中间人的设备或服务,用于代表用户或设备执行网络请求。代理在网络通信中扮演多种角色,具有各种用途和作用,包括以下几个方面:

访问控制和安全性:

代理可以用于实施访问控制策略,限制特定用户或设备的访问。通过代理,可以监控和记录网络流量,检测恶意活动,并提供额外的安全层,如防火墙和入侵检测系统。
内容过滤和缓存:

代理可以过滤和拦截网络流量,阻止访问特定类型的内容或网站。此外,代理还可以实施内容缓存,加速对常见资源的访问,减轻网络流量和提高响应速度。

匿名性和隐私:

用户可以通过代理隐藏其真实的 IP 地址,提高匿名性。这对于绕过地理位置限制或保护用户隐私是有用的。代理也可以通过删除请求中的敏感信息来提高用户的隐私。
网络性能优化:

代理可以通过压缩数据、路由优化、负载均衡等手段来优化网络性能。通过选择最佳路径,代理可以提高数据传输的效率,并降低延迟。

访问控制和身份验证:

代理可以要求用户进行身份验证,确保只有授权的用户可以访问特定资源。这有助于强化网络安全,并限制未经授权的访问。
网络加速和优化:

通过代理服务器,可以对网络流量进行优化,例如使用压缩算法、缓存静态资源等,从而提高整体网络性能。

绕过地理限制:

代理可以帮助用户绕过地理限制,访问被限制在特定地区的内容或服务。这对于访问特定国家或地区的在线服务是有用的。

审计和监控:

代理允许对网络流量进行审计和监控,记录用户活动、检测异常行为,并生成报告。这有助于网络管理和安全团队保持对网络的全面掌控。

相关推荐
Rubin智造社2 分钟前
04月12日AI每日参考:企业级AI入口争夺升温,舱驾融合芯片加速落地
人工智能·openai·智能体·anthropic·企业级ai·人工智能+
薛定e的猫咪4 分钟前
2026 年 4 月实测:OpenAI Codex 保姆级教程,从安装到 MCP、Skills 与多智能体协作
前端·数据库·人工智能
@insist1235 分钟前
网络工程师-网络安全核心加密技术体系:对称 / 非对称加密、数字签名与证书全解析
网络·安全·web安全·网络工程师·软考·软件水平考试
盐真卿7 分钟前
华为数通 | VRRP负载分担与网关冗余实验:主备切换+流量分流,企业高可用网络实战
网络·华为
d1z8887 分钟前
(二十)32天GPU测试从入门到精通-llama.cpp CPU/GPU 混合推理day18
人工智能·llama·显卡·llama.cpp
帐篷Li11 分钟前
MiniMax Music 2.6 博客素材分析文档
人工智能
sp_fyf_202411 分钟前
【大语言模型】 AVGen-Bench:一个用于文本到音频-视频生成的多粒度、任务驱动型评估基准
人工智能·深度学习·神经网络·机器学习·语言模型·数据挖掘·音视频
窝子面12 分钟前
NestJs+MongoDB+Deepseek+Langchain实现ai聊天助手
javascript·数据库·人工智能·mongodb
小程故事多_8012 分钟前
从Claude Code源码泄露,读懂12个可复用的Agentic Harness设计模式(生产级落地指南)
人工智能·设计模式·aigc·ai编程·harness
独隅13 分钟前
PyTorch 图像分类完整代码模板与深度解析
人工智能·pytorch·分类