Page MenuHomeMy privacy DNS

Adult Contents submit program #python
Open, WishlistPublic

Description

Idea

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

General requirements

  • 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.

Config

  • 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

Admin

  • Ability to approve submitted domain
  • Ability to push to DNS server

Error handling

  • 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?

Longer terms...

The endgame most be an an application which can keep the repo(s) and the global.domain.DB as one

Conditional

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)

Event Timeline

Spirillen triaged this task as Wishlist priority.Oct 29 2020, 5:42 PM
Spirillen created this task.