Mac 全局翻墙配置,APP、浏览器、终端(二)
Proximac自定义 扩展
- 增加 proxy shell函数用来打开 proximac
- 增加 noproxy shell函数用来关闭 proximac
- 增加 proxyapp shell函数用来列出 proximac 中代理的所有 app
- 增加 proxyadd shell函数用来添加需要被 proximac 代理的 app
- 终端 配置 proxichain
运行 Proximac
需求:
- 一个命令运行 Proximac
- Proximac 已经开启的话就不再重复运行
- 若未开启的话则自动运行
我使用的是 iTerm2 + oh-my-zsh,在 zsh 的配置文件中有一句source $ZSH/oh-my-zsh.sh
,所以我便在 oh-my-zsh.sh中增加了一个函数来判断proximac-cli
这个进程是否存在,存在的话就输出一句话Proximac already running!
,不存在的话就执行proximac start -d -c ~/proximac.conf
函数:
1 | proxy() { |
增加了这个函数以后便在 iTerm2 运行时自动定义好了,在命令行里面直接运行proxy
后便可以运行 Proximac 了
停止运行 Proximac
停止运行 Procxiamc 的命令是proximac stop
这个很简单,可以直接在 zshrc 配置文件中创建一个 alias
1 | alias noproxy="proximac stop" |
列出当前配置中代理的所有 APP(其实并没有太大卵用)
也是在 zshrc 中增加一句 alias
1 | alias proxyapp="cat ~/proximac.conf | grep "process_name" | cut -d ":" -f 2" |
在配置文件中增加一个需要代理的 APP 进程(还没有比较简单的解决方案)
原想使用sed
命令
1 | sed -i -e 's/]/, "process_name"]/g' ~/proximac.conf |
这样就在那个 list 中增加了一个进程名,可是命令太长了,一点也不人性化,一行命令也犯不上搞个 python 脚本之类的,但是shell 渣渣还没解决怎么在shell 函数中传进去一个字符串,放到sed
命令中使用。
1 | 类似下面这样 |