Adding DNS Servers
One of the most valuable contributions is adding new DNS servers, especially ones that work well in Iran.
DNS servers are stored in two configuration files:
Root dns-list.conf (used by the shell script):
NAME|PRIMARY_IP|SECONDARY_IP|LOCATION
internal/dnslist/dns-list.conf (embedded in the Go binary):
NAME|PRIMARY_IP|SECONDARY_IP|LOCATION|DOH_URL|DOT_HOST
| Field | Description | Example |
|---|
| NAME | Display name for the DNS | Cloudflare |
| PRIMARY_IP | Primary DNS server IP | 1.1.1.1 |
| SECONDARY_IP | Secondary/fallback IP | 1.0.0.1 |
| LOCATION | Geographic location or category | Global |
| DOH_URL | DNS-over-HTTPS endpoint (use - if none) | https://cloudflare-dns.com/dns-query |
| DOT_HOST | DNS-over-TLS hostname (use - if none) | one.one.one.one |
When adding new DNS servers, make sure to update both configuration files to keep them in sync.
Example Entries
# International DNS
Cloudflare|1.1.1.1|1.0.0.1|Global
Google|8.8.8.8|8.8.4.4|Global
# Iranian DNS
Shecan|178.22.122.100|185.51.200.2|Iran
Electro|37.152.182.112|37.152.182.113|Iran
# Gaming DNS
RadarGame|10.202.10.10|10.202.10.11|Iran
Adding a New DNS Server
Step 1: Verify the DNS Works
Before adding, verify the DNS server is working:
# Test ping
ping -c 3 NEW_DNS_IP
# Test DNS resolution
dig @NEW_DNS_IP google.com
# Or with nslookup
nslookup google.com NEW_DNS_IP
Step 2: Edit dns-list.conf
Open the configuration file:
# If installed
nano ~/.dns-mns/dns-list.conf
# If working with repo
nano dns-list.conf
Step 3: Add Your Entry
Add your DNS server in the appropriate section:
# Added YYYY-MM-DD - Brief description
# Source: URL or how you found this DNS
MyNewDNS|1.2.3.4|5.6.7.8|Location
Step 4: Test with DNS-MNS
Run the tool and verify your DNS appears:
./dns-mns.sh
# Select "Test Gaming DNS"
# Look for your DNS in the list
Categories
Add your DNS to the appropriate category in the file:
| Category | Section Header | Description |
|---|
| International | # International Gaming DNS | Global providers like Cloudflare, Google |
| Regional | # Regional/Middle East DNS | Iran-specific DNS servers |
| Gaming | # Gaming Optimized DNS | Low-latency gaming DNS |
| Privacy | # VPN/Privacy DNS | Privacy-focused providers |
| Additional | # Additional Iranian DNS | Extra Iranian DNS options |
Guidelines for Adding DNS
Submitting Your Addition
Via Pull Request (Preferred)
- Fork the repository
- Edit
dns-list.conf
- Commit with message:
feat: add [DNS Name] to dns list
- Open a pull request
PR Description Template:
## New DNS Server
**Name:** MyNewDNS
**Primary IP:** 1.2.3.4
**Secondary IP:** 5.6.7.8
**Location:** Iran
## Verification
- [x] Ping test successful
- [x] DNS resolution works
- [x] Tested from Iran (if applicable)
## Source
Found on [website/forum/etc.]
Via Issue
If you’re not comfortable with pull requests:
- Open a new issue
- Title: “Add DNS: [DNS Name]”
- Include:
- DNS name
- Primary and secondary IPs
- Location
- How you verified it works
- Where you found it
Bulk DNS Additions
If you have multiple DNS servers to add:
- Create a text file with all entries
- Open a pull request or issue
- We’ll review and merge valid entries
Removing Outdated DNS
If you find a DNS server that no longer works:
- Open an issue titled “DNS not working: [DNS Name]”
- Include:
- Which DNS is not working
- Error you’re seeing
- When you tested it
Or submit a PR removing the entry with verification.
Privacy Considerations
When adding DNS servers:
- Don’t add private/internal DNS without permission
- Verify the DNS provider is legitimate
- Note if the DNS has any content filtering
Thank you for helping expand the DNS-MNS database!