note/tech/macos命令行设置网络代理.md
2025-11-19 10:16:05 +08:00

92 lines
3.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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