我是一名开发人员,正在编写一个 C++ 网络服务器,作为开发迭代过程的一部分,我必须编译一个打开监听套接字的新可执行文件。
这将触发 GUI 提示,允许通过防火墙连接到这个新编译的可执行文件。
我会暂时禁用系统的防火墙,但我知道这只会导致我在接下来的几个月内禁用防火墙,直到我偶然回到该系统设置页面(就像上次一样......)。
但如果每次测试时都必须单击对话框,我就会发疯。
也许有某种方法可以让我让操作系统不提示我输入在特定目录中找到的可执行文件?或者我可以运行一个终端命令(无论多么复杂)来为防火墙添加对新编译的可执行文件的豁免?
答案1
我还没有太多的时间来测试这个,但这似乎有效。
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --unblockapp $APP_PATH