直接使用命令行(最通用)

想要通过 SSH 将本地流量代理到国外服务器,最有效且通用的方法是使用 SSH 动态端口转发

直接使用命令行(最通用)

适用范围:SSH 动态代理本来就不是拿来狠狠干流量的,它更像一根“临时逃生管道”

打开本地终端(PowerShell、CMD 或 Linux/macOS Terminal),输入以下命令:

Bash

ssh -D 3000 -p 2222 -i "C:\Users\zxz\Desktop\id_ed25519_1panel" root@192.210.192.143
  • 参数解释:
    • -D 3000
      在本地开启 SOCKS5 代理端口 127.0.0.1:3000
    • -p 2222
      SSH 连接服务器的 2222 端口
    • -i "C:\Users\zxz\Desktop\id_ed25519_1panel"
      指定私钥文件路径
    • root@192.210.192.143
      使用 root 用户连接服务器 IP

然后使用火狐在代理里面设置一下就可以了,这个窗口不能断哈

image-20260417103454764

Linux / WSL 下通过这个临时 SSH 代理下载

如果你是在 Linux 或 WSL 终端里使用,先建立本地 SOCKS5 代理:

ssh -D 3000 -p 2222 -i /mnt/c/Users/zxz/Desktop/id_ed25519_1panel root@192.210.192.143

说明:

  • 本地代理地址是:127.0.0.1:3000
  • 这个终端窗口不能关闭
  • 下面这些命令默认都假设你已经把这个代理开好了

临时给当前终端设置代理

如果你想让当前 shell 里的大多数命令都走这个代理,可以先执行:

export ALL_PROXY=socks5h://127.0.0.1:3000
export HTTP_PROXY=socks5h://127.0.0.1:3000
export HTTPS_PROXY=socks5h://127.0.0.1:3000
export all_proxy=socks5h://127.0.0.1:3000
export http_proxy=socks5h://127.0.0.1:3000
export https_proxy=socks5h://127.0.0.1:3000

说明:

  • socks5hsocks5 更稳,因为域名解析也会走代理
  • 这些设置只对当前终端有效,关闭终端后失效

取消代理:

unset ALL_PROXY HTTP_PROXY HTTPS_PROXY all_proxy http_proxy https_proxy

apt 走代理下载

apt 不直接支持 SOCKS5 参数,最通用的方法是配合 proxychains4 使用。

先安装:

sudo apt update
sudo apt install -y proxychains4

编辑配置文件:

sudo nano /etc/proxychains4.conf

把文件最后面的代理配置改成:

socks5 127.0.0.1 3000

然后就可以让 apt 走这个临时 SSH 代理:

sudo proxychains4 apt update
sudo proxychains4 apt install -y curl
sudo proxychains4 apt install -y git
sudo proxychains4 apt install -y python3-pip

如果你只是想测试代理是否通:

proxychains4 curl https://ifconfig.me

curl 走代理下载

直接指定代理:

curl --proxy socks5h://127.0.0.1:3000 -O https://example.com/file.zip

跟随跳转并指定文件名:

curl --proxy socks5h://127.0.0.1:3000 -L https://example.com/file.zip -o file.zip

下载脚本:

curl --proxy socks5h://127.0.0.1:3000 -L https://example.com/install.sh -o install.sh

如果你前面已经 export 过代理变量,也可以直接写:

curl -L https://example.com/file.zip -o file.zip

wget 走代理下载

临时指定:

wget -e use_proxy=yes -e http_proxy=socks5h://127.0.0.1:3000 https://example.com/file.zip

更推荐的方式还是先 export 代理变量后再执行:

wget https://example.com/file.zip

pip 走代理下载

直接指定代理安装:

pip install --proxy socks5h://127.0.0.1:3000 requests
pip install --proxy socks5h://127.0.0.1:3000 numpy
pip install --proxy socks5h://127.0.0.1:3000 pandas

如果你用的是 pip3

pip3 install --proxy socks5h://127.0.0.1:3000 requests

也可以先设置环境变量再装:

pip install requests
pip install -r requirements.txt

git 走代理下载

临时使用:

git -c http.proxy=socks5h://127.0.0.1:3000 clone https://github.com/user/repo.git

拉取:

git -c http.proxy=socks5h://127.0.0.1:3000 pull

如果你想在当前机器上临时全局生效:

git config --global http.proxy socks5h://127.0.0.1:3000
git config --global https.proxy socks5h://127.0.0.1:3000

取消:

git config --global --unset http.proxy
git config --global --unset https.proxy

Python 脚本里走代理

例如 requests

import requests

proxies = {
"http": "socks5h://127.0.0.1:3000",
"https": "socks5h://127.0.0.1:3000",
}

resp = requests.get("https://httpbin.org/ip", proxies=proxies, timeout=20)
print(resp.text)

如果报错缺少 SOCKS 支持,可以安装:

pip install "requests[socks]"

常见用法总结

只想临时下载一个文件:

curl --proxy socks5h://127.0.0.1:3000 -L 下载地址 -o 文件名

想让当前终端的大部分命令临时走代理:

export ALL_PROXY=socks5h://127.0.0.1:3000
export HTTP_PROXY=socks5h://127.0.0.1:3000
export HTTPS_PROXY=socks5h://127.0.0.1:3000

想让 apt 也走代理:

sudo proxychains4 apt update
sudo proxychains4 apt install -y 包名