使用ssh建立隧道和web代理

动态端口转发(socket4/5代理): 通过ssh监听本地端口并把数据转发至远程动态端口
转发local port 至 ssh Server
ssh -D
ssh -qfTnN -D 本地目标端口 username@ssh_ip

-D 127.0.0.1:7070 监听本地7070端口,转发到远程服务器
-q是静默执行,不提示多余信息
-f是后台执行,即ssh进程执行为后台进程,登录后即刻返回命令行.
-N 不启动shell
-c blowfish 采用blowfish加密,更快更安全
-C 压缩数据
-4 强制ipv4
-T表示不为这个连接分配TTY
-n把 stdin 重定向到 /dev/null
-2 强制使用SSH2协议

部分浏览器和程序不支持socket4/5代理 可以使用polipo来转换下代理类型(polipo是http代理 明文传输, 建议本地使用)
mac下载地址https://github.com/jech/polipo
debian/ubuntu使用 apt-get install polipo进行安装

polipo配置
proxyAddress = "0.0.0.0" # http代理监听地址
proxyPort = 9999 #http代理监听端口
socksParentProxy = "192.168.1.101:9998" #socket4/5代理的ip和端口

原文地址:https://www.cnblogs.com/zsummer/p/4304387.html