If you feel like contributing there are a couple of ways to do this
- You can add new super high speed bash code, optimizing existing, rewrite for broader support of bash environments across OS's
- You can add domains to either the wildcard.list or domain.list in there respective folders
- You can through Damned good arguments try to get a domain into the WhiteList
- Simply open a new Ticket with your suggestion if there not already is one for the primary domain.
- Please read our Ticket Guide before submitting a new domain
- If there is a existing issue for the TLD you have a submission to, then add you submission as comment to that one. An example to this could be T70: google.com
- If there isn't any existing issue related to the domain you would like to contribute with, then please do open a new issue.
The workflow is a bit clumsy, but yet the most reliable and simple.
- You add an issue describing your submission. Pick the issue template that fits your mission best.
- You should always be as close as possible to our Writing Guide as possible.
- Edit the file you would like to contribute to.
- Then open a Pull Request (PR) where you'll add you contribution
- Add full URI of the Issue and the domain_name in the commit message, as per the example below.
git commit -S -am "example.com" -m "Closes T3329 https://www.mypdns.org/T3329"
The simplest idea is often the most safe, and this is the very reason for this workflow. It is also giving the project a searchable database for added domains and it's comments, by which we can't add in other logically ways.
We require all submissions to be signed with a valid GPG key.
Only exception for this rule is the CI/CD bot
If you know nothing about GPG keys, we recommend you to search on duckduckgo.com for the best way, to do it, for the OS you are using.
However if you do have a GPG key, add it to you submission profile and add a -S to git commit -S -m "Some very cool enhancements" and that's is.
You can set this as default, either globally or pr git. Do a search on duckduckgo.com to figure out the current way.
- All the lists needs to be in raw data form; from which other scripts easily can work with, without first have to run several cleanup processes.
- All files most be formatted with a newline (\n)(LF) UTF-8.
- All files have to be in universal UTF-8 style without BOM.
- Filename containing _windows_ in it's name most be encoded in ISO-8859-1 Latin1 and newlines shall end be in (CRLF).
- Line length should not be more than 80 chars for optimal terminals support, and a usage of 72 chars are optimal to include Unix (as they often has a screen offset of 8 chars to the right).
Current version is 2021022501