核心思路
脚本利用的是 Linux/Unix 下最常规的能力:。
针对国内开发者常遇到的 GitHub 仓库克隆缓慢及海外资源下载不稳定的问题,本文提供了一个基于 SSH 远程执行的 Bash 脚本方案。该脚本利用远程服务器作为中转,在服务器端完成 Git 克隆或文件下载,并通过管道将数据流式传输至本地。支持自动识别 URL 类型(Git 仓库或普通文件),具备浅克隆、临时文件清理及跨平台兼容性(macOS/Linux/WSL)。无需安装第三方工具,仅需配置一次服务器信息即可长期使用,有效解决网络限制导致的下载瓶颈。

脚本利用的是 Linux/Unix 下最常规的能力:。
简单说就是三件事:
本地只需要能 SSH 连上服务器即可,不需要任何特殊网络配置。
直接复制保存为 remote-get.sh,修改几行配置就能用。
#!/usr/bin/env bash
# 本脚本用于高速下载域外资源或者克隆 git 项目
set -euo pipefail
# ====================== 只需修改这里 ======================
REMOTE_USER="root" # 你的远程服务器用户名
REMOTE_HOST="192.168.2.8" # 你的远程服务器 IP 地址
SSH_PORT="22" # 服务器的 SSH 端口
# ==========================================================
show_usage(){
cat<<EOF
用法:$0 <URL> [本地保存名称]
功能:
• URL 以 .git 结尾 → 远程克隆 GitHub 仓库
• 其他 URL → 远程下载文件并传到本地
示例:
克隆仓库:$0 https://github.com/tekintian/transformers.git
下载文件:$0 https://example.com/ai-model.tar.gz
EOF
exit 1
}
# 参数检查
[ $# -lt 1 ] && show_usage
URL="$1"
TARGET="${2:-}"
REMOTE_TMP_DIR="/tmp/remote-get-$(date +%s)-$RANDOM"
# ====================== Git 仓库克隆 ======================
if [[ "$URL" =~ \.git$ ]]; then
echo -e "\033[32m==> 识别为 Git 仓库,使用克隆模式\033[0m"
TARGET="${TARGET:-$(basename "$URL" .git)}"
TAR_FILE="${TARGET}.tar.gz"
# 检查本地目录是否已存在
[-d "$TARGET"] && echo "错误:目录 $TARGET 已存在" && exit 1
# 1. 远程克隆
ssh -p "$SSH_PORT" "${REMOTE_USER}@${REMOTE_HOST}" "set -e; rm -rf '$REMOTE_TMP_DIR'; mkdir -p '$REMOTE_TMP_DIR'; git clone --recursive --depth 1 --quiet '$URL' '$REMOTE_TMP_DIR'/repo"
# 2. 远程打包并传到本地
ssh -p "$SSH_PORT" "${REMOTE_USER}@${REMOTE_HOST}" "tar -czf - -C '$REMOTE_TMP_DIR/repo' . 2>/dev/null" > "$TAR_FILE"
# 3. 本地解压
mkdir -p "$TARGET"
tar xzf "$TAR_FILE" -C "$TARGET"
rm -f "$TAR_FILE"
# 4. 清理远程临时文件
ssh -p "$SSH_PORT" "${REMOTE_USER}@${REMOTE_HOST}" "rm -rf '$REMOTE_TMP_DIR'" >/dev/null 2>&1
# ====================== 文件下载 ======================
else
echo -e "\033[32m==> 识别为普通文件,使用下载模式\033[0m"
TARGET="${TARGET:-$(basename "$URL")}"
# 检查本地文件是否已存在
[-f "$TARGET"] && echo "错误:文件 $TARGET 已存在" && exit 1
# 远程下载并直接传到本地
ssh -p "$SSH_PORT" "${REMOTE_USER}@${REMOTE_HOST}" "curl -L --progress-bar --connect-timeout 10 --max-time 7200 '$URL' 2>/dev/null" > "$TARGET"
echo -e "\n\033[32m✅ 完成!已保存到:$TARGET\033[0m"
fi
chmod +x remote-get.sh
把脚本顶部这三行换成你自己的服务器信息:
REMOTE_USER="root"
REMOTE_HOST="192.168.2.8"
SSH_PORT="22"
./remote-get.sh https://github.com/tekintian/transformers.git
./remote-get.sh https://example.com/llama-7b.tar.gz
.git 结尾 → 自动走 Git 克隆逻辑tar format unrecognized 这类诡异问题git 和 curl(大部分系统默认已装)--depth 1 浅克隆,速度更快;需要完整提交历史去掉即可--recursive 可以克隆仓库里面的子仓库对于国内开发者来说,GitHub 慢、海外资源难下载是长期痛点。本文的脚本不依赖任何第三方工具,不搞复杂配置,只用 SSH + 原生 Linux 命令,就把问题彻底解决。
只要你有一台远程服务器: ✅ GitHub 仓库高速克隆 ✅ 海外文件稳定下载 ✅ 一次配置,终身使用 ✅ 干净、轻量、可靠

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online