Contributing to DNS-MNS
Thank you for your interest in contributing to DNS-MNS! This project helps Iranian gamers find and configure optimal DNS servers.Ways to Contribute
Report Bugs
Found a bug? Open an issue with details about what went wrong.
Suggest Features
Have an idea? Open an issue with your feature request.
Improve Documentation
Fix typos, clarify instructions, or add missing information.
Add DNS Servers
Know a working DNS server? Help expand the list.
Code Contributions
Fix bugs or implement new features via pull requests.
Test & Review
Test the tool on your system and review pull requests.
Getting Started
1. Fork the Repository
Go to gitlab.com/E-Gurl/dns-mns and click Fork.2. Clone Your Fork
3. Create a Branch
feature/add-new-dns-serversfix/macos-dns-settingdocs/improve-installation
4. Make Your Changes
Edit the files as needed. See the Code Style guide.5. Test Your Changes
Before submitting:6. Commit Your Changes
7. Push to Your Fork
8. Open a Merge Request
Go to your fork on GitLab and click New Merge Request.Commit Message Guidelines
Use clear, descriptive commit messages with these prefixes:| Prefix | Usage |
|---|---|
feat: | New feature |
fix: | Bug fix |
docs: | Documentation changes |
refactor: | Code restructuring |
test: | Adding or updating tests |
chore: | Maintenance tasks |
Pull Request Guidelines
When opening a pull request:- Use a descriptive title - Summarize the change
- Describe what changed - Explain the what and why
- Reference issues - Link related issues with
Fixes #123 - Include testing steps - How can reviewers test the change?
Development Environment
Requirements
Shell script:- Bash 4.0+
- Git
- A supported OS for testing
- Go 1.21+
- Git
- A supported OS for testing
Running Locally
Testing Changes
Project Structure (Go)
When updating
dns-list.conf, also copy it to internal/dnslist/dns-list.conf so the Go binary embeds the latest list.License
By contributing, you agree that your contributions will be licensed under the MIT License.Questions?
- Open an issue for questions
- Check existing issues for answers
- Join discussions on GitLab