there was a utility that analyzed dns performance called namebench. Sadly it is only 32 bit, so does not work on Catalina. Is anyone aware of something that replaces it? thanks in advance.
If you got it working, here is an AppleScript that can be saved as an app to run NAMEinator without opening Terminal:That worked. Thanks!
display dialog "Running NAMEinator, please wait" giving up after 5
set DNSResults to do shell script "cd ~/go/src/github.com/mwiora/NAMEinator/; ./NAMEinator"
display dialog DNSResults buttons {"Close"} default button 1
git clone --single-branch --branch namebench_python_1.3.1_freeze https://github.com/mwiora/NAMEinator
cd NAMEinator
./namebench.py
There might be a way of running 1.3.1 with a GUI. The Python version of NAMEinator can be run in Catalina like this
I don't quite understand what beeuhtricks has done:" I managed to get a gui by commenting out the mac platform checks and hardcoding the launch, by the way."Code:git clone --single-branch --branch namebench_python_1.3.1_freeze https://github.com/mwiora/NAMEinator cd NAMEinator ./namebench.py
https://github.com/mwiora/NAMEinator/issues/11
As per the request of bogdanw, I had a look at this - The Python version of Namebench can be made to work with a GUI on later releases of macOS. I cloned the GitHub repo, and opened the Xcode project from the cocoa folder (You must be on the Python branch, I have not looked at the Go branch).
Set all compiler flags and build targets to a more recent version of macOS; I set it all to 10.13, but you can choose for yourself. This is setting a minimum build target, and anything relatively recent should work on all new releases.
Open the .xib file, and select the window it shows and set its build target to be the same as you set for the project. Build the app. If you get no errors, yay. The app likely still won't open though; It didn't for me at least. For me the app bundle wasn't quite good enough at packaging together what it needed. - Open the products pane in Xcode, and reveal the .app bundle in the Finder. Place it somewhere nice. Open up the package and go to its Resources, and just chug in all the stuff from the Namebench folder.
Now it should open.
If all of that sounds like a bloody hassle; I can send to you a "finished" .app. But I make no guarantees about it. I have performed no testing, I have no extensive knowledge of Namebench - I just quickly looked at it, and got the GUI up for it - Namebench is not my code, I just messed with it to get the GUI up.
And yes, it works in Catalina
if you could send me it that would be great! Thank you!
casperes1996 was kind to test and confirm that it’s working, but let’s not get him in trouble with Apple The app can not respect the requirements for Catalina (notarization and so on) and might end up being flagged as suspect.
Having tested the GUI app, my impression is that is not that great. It just says: “8.8.8.8 is the fastest”, without any details. If you are interested in the real speed, the command line version is better.
On a related topic, I’ve posted scripts for using DNS over HTTPS here
https://github.com/b0gdanw/cloudflared-macos
https://github.com/b0gdanw/dnscrypt-proxy-macos
and DNS over TLS can be easily set up with Stubby GUI for macOS https://dnsprivacy.org/wiki/display/DP/Stubby+GUI+for+macOS
You can get it from my server here
Namebench.zip
Having tested the GUI app, my impression is that is not that great. It just says: “8.8.8.8 is the fastest”, without any details. If you are interested in the real speed, the command line version is better.
Thank you so much @casperes1996 ! Really appreciate this
It's the same as the original namebench. It creates a .csv & .html files with detailed results. The difference is that in this "recompiled" version the html file doesn't open automatically after finishing.
You can find the generated .html file here:
private/var/folders/<two_random_characaters>/<many_random_characters>/T/namebench-<date>.html
Just in case anyone is wondering, this works on Big Sur 11.2.3 as well. If you're still tweaking it, a feature request would be give a list telling the user what the top 5-10 fastest servers are instead of just showing the one fastest.You can get it from my server here
Namebench.zip
No need to worry. No trouble with Apple. This is all above board. If one had an Apple developer license I also foresee no issues getting it notarised. Of course it isn't, but as you showed yourself you can still run it. While defaults air on the side of caution the user is still in control on macOS, and Apple has no interest in limiting these sorts of things as far as I can tell.
I haven't touched it since I made that post. I'd love to see about adding the feature requested, but unfortunately I'm rather busy lately working on an operating system for my bachelor project. I may do it eventually, but have no immediate plans for it . - That said, the command line version should be able to offer that until then if one is prepared to use the CLIJust in case anyone is wondering, this works on Big Sur 11.2.3 as well. If you're still tweaking it, a feature request would be give a list telling the user what the top 5-10 fastest servers are instead of just showing the one fastest.
Anyway, apps works well enough to give me what I wanted. Thanks for sharing!
I have homebrew installed so thought I would give that a shot first...Not sure if you noted, but HomeBrew offers a text version of namebench 1-3-1 and works on Catalina.
1. Install xcode : xcode-select --install
2. Download and deploy brew : /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
3. Install namebench : brew install namebench
I can also suggest install : tcping, udpping, ncftp and wget
brew install namebench
namebench
File "/usr/local/Cellar/namebench/1.3.1/libexec/bin/namebench", line 28
print '* Your Python version (%s) is too old! Please upgrade to 2.6+!' % your_version
^
SyntaxError: invalid syntax
which python
/usr/local/opt/python@3.9/libexec/bin/python
I have homebrew installed so thought I would give that a shot first...
brew install namebench
namebench File "/usr/local/Cellar/namebench/1.3.1/libexec/bin/namebench", line 28 print '* Your Python version (%s) is too old! Please upgrade to 2.6+!' % your_version ^ SyntaxError: invalid syntax
which python /usr/local/opt/python@3.9/libexec/bin/python
The steps are:
1. install Go (macOS package installer from https://golang.org/doc/install)
2. go get github.com/mwiora/NAMEinator
3. go get github.com/miekg/dns
4. cd ~/go/src/github.com/mwiora/NAMEinator/
5. go build
6. ./NAMEinator
The folder structure
Results
Something has changed since 2020?The steps are:
1. install Go (macOS package installer from https://golang.org/doc/install)
2. go get github.com/mwiora/NAMEinator
3. go get github.com/miekg/dns
4. cd ~/go/src/github.com/mwiora/NAMEinator/
5. go build
6. ./NAMEinator
12/26/21_13:30:58 /Users/john
0-zsh% go version
go version go1.17.5 darwin/amd64
12/26/21_13:31:08 /Users/john
0-zsh% go get github.com/mwiora/NAMEinator
go: downloading github.com/mwiora/NAMEinator v0.0.6
go get: github.com/mwiora/NAMEinator@v0.0.6: parsing go.mod:
module declares its path as: NAMEinator
but was required as: github.com/mwiora/NAMEinator
12/26/21_13:31:28 /Users/john
1-zsh% go get github.com/miekg/dns
go: downloading github.com/miekg/dns v1.1.45
go: downloading golang.org/x/net v0.0.0-20210726213435-c6fcb2dbf985
go: downloading golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c
go: downloading golang.org/x/tools v0.1.6-0.20210726203631-07bc1bf47fb2
go: downloading golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
go: downloading golang.org/x/mod v0.4.2
12/26/21_13:32:56 /Users/john
0-zsh% cd ~/go/src/github.com/mwiora/NAMEinator/
cd: no such file or directory: /Users/john/go/src/github.com/mwiora/NAMEinator/
12/26/21_13:38:09 /Users/john/go/pkg
0-zsh% tree .
.
├── mod
│ ├── cache
│ │ └── download
│ │ ├── github.com
│ │ │ ├── miekg
│ │ │ │ └── dns
│ │ │ │ └── @v
│ │ │ │ ├── list
│ │ │ │ ├── v1.1.45.info
│ │ │ │ ├── v1.1.45.lock
│ │ │ │ ├── v1.1.45.mod
│ │ │ │ ├── v1.1.45.zip
│ │ │ │ └── v1.1.45.ziphash
│ │ │ ├── mwiora
│ │ │ │ └── !n!a!m!einator
│ │ │ │ └── @v
│ │ │ │ ├── list
│ │ │ │ ├── v0.0.6.info
│ │ │ │ ├── v0.0.6.lock
│ │ │ │ ├── v0.0.6.mod
│ │ │ │ ├── v0.0.6.zip
│ │ │ │ └── v0.0.6.ziphash
│ │ │ └── yuin
│ │ │ └── goldmark
│ │ │ └── @v
│ │ │ ├── list
│ │ │ └── v1.3.5.mod
...
mkdir -p /Users/yourusername/go/1.17.5/src/github.com/mwiora/NAMEinator
cd /Users/yourusername/go/1.17.5/src/github.com/mwiora/
git clone https://github.com/mwiora/NAMEinator.git
cd NAMEinator
go build
./NAMEinator