# 设置网络代理的脚本 ```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