Installation
Choose the installation method that best fits your environment.
Homebrew (macOS/Linux)
Section titled “Homebrew (macOS/Linux)”The recommended method for macOS and Linux users:
# Add the tapbrew tap aristeoibarra/tap
# Installbrew install nextdns-blocker
# Verify installationnextdns-blocker --versionUpdating via Homebrew
Section titled “Updating via Homebrew”brew upgrade nextdns-blockerPyPI (pip)
Section titled “PyPI (pip)”Works on any platform with Python 3.9+:
# Install from PyPIpip install nextdns-blocker
# Or with pipx for isolated installationpipx install nextdns-blocker
# Verify installationnextdns-blocker --versionUpdating via pip
Section titled “Updating via pip”pip install --upgrade nextdns-blocker
# Or check for updates within the toolnextdns-blocker updateFrom Source
Section titled “From Source”For development or the latest unreleased features:
# Clone the repositorygit clone https://github.com/aristeoibarra/nextdns-blocker.gitcd nextdns-blocker
# Install in editable modepip install -e .
# Verify installationnextdns-blocker --versionDevelopment Installation
Section titled “Development Installation”For contributing or running tests:
pip install -e ".[dev]"pytest tests/ -vWindows PowerShell
Section titled “Windows PowerShell”Automated installation script for Windows:
# Download and run the installerirm https://raw.githubusercontent.com/aristeoibarra/nextdns-blocker/main/install.ps1 | iex
# Or run locally after cloning.\install.ps1The installer will:
- Check for Python installation
- Install the package via pip
- Run the interactive setup wizard
- Configure Windows Task Scheduler for automatic sync
Docker
Section titled “Docker”Run NextDNS Blocker in a container:
# Clone the repositorygit clone https://github.com/aristeoibarra/nextdns-blocker.gitcd nextdns-blocker
# Copy configuration templatescp .env.example .envcp config.json.example config.json
# Edit your configurationnano .env # Add API key and profile IDnano config.json # Configure domains
# Start the containerdocker compose up -dSee Docker Setup for detailed configuration.
Verifying Installation
Section titled “Verifying Installation”After installation, verify everything works:
# Check versionnextdns-blocker --version
# View available commandsnextdns-blocker --help
# Run the setup wizardnextdns-blocker initSystem Requirements
Section titled “System Requirements”| Requirement | Minimum | Recommended |
|---|---|---|
| Python | 3.9 | 3.11+ |
| RAM | 50 MB | 100 MB |
| Disk | 20 MB | 50 MB |
| Network | Required | - |
Platform-Specific Requirements
Section titled “Platform-Specific Requirements”- macOS: No additional requirements
- Linux:
cronfor scheduled sync - Windows: Task Scheduler service running
Troubleshooting Installation
Section titled “Troubleshooting Installation”Python not found
Section titled “Python not found”# Check Python versionpython3 --version
# On Windows, try:python --versionIf Python isn’t installed, download from python.org.
Permission denied
Section titled “Permission denied”# Use --user flagpip install --user nextdns-blocker
# Or use pipxpipx install nextdns-blockerCommand not found after installation
Section titled “Command not found after installation”The installation directory might not be in your PATH:
# Find where pip installed itpip show nextdns-blocker
# Add to PATH (example for ~/.local/bin)export PATH="$HOME/.local/bin:$PATH"Add this export to your shell’s rc file (.bashrc, .zshrc, etc.).
Next Steps
Section titled “Next Steps”After installation, run the Quick Setup wizard to configure your credentials.