Hi there,
Something interesting and not understand when trying to fetch my appproxy (and dnsproxy) system extension process with commands like below.
With Intel macbook pro, all good to fetch back that pid.
But with M1 macbook pro, it returns nothing although installed with the same Big Sur 11.6.1.
ps -A | grep $MY_SYS_EXTENSION_PROCESS_NAME
pgrep $MY_SYS_EXTENSION_PROCESS_NAME
Do you have any suggestion to make it the same on M1?
Thanks in advance for any suggestion.
Regards
Richard
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
Hi there,
As seen from console error periodically message like "deny system-priviledge" for our appproxy, dnsproxy process as well as our system serivce process.
Thanks in advance for any suggestion.
deny_macappproxy.txt
deny_dnsproxy.txt
deny_system_service.txt
Hi there,
I have a set of filter code based on AppProxyProvider that works pretty well: it just work capture in tcp and udp traffic using NWConnection.
Unfortunately recently I upgraded to 11.5 Beta then everything goes wrong: the bandwidth as tested via some website, say, fast.com will drop after running for several minutes to 2Mbps for both upload/download (although my broadband's normal speed is 50Mbps ). I capture in only tcp traffic to port 80 and 443.
I wonder is it some bug in network extension or some API level change I need to adapt to. Checked the release note, but nothing mentioned about any change around network extension.
That blocks our beta plan!
Thanks in advance for any suggestion.
Hi there,
During the test when using appproxy from systemextension (TransparentProxyProvider) capturing 80/443 tcp traffic, it is found that while visiting some website, there are hundreds of tcp flows generated, causing the appproxy stuck for some period (if we have some tasks for each flow). The websites can be some speedtest sites, such as https://www.speedtest.net or some complex forums, for example, https://www.wenxuecity.com
Do you have any suggestion on how to reduce the number of flows?
Thanks in advance.
Regards
Richard
Hi there,
When I check the SSLContext class, it says most of the api deprecated: 10.15, use Network.framework instead.
Do you have any suggest on the example code of using this new tls implementation with Network.framework?
Thanks and regards
Hi there,
I am using AppProxyProvider and DNSProxyProvider together.
When using only one of them, it works well so far. But when putting together the two things, no traffic through. For example, nslookup google.com doesn't work anymore.
So just to confirm with you: is it allowed to use these two at the same time?
Thanks in advance for any suggestion.
Hi there,
This is found with duration test on Monterey 12.0.
We are using appproxy and pipe through all udp traffics including dns requests (udp port 53).
With below script doing only nslookup per second, in a couple of hours, it just fails. No network at all although no error on appproxy level reported. Only way to recover so far is uninstall the system extension.
#!/bin/bash
i=1
while true
do
i=$((i+1))
echo "loop $i"
nslookup www.google.com
sleep 1
done
Tried the latest 12.1 beta, same failure.
This test has no problem with Bigsur including 11.6.
Thanks in advance for any suggestion.
Regards
Richard
Hi there,
I am using NEAppProxyProvider to filter a scope of port traffics. Am I am trying to capture all port traffic (except udp port 53) like below.
There are mainly two problems with below approach: Sometimes it works that can capture all traffic, but sometimes it cannot.
All the time, udp 53 traffic is always captured in.
Is this a bug?
private func buildRules(fullMode: Bool) - [NENetworkRule] {
var hosts = [("", "")]
var rules: [NENetworkRule] = []
hosts = [("0.0.0.0", "0...52"),
("0.0.0.0", "54...65535"),]
for host in hosts {
let ep = NWHostEndpoint(hostname: host.0, port: host.1)
let rule = NENetworkRule.init(remoteNetwork: ep, remotePrefix: 0, localNetwork: nil, localPrefix: 0, protocol: .any, direction: .outbound)
rules.append(rule)
}
}
...
let settings = NETransparentProxyNetworkSettings.init(tunnelRemoteAddress: "127.0.0.1")
settings.includedNetworkRules = buildRules()
settings.excludedNetworkRules = nil
settings.dnsSettings = NEDNSSettings(servers: ["1.1.1.1", "1.0.0.1", "8.8.8.8", "8.8.4.4"])
setTunnelNetworkSettings(settings) { [unowned self] (error) in
...