终端alias语法快捷配置魔法上网


title: 终端alias语法快捷配置魔法上网

首先在本机开启魔法上网代理, 以Clash为例,http流量默认走7890端口, sock流量走7891端口

查看魔法端口

如果是bash终端,则配置文件为 ~/.bashrc; 如果是zsh终端, 则配置文件为 ~/.zshrc

打开终端配置文件,在底部添加以下代码

# setp 设置终端魔法上网代理
alias setp="export http_proxy=http://127.0.0.1:7890; export https_proxy=$http_proxy; export all_proxy=socks5://127.0.0.1:7891; curl -I https://www.youtube.com --connect-timeout 3 --speed-time 2 --speed-limit 1"
# unsetp 解除魔法终端代理
alias unsetp="unset http_proxy; unset https_proxy; unset all_proxy;  curl -I https://www.youtube.com --connect-timeout 3 --speed-time 2 --speed-limit 1"

开启魔法上网,运行setp
关闭魔法上网,运行unsetp

这个脚本本的实用之处在于,使用curl对youtube.com进行连通性测试, 如果是通的,则说明魔法上网成功,如果是不通的,则说明没有进行科学上网,当然为了避免curl卡死,我还添加了一些限制,如果连接超过3秒则 或者 2秒钟传输速度小于1字节则终止curl尝试。

最终效果

开启终端魔法上网成功

关闭终端魔法上网成功

可以把魔法上网开/关功能扩展到Linux虚拟机

魔法上网工具,允许来自局域网的连接

查看同一网段的ip

虚拟机 .zshrc配置文件配置 代理开关命令

设置代理

动图演示

在虚拟机中开关魔法上网

虚拟机终端配置文件内的设置

# setp 设置终端魔法上网代理
alias setp="export http_proxy=http://10.211.55.2:7890; export https_proxy=$http_proxy; export all_proxy=socks5://10.211.55.2:7891; curl -I https://www.youtube.com --connect-timeout 3 --speed-time 2 --speed-limit 1"
# unsetp 解除魔法终端代理
alias unsetp="unset http_proxy; unset https_proxy; unset all_proxy;  curl -I https://www.youtube.com --connect-timeout 3 --speed-time 2 --speed-limit 1"

需要注意的点

如果魔法上网配置无法成功, 可以尝试把魔法软件连接改为全局连接, 这样就能保证魔法上网终端流量, 完全走海外代理.

完全勾选

扩展用法

Windows支持wsl, 也就是原生支持Linux子系统, 但在wsl中为Linux终端配置魔法上网还是有些门槛,我们可以在Windows开启魔法上网, 然后使用本文的方法, 为Windows内的wsl的任何Linux系统配置终端魔法上网, 极大方便开发者们从各种海外网站下载依赖包, 在wsl中使用youtube-dl这类视频下载神器.

wsl配置可以参考 程序员福音!Win10下使用oh-my-zsh全攻略,让Win10开发更顺滑…

本文永久更新地址(欢迎来读留言,写评论):

https://www.v2fy.com/p/2021-06-28-setp-unsetp-1624854751000