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

Add macOS support #18

Closed
pymq opened this issue Nov 1, 2021 · 5 comments
Closed

Add macOS support #18

pymq opened this issue Nov 1, 2021 · 5 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@pymq
Copy link
Member

pymq commented Nov 1, 2021

No description provided.

@pymq pymq added the enhancement New feature or request label Nov 1, 2021
@jalavosus
Copy link

What work would be needed here to add macOS support? I have some free time and this project looks incredibly interesting.

@pymq
Copy link
Member Author

pymq commented Jun 10, 2023

Hi @jalavosus, thanks for your interest!

There are parts that are platform-dependent:

  1. system tray (for awl-tray) - I expect it to work out of the box, but it still needs testing

  2. VPN

  • this code in driver, it should create virtual network interface (this part should work already), set interface IP and subnet, set MTU
  • as I understand macOS allows interface names only in form utun[0-9], but awl currently use awl0. We need to change the default for macOS here
  1. awldns - setting DNS resolver for .awl domains on system level
    This part should also already be working.

  2. Automatically elevate privileges to root in order to have access to TUN driver. On Linux it's sudo or pkexec, but I don't know how root permissions work on macOS.

  3. Packaging. Do macOS needs something more fancy than go build?

  4. Auto-updates. We use this library, it works well for Linux and Windows, but it wasn't tested on macOS

Important points are 2, 4 and 5. I expect it shouldn't be much work, but it requires time to research on them.

Hope this helps, if you need anything, just ask here.

@jalavosus
Copy link

With the caveat of "zero promises", I'll take a look in my free time.

@pymq
Copy link
Member Author

pymq commented Jul 9, 2023

Hey @jalavosus, any luck?

@pymq
Copy link
Member Author

pymq commented Aug 17, 2023

macOS is fully supported as of the master branch, it will be available in the next release soon. The only missing is auto update feature, but I'm not sure this is possible due to "security" model of macOS (all new unsigned binaries are put in quarantine until user explicitly allows it to run). Probably we should completely hide auto updates feature on macOS in future releases.

@pymq pymq closed this as completed Aug 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants