前言

这是一个奇怪的需求,起因是因为在学校的公用 MacStudio 里面给视频配音,发现有不少资源下载都没法直接访问

虽然理论上是可以用我的 iPad 下载完再 Airdrop 过来,但总觉得麻烦,想直接在 Mac 上下载

然而,MacOS 不同于 Windows,它并没有 Portable Software 的概念,几乎所有的软件都会将应用数据生成到 用户目录下的 Library 里面

如果是自己电脑的话,这其实也没什么大不了的,但是对于公用电脑,每次我使用都需要手动导入我需要的配置文件,也为了避免其他人滥用,每次离开的时候都要手动删除这些文件,还是挺麻烦的

另外,更要命的一点是,本身更改MacOS的网络代理设置就需要管理员权限,这就导致了我无法直接在普通用户权限下使用网络代理

方案

所以,我最终选择了一个非常麻烦但可行的方案:直接跑代理软件核心,搭配 Dashboard 来控制,并使用 Firefox 来切换代理

这个方案其实非常巧妙,Firefox 是为数不多的,可以直接指定配置用户文件夹的浏览器,也是为数不多可以额外指定代理设置的浏览器

所以,我使用了官方的 DMG 安装包,拖到了 U 盘里,然后执行以下命令:(如果有权限问题,参考下面的解决问题方案)

1
./Firefox.app/Contents/MacOS/firefox -profile /Volumes/<PATH_TO_PROFILE>

所以,只需要指定好用户数据文件夹,就可以每次打开的时候都复用这个配置了,不用再手动设置了

另外,对于代理软件,我发现,直接跑软件的 Core 也是可以手动指定配置文件的,写好配置文件并配一下 Dashboard 就好了

1
./mihomo -d .

经过这个方案,我就可以直接把需要的配置文件都放在 U 盘里了,每次使用只需要点开脚本就可以使用了

另外,因为 MacOS 的权限设置比较严格,所以我还需要在每次使用前,先打开一次 Terminal 来授权脚本的权限,比如:

1
2
3
4
5
6
7
8
# 解决 Operation not permitted
xattr -rd com.apple.quarantine <FILE_NAME>

# 解决 File Broken
xattr -cr <FILE_NAME>

# 解决 Permission denied
chmod +x <FILE_NAME>

这些应该只用经过一次设置就可以了

然后,我用 AI 写了个脚本,点击就能自动打开代理软件的 Core 和 Firefox 开始上网了

结语

虽然这个方案非常麻烦,但至少是可行的,满足了我在普通用户权限下使用网络代理的需求

归根结底,学校网络和中国的特殊网络环境确实让人头疼,作为普通人,只能用这种奇奇怪怪的方式来绕着弯子解决问题了

希望这个思路可以给有类似需求的人一些启发