运行python时如何永久接受OSX防火墙允许/拒绝确认?

Roc*_*man 8 python macos firewall osx-mountain-lion

概观

我在OSX Mt Lion上的python中使用龙卷风web服务器.每次启动龙卷风服务器时,我都会弹出一个弹出窗口,并且必须允许/拒绝对应用程序的传入访问.

我已将系统偏好设置 - >安全和隐私 - >防火墙中的python二进制文件列为"允许传入连接"...但我仍然每次都会弹出弹出窗口.

我在网上找到了一个参考,表明某些应用可以"检查自己是否签名".这可能是问题,因此忽略了它被列出?

我确认:

codesign -vvv <path to python binary>
Run Code Online (Sandbox Code Playgroud)

收益率:

<path to python binary>: invalid signature (code or signature have been modified)
In architecture: x86_64
Run Code Online (Sandbox Code Playgroud)

这个特殊的二进制文件与自制程序一起安装,带有--framework标志(wxpython需要).

问题

  1. 为什么忽略防火墙列表中二进制应用程序的手动输入?

  2. 是否有一种简单的方法来自己签署二进制文件,以便我可以单击"自动允许已签名的应用程序"并允许它不显示弹出窗口?

小智 13

(基于礼貌'回答 - 感谢有礼貌)

codesign -f -s - /path/to/Python.app
Run Code Online (Sandbox Code Playgroud)

为我工作(狮子后来才问过一次,最后一次).-s -意味着临时签名 - 根本不需要证书.


Bla*_*laz 1

codesign -s您可以使用您的有效证书手动签署应用程序。我用的是iPhone Developer证书和终端命令:

\n\n
codesign -f -s "iPhone Developer: YourName"  "Tornado.app"\n
Run Code Online (Sandbox Code Playgroud)\n\n

使用自动鼠标单击的可能解决方法:

\n\n
    \n
  1. 下载CLIclick。(谢谢卡斯滕。)
  2. \n
  3. 把它放在合适的位置,比如/usr/local/bin。
  4. \n
  5. 使用获取Allow按钮的屏幕坐标\xe2\x8c\x98\xe2\x87\xa74。(在我的示例中,这些是 x:750,y:600。)
  6. \n
  7. 使用此内容创建一个脚本(w:等待时间以毫秒为单位):

    \n\n
    /usr/local/bin/cliclick c:750,600 w:1500 m:+0,+0 c:.\n
    Run Code Online (Sandbox Code Playgroud)\n\n

    CLIclick(如果不将其“移动”到同一位置(零件m:+0,+0)并再次单击同一位置( ) ,我就无法开始工作c:.。)

  8. \n
  9. 每次启动服务器时都运行该脚本。
  10. \n
  11. 享受!
  12. \n
\n