This is the thread for the masterplan of building a public python script that can be used for contributing Adult contents blocking & Strict Adult contents blocking content directly into this issue board.
The script however most be split into at least two main parts, The public: submit and the admin: approval + add to git and DNS RPZ.
Find a good name for the application
- commit a uri or bulk file
- Extract all subdomains to be added to same issue for dumb hostsfiles
- extract NS records to be added as new default field
- Browse a few sub-pages to ensure we get all subdomains.
- Search the source/ and RPZ zone (SQL query is fastest) folder if record exist if [ grep || ask if we should add ] It would be optimal if it could ask for all categories.
- if [ commit ="True" ]; then Search via Phabricator + GIT API to find any (EXACT match) existing issue.
- if more than one, lowest id wins
- domain is = title of issue
- If issue exist, then add to issue as comment
- if issue do not exist, create new issue, post screenshot on GH and have Phabricator hotlink.
- Commit issue follows the current guide
- Commit same issue on GH as closed with ref to this board for primarily backup
- Implement support for proxy as in https://github.com/funilrys/PyFunceble/issues/132
This as a public website under matrix.rocks would be most appreciated.
- Need a config/.env file for adding API key(s)
- mypdns API key
- GH API key
- DNS server api key
- DNS server address
- Addesses for 1 to many GH boards
- Ability to approve submitted domain
- Ability to push to DNS server
- If script tries to submit to DNS or merge PR fails => start over
- If user have typed in a invalid API key to DNS => You are not an DNS admin, please check your config for?
The endgame most be an an application which can keep the repo(s) and the global.domain.DB as one
The app will only work if user contributes to mypdns (The license key 😃 🔐 )
Troubles / unanswered questions
- When external CDN is found, what/how do we process that? (scripting)