1. なぜ Hugging Face のダウンロードは途切れやすいか
モデルウェイトや大きなアーカイブは、ウェブ UI の軽い HTML とは別経路で配信されることが多く、実際のホスト名はクライアントの接続ログに出たものが正です。短いメタデータの取得と、数ギガバイト級のバイナリ取得では、TCP セッションの持続時間や途中経路の輻輳の影響が変わるため、「トップページは開くが snapshot_download だけ失敗する」といった非対称な症状が起きやすいです。
加えて、短縮ドメインの hf.co へのリダイレクトや、LFS 用のホスト、地域に応じた CDN エッジの切り替えが絡むと、ルールが一つでも DIRECT のまま残ると、ブラウザと CLI で出口が分かれ、速度や成功率に差が出ます。本稿は違法な迂回や利用規約違反を推奨するものではありません。契約とポリシーの範囲で、自宅や研究室のネットワークを整理するための一般的な話に限定します。
公式の利用情報やライセンスは、Hugging Face のサイトを参照してください。クライアントの入手は後述のとおり、当サイトのダウンロードページを主な導線とします。
2. ホスト名と CDN の整理
以下は設定時のチェックリスト用の例です。運用でホスト名は変わり得るため、固定リストを盲信せず、失敗時に Clash のログへ出た Server Name をルールに追記する運用が現実的です。
- メインサイト・API:
huggingface.co - 短縮 URL:
hf.co(リダイレクト経由で別ホストへ続くことがある) - LFS/大容量配信で現れやすい名前:
cdn-lfs.huggingface.coなど(ログで確認) - 推論・Spaces 等:利用機能に応じて追加ホストが増える
GitHub 上のミラーや、組織独自のレジストリを併用する場合は、当該ホストが別系統になる点にも注意してください。ストリーミング再生で googlevideo を切り分ける話(当サイトの YouTube/googlevideo の分流)と同様、「本体ドメインだけ PROXY にして CDN が直結」のようなズレが、バッファや DL 中断の典型原因です。
ログの見方
改善の早道は、失敗した瞬間のログでどのホストがどのポリシーに乗ったかを確認することです。PROXY に揃えるべき行が DIRECT になっていないか、分流ルールの評価順(上から)でより広い MATCH や GEOIP に先に飲まれていないかを見ます。
3. Clash での分流ルール例
Clash(Mihomo 系)では rules: に DOMAIN-SUFFIX や RULE-SET を並べ、対象を PROXY へ寄せます。以下は例示であり、実環境ではログで検証してください。
# Example only — verify hostnames in your client logs
rules:
- DOMAIN-SUFFIX,huggingface.co,PROXY
- DOMAIN-SUFFIX,hf.co,PROXY
- MATCH,DIRECT
cdn-lfs などのサブドメインは DOMAIN-SUFFIX,huggingface.co でまとめて拾えることが多いですが、別ゾーンのホスト名がログに出た場合は DOMAIN 行を足します。DOMAIN-KEYWORD は誤爆しやすいので、可能ならサフィックスと実名の組み合わせを優先してください。
用語や全体像は Clash のドキュメントと併読すると、rules と proxy-groups の責務分けが掴みやすくなります。
RULE-SET だけに頼ると更新タイミングで取りこぼすことがあります。自分用の短い追記で切り分け、安定したら購読ルールへ戻す二段構えが運用しやすいです。
4. ノード選択と長時間転送
ノード選択は往復遅延だけでは足りません。数ギガバイトの連続読み込みは、出口の帯域制限や輻輳で途中切断されやすく、自動フェイルオーバーが敏感だとセッションが頻繁に張り直され、かえって失敗しやすくなることがあります。実務的には、同一プロファイル内で手動で安定した出口を固定し、huggingface_hub や git lfs の転送が最後まで通るかを確認してから、自動選択へ戻すのが無難です。
| 症状 | ありがちな原因 | 先に試すこと |
|---|---|---|
| ブラウザは速いが CLI だけ失敗 | CLI 向けホストが DIRECT | ログのホスト名をルールに追加 |
| 途中で 0 からやり直し | 不安定な出口・切断 | 別ノードへ変更、時間帯変更 |
| 夜だけ失敗する | 輻輳・レート制限 | 並列数を下げる、再試行 |
| 名前解決は成功するが繋がらない | ノード側のブロック | 出口変更、プロバイダ確認 |
TLS まわりの切り分けは、当サイトの TLS Handshake Timeout の記事と併読すると、SNI や証明書エラーが絡む場合の整理がしやすくなります。
5. DNS・直結との切り分け
DNS がプロキシの外側で解決されると、ルール上は PROXY でも実パケットの経路が意図とずれることがあります。Fake-IP では名前解決とルール評価の順序が絡み、ログ上は正しく見えても体感が不安定、ということがあります。大方のケースでは、漏れのない DNS とルールと矛盾しない名前解決が揃えば改善します。
「国内向けサイトは直結」の GEOIP ルールを強く効かせているプロファイルでは、海外 CDN の一部が意図せず DIRECT に落ちるケースもあるため、HF 系を明示的に上に置くか、ログで実際のヒット順を確認してください。IPv6 が別経路に抜けている場合は、一時的に IPv4 を優先する切り分けも有効です。
6. クライアント側の再試行とタイムアウト
ネットワーク側を整えたうえで、モデルダウンロードのクライアントにも再試行やレジュームの余地があります。huggingface_hub では環境変数や引数でタイムアウト・再試行を調整できる場合があり、大容量ほど「一度のセッションが長い」より「切断されても続きから取れる」方が成功率が上がることがあります。組織のプロキシやセキュリティ製品が HTTPS インスペクションを行っている場合は、証明書エラーや遅延が増えるため、別回線での再現確認も有効です。
ターミナルから git や npm を使う一般的なプロキシ設定は、当サイトの ターミナルと環境変数の記事が扱うレイヤーです。本稿は Hugging Face 特有の多ホスト・CDNにフォーカスするため、ルールのコピペだけで済ませず、ログに出た名前を正として追記してください。
7. 他記事との補完関係
GitHub の clone や Cursor 連携のタイムアウトは、Cursor/GitHub の分流記事がドメイン集合と切り分け順を詳しく扱います。ミラーを GitHub に置いている場合でも、実際の LFS 取得は Hugging Face 側ホストに戻ることがあるため、GitHub だけ整えても HF だけ失敗する、という整理がつきます。
Windows で TUN を使いアプリ全体をトンネルに載せる場合は、TUN とファイアウォールの記事と併読すると、例外プロセスやルートの話を合わせて説明しやすくなります。
8. セルフチェック
短いチェックリストです。上から順に試すと無駄が少ないです。
- クライアントの更新:古い GUI は挙動がズレます。公式のダウンロードページから入手できる最新系へ。
- システムプロキシと TUN:ターミナルや Python がどちらを見るかを揃える。
- ルールのヒット:ログで
huggingface.co/hf.co/LFS・CDN 系が期待のポリシーか。 - ノード:別ノードへ切り替え、長時間転送で再現性を確認。
- DNS:Fake-IP や redir-host とクライアント設定の整合。
- 並列数・再試行:クライアント側のタイムアウトと再開可能性。
これでも改善しない場合は、プロバイダ側の障害や地域的な制限、レート制限の可能性が高まります。ステータスやコミュニティの報告と突き合わせ、時間を置いて再試行するのも現実的です。
9. まとめ
Hugging Face のモデルダウンロードは、huggingface.co と hf.co、CDN 上の LFS ホストなど、複数の名前にまたがる大容量転送です。分流ルールでこれらを一貫して PROXY に寄せ、ノード選択と DNS をセットで見直し、クライアント側でタイムアウトと再試行を調整すると、途中切断や極端な遅延は大きく減らせることが多いです。ログに出る実名を正としてルールを育てる運用が、2026 年の AI 開発環境ではいちばん再現性が高いです。
同種のプロキシツールと比べて、Clash 系は接続ログとルールの対応が追いやすい場合があり、試行錯誤のコストを下げられます。ルールを少し整えるだけで、長時間の取得が途切れにくくなることも珍しくありません。