92 lines
3.2 KiB
Markdown
92 lines
3.2 KiB
Markdown
# 设置网络代理的脚本
|
||
|
||
```shell
|
||
#!/bin/zsh
|
||
# 获取脚本的绝对路径
|
||
SCRIPT_PATH=$(realpath "$0")
|
||
# 获取脚本所在目录
|
||
SCRIPT_DIR=$(dirname "$SCRIPT_PATH")
|
||
# 输出脚本所在目录
|
||
echo "脚本所在目录路径: $SCRIPT_DIR"
|
||
# 进入脚本所在目录
|
||
cd "$SCRIPT_DIR"
|
||
# 输出当前目录,确认已进入脚本所在目录
|
||
echo "当前路径是:$(pwd),将会创建naiveproxy目录"
|
||
mkdir -p ~/naiveproxy
|
||
echo "创建$(pwd)/naiveproxy目录"
|
||
cp naive ~/naiveproxy
|
||
cp config.json ~/naiveproxy
|
||
cp -r run_proxy.app ~/naiveproxy
|
||
echo "复制所需文件进naiveproxy目录"
|
||
cp -r run_proxy.app /Volumes/Macintosh\ HD/Applications
|
||
echo "复制run_proxy到应用程序列表"
|
||
networksetup -setautoproxyurl Wi-Fi https://pac.disbaidu.com/gfw2.pac
|
||
#设置wifi的代理规则,pac自动代理
|
||
echo "Install done! "
|
||
echo "在应用程序列表中,点击run_proxy。"
|
||
```
|
||
|
||
其中:
|
||
naive 和config.json 请自行下载并放到脚本所在目录下。
|
||
下载地址:https://github.com/klzgrad/naiveproxy/releases
|
||
|
||
run_proxy.app 请在自动化脚本中自行创建:
|
||
打开应用程序:Automator 或 自动化
|
||
选择工作流(Workflow):应用程序
|
||
选择服务(Service):运行Shell脚本(run shell script)
|
||
输入脚本内容:
|
||
```shell
|
||
pkill naive
|
||
~/naiveproxy/naive ~/naiveproxy/config.json 2>&1
|
||
exit
|
||
```
|
||
保存并运行。
|
||
解释:
|
||
pkill naive:杀死之前运行的naive进程
|
||
~/naiveproxy/naive ~/naiveproxy/config.json 2>&1:运行naiveproxy,将日志输出到控制台
|
||
exit:退出脚本
|
||
|
||
## 自动下载naiveproxy并运行脚本
|
||
```shell
|
||
#!/bin/zsh
|
||
# 获取脚本的绝对路径
|
||
SCRIPT_PATH=$(realpath "$0")
|
||
# 获取脚本所在目录
|
||
SCRIPT_DIR=$(dirname "$SCRIPT_PATH")
|
||
# 输出脚本所在目录
|
||
echo "脚本所在目录路径: $SCRIPT_DIR"
|
||
# 进入脚本所在目录
|
||
cd "$SCRIPT_DIR"
|
||
# 输出当前目录,确认已进入脚本所在目录
|
||
echo "当前路径是:$(pwd),将会创建naiveproxy目录"
|
||
# 判断当前是否存在naiveproxy目录,如果不存在,则创建
|
||
if [! -d "naiveproxy" ]; then
|
||
mkdir -p naiveproxy
|
||
echo "创建$(pwd)/naiveproxy目录"
|
||
fi
|
||
cd naiveproxy
|
||
# 判断是否存在naive文件,如果不存在,则下载
|
||
if [! -f "naive" ]; then
|
||
echo "naive文件不存在,开始下载"
|
||
# 判断当前环境是M1还是x86,下载对应的naiveproxy
|
||
if [ $(uname -m) = "arm64" ]; then
|
||
echo "当前环境是M1,下载M1版naiveproxy"
|
||
curl -L -o naive.tar.xz https://pan.disbaidu.com/download/naive/naiveproxy-mac-arm64.tar.xz
|
||
else
|
||
echo "当前环境是x86,下载x86版naiveproxy"
|
||
curl -L -o naive.tar.xz https://pan.disbaidu.com/download/naive/naiveproxy-mac-x64.tar.xz
|
||
fi
|
||
# 解压naive文件
|
||
echo "解压naive文件"
|
||
tar -xf naive.tar.xz
|
||
mv naiveproxy-* naivetmp
|
||
cp naivetmp/naive naive
|
||
rm -rf naivetmp
|
||
rm naive.tar.xz
|
||
# 判断config.json文件是否存在,如果不存在,创建配置文件并写入配置
|
||
if [! -f "config.json" ]; then
|
||
echo "config.json文件不存在,创建配置文件并写入配置"
|
||
echo '{"listen": "http://127.0.0.1:1099","proxy": "https://onghan:onghan@o.disbaidu.com","log": "o.log"}' > config.json
|
||
fi
|
||
|