|
| 1 | +--- |
| 2 | +title: macOS Installation |
| 3 | +impact: HIGH |
| 4 | +impactDescription: Proper installation and configuration of NextDNS CLI on macOS systems ensures optimal DNS protection and performance. Without following these guidelines, users may encounter installation failures, configuration issues, or suboptimal setup for their specific use case. |
| 5 | +type: capability |
| 6 | +tags: macOS, Homebrew, App Store, installer, Mac, installation, setup |
| 7 | +--- |
| 8 | + |
| 9 | +# macOS Installation |
| 10 | + |
| 11 | +**Impact: HIGH** - Essential setup methods and configuration options for macOS systems |
| 12 | + |
| 13 | +This rule provides comprehensive guidance for installing and configuring NextDNS CLI on macOS, covering the universal installer, Homebrew installation, Mac App Store alternative, and platform-specific configuration options. |
| 14 | + |
| 15 | +## Primary Installation |
| 16 | + |
| 17 | +The recommended method for installing NextDNS CLI on macOS is using the universal one-liner command: |
| 18 | + |
| 19 | +```bash |
| 20 | +sh -c 'sh -c "$(curl -sL https://nextdns.io/install)"' |
| 21 | +``` |
| 22 | + |
| 23 | +This command will: |
| 24 | + |
| 25 | +1. Download and execute the NextDNS installer script |
| 26 | +2. Present an interactive menu to guide you through the setup |
| 27 | +3. Prompt for your NextDNS configuration ID |
| 28 | +4. Configure the system DNS settings automatically |
| 29 | +5. Install and activate the NextDNS daemon |
| 30 | + |
| 31 | +Follow the on-screen instructions to complete the installation. The installer will handle all necessary permissions and system configurations. |
| 32 | + |
| 33 | +## Upgrade Path |
| 34 | + |
| 35 | +To upgrade NextDNS CLI to the latest version, simply re-run the installer command: |
| 36 | + |
| 37 | +```bash |
| 38 | +sh -c 'sh -c "$(curl -sL https://nextdns.io/install)"' |
| 39 | +``` |
| 40 | + |
| 41 | +The installer will detect the existing installation and automatically upgrade to the new version if available. No additional steps are required for upgrades. |
| 42 | + |
| 43 | +## Manual Installation (Homebrew) |
| 44 | + |
| 45 | +For users who prefer package management via Homebrew, NextDNS CLI is available through a custom tap: |
| 46 | + |
| 47 | +### Install Binary |
| 48 | + |
| 49 | +```bash |
| 50 | +brew install nextdns/tap/nextdns |
| 51 | +``` |
| 52 | + |
| 53 | +### Configuration for Workstation |
| 54 | + |
| 55 | +For a personal workstation or laptop, use the following configuration: |
| 56 | + |
| 57 | +```bash |
| 58 | +sudo nextdns install -config <id> -report-client-info -auto-activate |
| 59 | +``` |
| 60 | + |
| 61 | +Replace `<id>` with your NextDNS configuration ID. This command will: |
| 62 | + |
| 63 | +- Install NextDNS with the specified configuration ID |
| 64 | +- Enable client info reporting for better analytics |
| 65 | +- Automatically activate DNS on system startup |
| 66 | + |
| 67 | +### Configuration for Router/Server |
| 68 | + |
| 69 | +For a router or server setup where NextDNS acts as a DNS proxy for other devices: |
| 70 | + |
| 71 | +```bash |
| 72 | +sudo nextdns install -config <id> -report-client-info -setup-router |
| 73 | +``` |
| 74 | + |
| 75 | +Replace `<id>` with your NextDNS configuration ID. This command will: |
| 76 | + |
| 77 | +- Install NextDNS with the specified configuration ID |
| 78 | +- Enable client info reporting |
| 79 | +- Configure NextDNS to operate in router mode with proper DHCP integration |
| 80 | + |
| 81 | +## Official App Alternative |
| 82 | + |
| 83 | +NextDNS is also available as a native Mac application through the Mac App Store. This provides a user-friendly GUI alternative to the CLI: |
| 84 | + |
| 85 | +1. Download NextDNS from the Mac App Store |
| 86 | +2. Launch the application |
| 87 | +3. Open Preferences |
| 88 | +4. Navigate to the "Custom config" section |
| 89 | +5. Enter your NextDNS configuration ID |
| 90 | + |
| 91 | +The Mac App Store version provides the same functionality as the CLI but with a graphical interface for easier management. It's ideal for users who prefer not to use the command line. |
| 92 | + |
| 93 | +## Troubleshooting |
| 94 | + |
| 95 | +If you encounter issues during installation or configuration, you can enable debug mode for detailed logging: |
| 96 | + |
| 97 | +```bash |
| 98 | +DEBUG=1 sh -c 'sh -c "$(curl -sL https://nextdns.io/install)"' |
| 99 | +``` |
| 100 | + |
| 101 | +This will provide verbose output to help diagnose installation problems. Common issues and their solutions: |
| 102 | + |
| 103 | +- **Permission denied**: Ensure you're running commands with `sudo` when required |
| 104 | +- **Port conflicts**: Check if other DNS services are running on port 53 |
| 105 | +- **Configuration not applying**: Verify your NextDNS configuration ID is correct |
| 106 | + |
| 107 | +### Getting Help |
| 108 | + |
| 109 | +If issues persist after troubleshooting, contact the NextDNS support team: |
| 110 | + |
| 111 | +- Email: team@nextdns.io |
| 112 | +- Include debug output and system information when reporting issues |
| 113 | + |
| 114 | +## Best Practices |
| 115 | + |
| 116 | +- Always verify your NextDNS configuration ID before installation |
| 117 | +- Use `-report-client-info` to enable per-device analytics in your NextDNS dashboard |
| 118 | +- For workstations, use `-auto-activate` to ensure DNS protection starts automatically |
| 119 | +- For routers/servers, use `-setup-router` to properly integrate with local network services |
| 120 | +- Keep NextDNS CLI updated by periodically re-running the installer |
| 121 | + |
| 122 | +## Reference |
| 123 | + |
| 124 | +- [NextDNS CLI GitHub](https://github.com/nextdns/nextdns) |
| 125 | +- [NextDNS CLI Wiki](https://github.com/nextdns/nextdns/wiki) |
| 126 | +- [NextDNS Documentation](https://help.nextdns.io) |
| 127 | +- [Mac App Store - NextDNS](https://apps.apple.com/app/nextdns/id1464122853) |
0 commit comments