Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use AppleScript's Applet functionality to kickstart Winbox-Mac #159

Merged
merged 1 commit into from
Nov 3, 2024

Conversation

belthesar
Copy link
Collaborator

Fixes #156, #157

This PR uses a trick I used over a decade ago to chainload an application through the AppleScript script runner runtime. It turns out that the AppleScript runner has the necessary entitlements to allow local network discovery, re-enabling the LAN discovery features of Winbox 3 via Winbox-Mac. This change uses a hacked apart AppleScript Applet Bundle, a feature of AppleScript's script editor which creates an App Bundle that has a small applet binary that launches an AppleScript file located in the bundle's Resources directory.

I do not know how this is signed, if at all, which will require testing on machines that do not have my Apple ID to ensure functionality.

Note

As a result of this new chainloading strategy, the application requesting Keystroke Monitoring and Folder Access privileges will now be "applet" instead of "winbox-mac" as that's the new parent process requesting these permissions. I do not believe that this would allow all AppleScript applet bundles to receive these permissions, but that has not been tested. If this does not fit within your security model, I would turn you towards the officially supported Winbox 4 from Mikrotik.

@belthesar belthesar marked this pull request as ready for review November 3, 2024 03:54
@belthesar belthesar merged commit 6be28d5 into master Nov 3, 2024
1 check failed
@belthesar belthesar deleted the feat/sequoia-compat branch November 3, 2024 03:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

The neighbors are missing
1 participant