核心思路
脚本利用的是 Linux/Unix 下最常规的能力:SSH 远程执行 + 管道传输。
简单说就是三件事:
- 让远程服务器访问 GitHub 或海外资源(网络环境更好、速度更稳)
- 在服务器上完成 git clone 或 curl 下载
- 通过 SSH 安全管道,把文件/打包后的仓库直接传回本地
- Git 仓库:远程静默克隆 → 打包 → 本地接收解压
- 普通文件:远程 curl → 直接管道输出到本地文件
本地只需要能 SSH 连上服务器即可,不需要任何特殊网络配置。
万能脚本:remote-get.sh
直接复制保存为 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=
TAR_FILE=
[-d ] && && 1
ssh -p
ssh -p >
-p
tar xzf -C
-f
ssh -p >/dev/null 2>&1
-e
TARGET=
[-f ] && && 1
ssh -p >
-e


