簡體   English   中英

無法在 Safari Web Extension Native App 中創建出站 unix 域套接字

[英]Unable to create outbound unix domain socket in Safari Web Extension Native App

我正在創建一個 Safari Web 擴展來為 Safari 瀏覽器添加一些安全功能。 Web 擴展有 2 個部分,第一個 - 腳本代碼,它加載到瀏覽器中,第二個 - 一個名為 Native App 的單獨應用程序/進程,它獲取瀏覽器活動的通知和數據。 我能夠在 Safari Native App 中獲得各種瀏覽器活動的通知。 當收到此類通知時,需要通過 unix 域套接字(用於本地 IPC)將其發送到在同一 MacOS 機器上運行的其他守護進程。 此 Safari 原生應用程序在沙箱中運行。

問題是,當嘗試從 Safari Native App 連接到已經在偵聽其他進程的套接字時,Native App 的沙箱拒絕出站套接字網絡連接。 問題:有沒有辦法使用套接字從沙盒本機應用程序與其他進程進行通信。

免責聲明:

沙盒不能被禁用,如果禁用它會停止從 Safari 獲取活動通知,這是它的基本工作。

可以添加權利和應用程序組,但它必須與之通信的進程不能添加到應用程序組。

請幫助/建議可以解決此問題的方法。

我能夠找到如何使用 MacOS 機器上的套接字從沙盒進程進行通信。 答案是使用 TCP/IP 套接字而不是 unix 域套接字。

我們用 POC 應用程序測試的用例是,從以 root 用戶身份運行的應用程序監聽 TCP/IP 套接字,並通過以登錄用戶身份運行的 3 個客戶端通過 TCP/IP 套接字進行連接。

並且所有 3 個客戶端都能夠與服務器通信。 所有 3 個客戶端應用程序同時由 3 個登錄用戶運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM