搭建自己的socks5 proxy,不使用第三方工具,最干净简洁的方式
背景
经常需要上网查资料。找一些第三方工具,总觉的搭建起来很麻烦。 尤其对于没有Linux基础的用户。如果你有一个可以访问外网的 虚拟机,有没有最简洁的方式搭建梯子?
配置方法
如果你有一个国外的主机,一个 ssh 命令,即可开通一个 socks5 proxy。 我们分为几种情况:
场景1、局域网多个用户使用socks5 proxy上网。
要求:
- 一台可以上网的linux 主机。比如可以租用腾讯的轻云主机。 host1
- 局域网内一台 Linux 主机或者Windows 10主机,保持长期开机。 host2
在局域网的 host2 上执行如下命令,将会在 host2 的 1080 端口上开启 socks5 代理。 Linux 和 Windows 10均可执行该命令。执行前,添加 host2 的公钥到 host1。
ssh -Nf -D 0.0.0.0:1080 root@host1
然后局域网的其他 windows 主机 安装chrome 浏览器。 创建一个快捷方式,在命令行参数中 配置 socks5 代理的地址。 (把命令中的 host2换成hos2在局域网内的IP)
"C:\Program Files\Google\Chrome\Application\chrome.exe" --show-app-list --proxy-server="socks5://host2:1080" https://www.google.com
这样 chrome 启动后,即可访问 google.com
场景2、个人使用 socks5 proxy上网。
如果你是在家使用,或者局域网内没有其他主机来作为 socks5 的代理节点。这时可以直接在 需要上网的 windows 主机上执行 ssh命令,在 当前主机的 1080 端口开启一个socks5。
ssh -Nf -D 0.0.0.0:1080 root@remotehost.domain
执行上述命令前,你需要把 windows 10 当前用户目录 .ssh 子目录下的 id_rsa.pub 文件中的公钥 到 远程主机上。
然后在 windows 10 上创建启动 chrome的快捷方式
"C:\Program Files\Google\Chrome\Application\chrome.exe" --show-app-list --proxy-server="socks5://localhost:1080" https://www.google.com
总结
上述方案需要一个国外的 Linux 主机。 socks5的端口在局域网内。安全性高。 socks5的主机和外网主机之间是 加密的隧道,安全性好。
最关键是,不需要第三方工具。 不需要配置。 一个命令搞定。