3.2 KiB
3.2 KiB
设置网络代理的脚本
#!/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) 输入脚本内容:
pkill naive
~/naiveproxy/naive ~/naiveproxy/config.json 2>&1
exit
保存并运行。 解释: pkill naive:杀死之前运行的naive进程 ~/naiveproxy/naive ~/naiveproxy/config.json 2>&1:运行naiveproxy,将日志输出到控制台 exit:退出脚本
自动下载naiveproxy并运行脚本
#!/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