终端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虚拟机
虚拟机 .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开发更顺滑…
发表回复