Skip to content

Commit cc86c9f

Browse files
authored
Merge pull request #16 from tuanductran/copilot/add-macos-installation-rule
2 parents 21c23e7 + 19e8b16 commit cc86c9f

2 files changed

Lines changed: 128 additions & 0 deletions

File tree

skills/nextdns-cli/SKILL.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ metadata:
1414
| Rule | Keywords | Description |
1515
|------|----------|-------------|
1616
| [installation](rules/installation.md) | install, setup, curl, nextdns install | Install NextDNS CLI on various platforms |
17+
| [macos-installation](rules/macos-installation.md) | macOS, Homebrew, App Store, installer | Install and configure NextDNS CLI on macOS |
1718
| [daemon-control](rules/daemon-control.md) | start, stop, restart, status, daemon | Control NextDNS daemon service |
1819
| [system-configuration](rules/system-configuration.md) | activate, deactivate, DNS resolver | Configure system DNS settings |
1920
| [profile-configuration](rules/profile-configuration.md) | config, profile ID, settings | Configure NextDNS profile and settings |
Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
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

Comments
 (0)