魔法proxy各种设置
前言
搜资料要魔法, 装依赖要魔法, 最近github不稳定了, 有时clone也需要魔法了.
本文帮助自己记录git, 命令行等如何施法(设置挂proxy), 不包括**魔法(获得一个proxy)**本身, 默认已有127.0.0.1:1080
的魔法配方.
如何查看施法成功了没
这个单独提是因为, 很多人以为设置了代理软件
的全局代理或者命令行
, 或者其他, 之后的网络请求肯定是已经使用了魔法, 其实不一定的.
- 看你的魔法
log
, 到底有没有请求走这边. - 看你的
网络监视器
, 这种尤其是在安装依赖卡主的时候, 你以为他在缓慢拉取, 实际一点请求数据量都没有. wireshark
抓包分析一下请求走哪了, 菜逼如我建议慎重使用, 可能会和代理软件有冲突, 我之前用他就把全局网络设置搞乱了, 最后重置了.
施法
常规施法
mac自带的, 设置里全局搜代理
, 如下配置即可.
这个开启后Safari
可以施法, Apple Music
也可以施法, 许多其他的一些已安装应用应该也可以, 没有进一步的追踪log查看.
但是Chrome
不知为什么不能施法, 还是需要额外使用SwitchyOmega
插件.
命令行施法
我默认用的zsh
, 所以在~/.zprofile
全局设置了proxy
和unproxy
两个快捷键. 同理你可以设置~/.bashrc
alias proxy='export all_proxy=socks5://127.0.0.1:1080'
alias unproxy='unset all_proxy'
配置完了别忘记source ~/.zprofile
让配置生效.
之后我们分别在proxy
与unproxy
的情况下试试
curl https://www.google.com
一种应该会报Failed to connect
, 一种会报ssl
相关错误.
或者更直接点:
curl cip.cc
会直接返回你的ip信息.
这里不要用ping测试施法成功了没有, 至于为啥我讲不到很透彻, 贴一下chatGPT的回答:
使用
ping
命令测试代理成功与否通常并不可靠,原因如下:
- 代理服务器不响应 ICMP 请求: 许多代理服务器和防火墙配置为不响应 ICMP 请求,这是出于安全和隐私的考虑。因此,即使代理正常工作,
ping
请求也可能不会收到响应。ping
测试的是网络层:ping
是基于 ICMP 协议,它测试的是网络层的可达性。然而,代理通常工作在更高的传输层(如TCP或UDP),因此ping
无法直接测试代理的具体功能。- 代理可能使用不同的协议: 代理可以支持多种协议,如HTTP、HTTPS、Socks等。
ping
只能测试基本的网络连通性,无法检测代理对其他协议的支持情况。 对于测试代理的可用性,更好的方式是使用专门的代理测试工具,或者通过尝试使用代理进行实际的应用层通信,例如使用curl
或浏览器访问网页。这样可以更全面地测试代理的功能和性能。如果代理需要身份验证,还需要确保在测试中提供正确的凭证。
npm与yarn施法
npm和yarn单独拿出来说, 是因为他不走命令行已经挂了的代理, 可以自己直接看代理log确认.
npm的, 修改~/.npmrc
或者项目目录下的.npmrc
proxy
代理http请求, https-proxy
代理https请求
proxy=socks5://127.0.0.1:1080
https-proxy=socks5://127.0.0.1:1080
查看npm的设置可以通过npm config list
查看.
yarn的, 修改~/.yarnc
或者项目目录下的.yarnc
httpProxy socks5://127.0.0.1:1080
httpsProxy socks5://127.0.0.1:1080
yarn的设置查看可以用yarn config list
很多人会给npm
设置淘宝镜像
(registry), 个人建议能自己走魔法, 就不要用registry
.
git施法
git常规情况下应该是会走zsh
或者bash
的全局设置, 但是之前安装依赖的时候, 依赖的网络请求报了一个git
源的网络请求失败. 后来单独给git配置了一下魔法成功了, 这个现象我不是很好发现验证.
# 添加
git config --global http.proxy socks5://127.0.0.1:1080
git config --global https.proxy socks5://127.0.0.1:1080
# 移除
git config --global --unset http.proxy
git config --global --unset https.proxy
查看的话可以git config --list
或者打开~/.gitconfig