A cross-platform desktop application for unified management of DNS records across multiple DNS service providers.
简体中文 | English
- Multi-Account Management - Manage multiple DNS provider accounts with secure credential storage
- Universal DNS Management - Create, read, update, and delete DNS records across all providers
- Advanced Search & Filtering - Pagination, real-time search, and record type filtering with infinite scroll
- Account Import/Export - Encrypted backup and migration of account configurations
- Network Toolbox - Built-in DNS lookup and WHOIS query tools with history tracking
- Cross-Platform - Native experience on macOS, Windows, Linux, and Android
- Modern UI - Clean interface with dark/light theme support and bilingual (English/Chinese) localization
| Provider | Features |
|---|---|
| Cloudflare | Full DNS management, CDN proxy toggle support |
| Alibaba Cloud DNS | Comprehensive record management with pagination and filtering |
| Tencent Cloud DNSPod | Complete DNS operations with search capabilities |
| Huawei Cloud DNS | Full-featured DNS management with type filtering |
💡 More providers coming soon! If you need support for a specific DNS provider, feel free to open an issue.
Download the latest version for your platform from the Releases page:
- macOS:
.dmg(Apple Silicon / Intel) - Windows:
.msior.exe(x64, ARM64) - Linux:
.debor.AppImage(x64, ARM64) - Android:
.apk(ARM64, ARM32, x64)
- Download the
.dmgfile for your architecture - Open the
.dmgand drag DNS Orchestrator to Applications - Launch from Applications (you may need to approve it in System Preferences → Security & Privacy)
- Download the
.msiinstaller - Run the installer and follow the setup wizard
- Launch DNS Orchestrator from the Start Menu
- Download the
.debpackage or.AppImage - For
.deb:sudo dpkg -i dns-orchestrator_*.deb - For
.AppImage: Make executable (chmod +x) and run directly
- Click "Add Account" to configure your first DNS provider
- Select provider type and enter your API credentials
- View and manage your domains and DNS records
- Use the Network Toolbox for DNS queries and WHOIS lookups
- Add unlimited accounts from multiple providers
- Secure credential storage using system keychain (macOS Keychain, Windows Credential Manager, Linux Secret Service)
- Import/export accounts with encryption for backup and migration
- Easy switching between accounts
- Browse all domains across providers with pagination
- Infinite scroll for large domain lists
- Quick domain selection and filtering
- Supported Record Types: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA
- Pagination: Efficient loading with 20 records per page
- Real-time Search: Instant filtering with debounced search
- Type Filtering: Filter by record type for focused management
- Bulk Operations: Create, update, and delete records with validation
- Cloudflare CDN Proxy: Toggle proxy status for A/AAAA/CNAME records
- DNS Lookup: Query DNS records (A, AAAA, CNAME, MX, TXT, NS, SOA, SRV, CAA, PTR, ALL)
- WHOIS Query: Retrieve domain registration information
- History Tracking: Quick access to recent queries
- Themes: Light and dark mode with system preference detection
- Languages: English and Simplified Chinese
- Seamless language switching without restart
- Framework: React 19 + TypeScript 5
- UI: Tailwind CSS 4 + Radix UI components
- State Management: Zustand 5
- Build Tool: Vite 7
- Internationalization: i18next + react-i18next
- Icons: Lucide React
- Framework: Tauri 2 (Rust)
- Runtime: Tokio (async runtime)
- HTTP Client: Reqwest
- Credential Storage: keyring 3 (system keychain integration)
- Encryption: Built-in crypto module for account export
- API credentials stored in system keychain, never in plaintext
- Encrypted account import/export with password protection
- Secure HTTPS communication with DNS providers
- Node.js 22+ and pnpm 10+
- Rust (latest stable)
- Platform-specific dependencies:
- macOS: Xcode Command Line Tools
- Windows: MSVC (Visual Studio Build Tools)
- Linux: webkit2gtk, libappindicator, librsvg, patchelf
# Clone repository
git clone https://github.com/AptS-1547/dns-orchestrator.git
cd dns-orchestrator
# Install dependencies
pnpm install
# Start development mode
pnpm tauri dev
# Build for production
pnpm tauri build
# Sync version across package.json, tauri.conf.json, and Cargo.toml
pnpm sync-versionFor detailed development instructions, see DEVELOPMENT.md.
DNS Orchestrator follows a clean architecture pattern:
- Frontend: React components communicate via Zustand stores
- Backend: Rust-based Tauri commands handle business logic
- Abstraction:
DnsProvidertrait enables easy addition of new providers - Registry: Dynamic provider management through
ProviderRegistry
For in-depth architectural details, see ARCHITECTURE.md.
- macOS: 10.13 (High Sierra) or later
- Windows: 10 or later
- Linux: Modern distribution with DBus Secret Service (GNOME Keyring, KWallet, etc.)
- Android: 7.0 (Nougat) or later
Contributions are welcome! Here's how you can help:
- Report Bugs: Open an issue with reproduction steps
- Suggest Features: Share your ideas in the issues
- Add DNS Providers: Follow the guide in DEVELOPMENT.md
- Improve Translations: Update locale files in
src/i18n/locales/ - Submit Pull Requests: Fork, branch, code, and PR
Please ensure your code follows the existing style and includes appropriate error handling.
MIT License - see LICENSE for details.
Built with Tauri, React, and Rust.
Author: AptS:1547 (Yuhan Bian / 卞雨涵) Repository: github.com/AptS-1547/dns-orchestrator