A web-based tool to generate Apple configuration profiles for encrypted DNS (DNS over HTTPS and DNS over TLS). Enable system-wide encrypted DNS on your iPhone, iPad, Mac, and Apple TV.
- 🔒 Encrypted DNS - Generate profiles for DoH (DNS over HTTPS) and DoT (DNS over TLS)
- 🎯 Popular Providers - Pre-configured templates for Cloudflare, Google, Quad9, and AdGuard
- ✏️ Custom DNS - Create profiles with your own DNS server configuration
- 📝 S/MIME Signing - Optionally sign profiles with your own certificate
- 🔐 Privacy First - All generation happens locally in your browser, no data sent to servers
- 📱 Multi-Platform - Works on iOS, iPadOS, macOS, and tvOS
- Select a DNS Provider - Choose from popular providers or enter custom DNS settings
- Choose Protocol - Select DNS over HTTPS (DoH) or DNS over TLS (DoT)
- Configure Options - Set profile name, description, and optional Wi-Fi/cellular restrictions
- Optional Signing - Add your signing certificate and private key for S/MIME signing
- Download - Click "Download Profile" to get your
.mobileconfigfile
- Download the configuration profile
- Open the Settings app
- Tap "Profile Downloaded"
- Tap Install and follow the onscreen instructions
- Download the configuration profile
- Open the downloaded
.mobileconfigfile - Open System Preferences → Profiles
- Click Install
- Open Settings → General → Privacy
- Hover over "Share Apple TV Analytics" without pressing
- Press Play on the remote
- Select "Add Profile" and enter the profile URL
- iOS / iPadOS: 14.0 and later
- macOS: 11.0 (Big Sur) and later
- tvOS: 14.0 and later
This project is built with:
- React + TypeScript
- Vite
- Tailwind CSS
- shadcn/ui
- PKI.js for S/MIME signing
# Clone the repository
git clone https://github.com/fransallen/apple-dns.git
# Navigate to the project directory
cd apple-dns
# Install dependencies
npm install
# Start the development server
npm run devContributions are welcome! Please feel free to submit a Pull Request.
This project is open source and available under the MIT License.