代理软件如何实现真全局代理或对指定应用代理?

在 Xcode 中使用 SPM 解决依赖时,经常出现 Error while fetching remote repositoryhttps://github.com/xxx/xxx: An unknown error occurred. failed to connect to github.com: Operation timed out (-1),在国内访问 Github 是及其不稳定的,因此首先要解决的是让电脑访问 GitHub 速度加快,那当然是科学上网了(作为一名程序员,如果不会科学上网吗,那真的该反思了),再让 Xcode 走系统代理,即可解决此问题。

代理软件本人常用的代理软件如下:

  • Clash:一个 Go 语言开发的多平台代理客户端,Github
  • ClashX:Clash 的 Mac 图形客户端,Github
  • ClashX Pro: 是 Clash 的增强版,闭源,但也是免费。
  • ClashForAndroid:Clash 的 Android 图形客户端,Github
  • Clash for Windows:Clash 的 Windows/macOS/Linux 图形客户端,Github

代理软件默认只对浏览器代理,Terminal 可以通过 export 设置代理,但像 Xcode 这类应用是不支持直接设置代理的,那如何使这类软件遵循系统代理呢?