diff --git a/.editorconfig b/.editorconfig index e7e851d09ee..4907442bf34 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,15 +1,14 @@ -; Check http://editorconfig.org/ for more informations - +; Check http://editorconfig.org/ for more information's ; Top-most EditorConfig file root = true [*] trim_trailing_whitespace = true -end_of_line = LF -insert_final_newline = true -charset = utf-8 -indent_style = tab +end_of_line = LF +insert_final_newline = true +charset = utf-8 +indent_style = space indent_size = 4 [*.py] @@ -24,11 +23,15 @@ indent_size = 2 [*.{sh,bash}] -indent_style = tab +charset = utf-8 +end_of_line = LF indent_size = 4 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true [*.list] trim_trailing_whitespace = true -insert_final_newline = true +insert_final_newline = true indent_style = space indent_size = 2 diff --git a/.github/newline.yml b/.github/newline.yml index 9a5472d1bde..a41c0b0bae3 100644 --- a/.github/newline.yml +++ b/.github/newline.yml @@ -1,4 +1,4 @@ # https://github.com/marketplace/actions/newline-action -autoCommit: true # If false, the bot will still comment in the pull request, so you can known which files are wrong and fix them yourself. +autoCommit: true # If false, the bot will still comment in the pull request, so you can know which files are wrong and fix them yourself. ignorePaths: ["screenshots/"] # Globs to be ignored diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 00000000000..a29d697cdfe --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,10 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# CodeStream ignored files +/codestream.xml diff --git a/.idea/dataSources.xml b/.idea/dataSources.xml new file mode 100644 index 00000000000..8ea30f8eced --- /dev/null +++ b/.idea/dataSources.xml @@ -0,0 +1,12 @@ + + + + + mariadb + true + org.mariadb.jdbc.Driver + jdbc:mariadb://mypdns.org:3306 + $ProjectFileDir$ + + + \ No newline at end of file diff --git a/.idea/matrix.iml b/.idea/matrix.iml new file mode 100644 index 00000000000..d6ebd480598 --- /dev/null +++ b/.idea/matrix.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 00000000000..639900d13c6 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 00000000000..7e78bb91c40 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/php.xml b/.idea/php.xml new file mode 100644 index 00000000000..f5f27444bdc --- /dev/null +++ b/.idea/php.xml @@ -0,0 +1,12 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000000..fcb524e69a2 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,20 @@ + + + + + + + + + \ No newline at end of file diff --git a/CHANGELOG b/CHANGELOG index 0c1d01787cb..d5d54ee6600 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -4,7 +4,7 @@ Records and add it back into [My Privacy DNS][mpd] as a consequence it haven't been very popular to keep the PR issues in a closed section, where login was required, to ensure My - Privacy DNS didn't participated in spreading ADult NSFW material. + Privacy DNS didn't participated in spreading Adult NSFW material. Related Issues can be found here: https://mypdns.org/mypdns/support/-/issues/802#note_2889150 diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 3e5acadc0f4..1fd729d70bb 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -56,7 +56,7 @@ a project may be further defined and clarified by project maintainers. Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at this -[EMAIL ADDRESS](incoming+mypdns-support-21-issue-@noreply.mypdns.org) alternatively +[EMAIL ADDRESS](mypdns+mypdns-support-121-issue-@danwin1210.de) alternatively You can open a issue [here](https://mypdns.org/MypDNS/support/issues/new). All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 38bc94ce82a..e37a3a1e475 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,20 +1,20 @@ -# 2 contribute +# Contribute If you feel like contributing there are a couple of ways to do this 1. You can add new super high speed bash code, optimizing existing, rewrite for broader support of bash environments across OS's -1. You can add domains to either the wildcard.list or domain.list in there +2. You can add domains to either the wildcard.list or domain.list in their respective folders -1. You can through **Damned** good arguments try to get a domain into the +3. You can through **Damned** good arguments try to get a domain into the whitelisted -**NOTE**: When you first starts to commit issues, the [akismet][akismet] +**NOTE**: When you first start to commit issues, the [akismet][akismet] unfortunately very fast to mark you as a spammer, but don't this includes everyone even admin accounts. -When this happens, please add this 'Ping @spirillen, i've got mark as spam` -to this [issue](https://mypdns.org/mypdns/support/-/issues/268) and we will +When this happens, please add this 'Ping @spirillen, I've got mark as spam` +to this [issue,](https://mypdns.org/mypdns/support/-/issues/268) and we will get your account back on track. ### Adding a new domain @@ -28,13 +28,13 @@ The workflow is a bit clumsy, but the most reliable and fail-safe. 2. Add your new domain record(s) to suitable file(s) in the `submit_here/` folder. - A issue is required to be able to historically trace why you + An issue is required to be able to historically trace why you have committed the records and for other to verify your commit without having to visit a pornographic site, for which they actually try to avoid by using this list. 3. If you added any content to any of the files in `submit_here/` - You open a [MR](/merge_requests/new) (Merge Request) where you'll + You open an [MR](/merge_requests/new) (Merge Request) where you'll add your contribution (This is the _when_ we did the blacklisting) 4. You add the new domain record entry in the top or bottom of the list, @@ -48,9 +48,9 @@ Add then in same style and with the usual minimum of need data in a comment to the primary domain, then if the report is confirmed, it will be edited into the original issue. -Each individual subdomain should have it's own "master" comment. +Each individual subdomain should have its own "master" comment. -In that way you can challenge/comment to each sub-domain as things will +In that way you can challenge/comment to each subdomain as things will change over time. As practised here: https://mypdns.org/my-privacy-dns/matrix/-/issues/201#note_32072 @@ -74,22 +74,22 @@ Please also read our [Writing Guide](https://mypdns.org/mypdns/support/-/wikis/c # GPG signed We require all submissions to be signed with a valid GPG key. -Only exception for this rule is the CI/CD bot +Only exception to this rule is the CI/CD bot ## How do I sign with GPG If you know nothing about GPG keys I, really suggest you search on -[duckduckgo.com](https://duckduckgo.com) for the best way, to do it for the OS you +[duckduckgo.com][DDG] 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 also -set this globally or pr git. Do a search on [duckduckgo.com](https://duckduckgo.com) +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 is. You can also +set this globally or pr git. Do a search on [duckduckgo.com][DDG] to figure out the current way. # Writing files/lines - All files most end with a newline `\n` (LF) UTF-8. - All files have to be in universal UTF-8 style without BOM -- Files containing `_windows_` in it's filename most be encoded in `ISO-8859-1` +- Files containing `_windows_` in its filename most be encoded in `ISO-8859-1` Latin1 and newlines shall end in (CRLF). - Line length should not be more than 80 chars for terminals support. @@ -105,7 +105,7 @@ If you feel like contributing there are a couple of ways to do this or rewrite for broader support of bash environments across *nix OS's -1. You should **_not_** add domains to the `submit_here/` folder of +2. You should **_not_** add domains to the `submit_here/` folder of this repo. It has to be committed via an ISSUE. Because I do have some scripts that handle/maintains several things @@ -120,7 +120,7 @@ All commits of new NSFW adult records should be done to You can use the following quick links | Category | Commit issue | -| :-------------------- | :-------------------------------------------------------------------------------------------------- | +|:----------------------|:----------------------------------------------------------------------------------------------------| | Adult contents | https://mypdns.org/my-privacy-dns/porn-records/-/issues/new?issuable_template=Adult_contents | | Adult CDN | https://mypdns.org/my-privacy-dns/porn-records/-/issues/new?issuable_template=Adult_CDN | | Strict Adult contents | https://mypdns.org/my-privacy-dns/porn-records/-/issues/new?issuable_template=Strict_Adult_contents | @@ -174,7 +174,7 @@ be edited into the original issue. Each subdomain should have its own "master" comment. -In that way, you can challenge/comment to each sub-domain as things will +In that way, you can challenge/comment to each subdomain as things will change over time. As practiced here: https://mypdns.org/my-privacy-dns/matrix/-/issues/201#note_32072 @@ -193,11 +193,11 @@ available for him to handle this. You should also have read this [comment](#issue-comment) We prefer you upload your fresh screenshot directly to us, as -hotlinking screenshots is bad in most ways, such as 3rd party tracking +hot-linking screenshots is bad in most ways, such as 3rd party tracking and other user data collection and tracking cookies. Minimize the number of hotlinks used, it's not forbidden as long this won't be abused. There are also cases where people simply block all 3rd party contents, -they are not able to see any hotlinked contents. +they are not able to see any hot-linked contents. ### New code If you feel like adding new code or modifying existing code to make it run @@ -237,7 +237,7 @@ If you know nothing about GPG keys I suggest you search on current OS. However, if you do have a GPG key, add it to your submission profile add a -`-S` to the `git commit -S -m "Some very cool enhancements"` and that's +`-S` to the `git commit -S -m "Some very cool enhancements"` and that is. You can set this globally or pr git. Search [duckduckgo][duckduckgo] to figure out the current way. ### Encoding when writing files/lines @@ -250,8 +250,10 @@ is. You can set this globally or pr git. Search [duckduckgo][duckduckgo] to figu +[DDG]: https://duckduckgo.com [PR]: https://mypdns.org/my-privacy-dns/porn-records [duckduckgo]: https://safe.duckduckgo.com +[akismet]: https://akismet.com/ "Akismet stops spam." This version supersedes diff --git a/COPYRIGHT.md b/COPYRIGHT.md index 11991f7a621..a13090be729 100644 --- a/COPYRIGHT.md +++ b/COPYRIGHT.md @@ -4,10 +4,10 @@ contributors (Users) who freely have added either through a ISSUE or a MergeRequest (Added any type of code) Hold the copyright (Ownership) of that specific part of code. -As Contributor you will also accept the material is shared for free with -any NON-profit project that is to be accepted a a FOSS (Free Open Source -Software), as long as they provide the the individual full credit plus -as minimum a link back to this project and it's code base. +As Contributor, you will also accept the material is shared for free with +any NON-profit project that is to be accepted a FOSS (Free Open Source +Software), as long as they provide the individual full credit plus +as minimum a link back to this project, and it's code base. ## Backlink @@ -17,7 +17,7 @@ or file at this project. ## License -The current License for this repository is always to be found at the +The current Licence for this repository is always to be found at the folder root [LICENSE][] ## Disallowed projects diff --git a/README.md b/README.md index 8196f09cd83..b1e9f9107b3 100755 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ online evil, when we talk about privacy and anti-brainwashing/manipulation; Facebook is also well represented in several categories. # Categorizing -Each sub-folder of `sources` should contain it's own README which in +Each sub-folder of `sources` should contain its own README which in short describes what the list is all about and the criteria to add a domain into it's `domain.list` or `wildcard.list`. @@ -45,37 +45,37 @@ Interface), for which you can choose between as you prefer. This list is on hold in relation to https://mypdns.org/infrastructure/workboard/-/issues/14 -| Category | description | -| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| ~AdWare, adv | All about advertising: This includes sites offering banners and banner creation as well as sites delivering banners to be shown in webpages. Advertising companies are listed, too.
Everything related with ads. It is domain that server ads and sell ads / adware | -| ~"Bait Site" | An attempt to generate a list of sites that's uses baits like youtube to harvest peoples organs | -| ~CryptoMiner / Coinblocker | bitCoin miners | -| ~"DNS Server" | A mix of unwanted DNS servers that as example harvest domains, redirects queries into malicious domains | -| ~Drugs | Sites offering drugs or explain how to make drugs (legal and non legal). Covers tabacco as well as viagra and similar substances. | -| ~Gambling | Sites offering the possibility to win money. Poker, Casino, Bingo and other chance games as well as betting sites. Differs from -> hobby/games in the aspect of winning or loosing money or being lured to do so. | -| IP::BlackListing / IP Network blocking | A bit special category as it is in reverse. An IP/CIDR in notation is `in.arpa.` format where 24.0.2.0.192.rpz-x < Reason > | -| ~Malicious / malware | [malicious](https://mypdns.org/MypDNS/support/-/wikis/malicious) domain-ip- urls hosting malicious software, scripts, code etc. | -| ~Movies / streaming | Sites offering cinema programs, information about movies and actors. Sites for downloading video clips/movies (as long it is legal) are included as well. | -| ~News | Fake- + News Rather self explained, the biggest challenge is the BIAS of those who ads records to this cat. | -| ~Phishing | See [phishing](https://mypdns.org/MypDNS/support/-/wikis/phishing) | -| ~Pirated Domains / Sharked | Domains that is held hostage to be sold at overprices | -| ~Politics | Sites of political parties, political organisations and associations; sites with political discussions. | -| Pornography (Adult 18+) (porno-sites) | ~"NSFW::Gore" / ~"NSFW::Porn" / ~"NSFW::Snuff" / ~"NSFW::Strict" Sites about all kinds of sexual content ranging from bare bosoms to hardcore porn and sm. [Porn Records](https://mypdns.org/my-privacy-dns/matrix/-/blob/master/source/porn_filters/README.md) | -| ~Redirector / Url Shortener | Sites that actively help to bypass url filters by accepting urls via web form and play a proxying and redirecting role.

Domains that can be used to shorten long URLs. The original (long) URL will be accessed after the the short URL has been requested from the shortener. This distinguishes this category from redirector where the orginal URL is never accessed directly. | -| ~Religion | Sites with religious content: all kind of churches, sects, religious interpretations and so on. | -| ~Scamming | [scamming](https://mypdns.org/MypDNS/support/-/wikis/scamming) | -| ~Spyware | Sites that tries to actively try to install software (or lure the user in doing so) in order to spy the surfig behaviour (or worse). This category includes trojan and phishing sites. The homecalling site where the collecting information is sent are listed, too. | -| ~Suspected | Domains and URL's that looks suspicious and on a watch list. False Positives should be espected. Greylisted / testing the effect off blacklisting | -| ~Tracking domains | Site keeping an eye on where you surf and what you do in a passive. Covers web bugs, counters and other tracking mechanism in web pages that do not interfere with the local computer yet collecting information about the surfing person for later analyis. Sites actively spying out the surfer by installing software or calling home sites are not covered with tracker but with -> spyware. | -| ~Typo_Squatting | [typosquatting](https://mypdns.org/MypDNS/support/-/wikis/typosquatting) | -| ~Weapons | Sites offering all kinds of weapons or accessories for weapons: Firearms, knifes, swords, bows,... . Armory shops are included as well as sites holding general information about arms (manufacturing, usage). | -| ~WhiteList | [whitelist](https://mypdns.org/MypDNS/support/-/wikis/whitelist) | +| Category | description | +|----------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| ~AdWare, adv | All about advertising: This includes sites offering banners and banner creation as well as sites delivering banners to be shown in webpages. Advertising companies are listed, too.
Everything related with ads. It is domain that server ads and sell ads / adware | +| ~"Bait Site" | An attempt to generate a list of sites that's uses baits like youtube to harvest peoples organs | +| ~CryptoMiner / Coinblocker | bitCoin miners | +| ~"DNS Server" | A mix of unwanted DNS servers that as example harvest domains, redirects queries into malicious domains | +| ~Drugs | Sites offering drugs or explain how to make drugs (legal and non legal). Covers tobacco as well as viagra and similar substances. | +| ~Gambling | Sites offering the possibility to win money. Poker, Casino, Bingo and other chance games as well as betting sites. Differs from -> hobby/games in the aspect of winning or loosing money or being lured to do so. | +| IP::BlackListing / IP Network blocking | A bit special category as it is in reverse. An IP/CIDR in notation is `in.arpa.` format where 24.0.2.0.192.rpz-x < Reason > | +| ~Malicious / malware | [malicious](https://mypdns.org/MypDNS/support/-/wikis/malicious) domain-ip- urls hosting malicious software, scripts, code etc. | +| ~Movies / streaming | Sites offering cinema programs, information about movies and actors. Sites for downloading video clips/movies (as long it is legal) are included as well. | +| ~News | Fake- + News Rather self explained, the biggest challenge is the BIAS of those who ads records to this cat. | +| ~Phishing | See [phishing](https://mypdns.org/MypDNS/support/-/wikis/phishing) | +| ~Pirated Domains / Sharked | Domains that is held hostage to be sold at overprices | +| ~Politics | Sites of political parties, political organisations and associations; sites with political discussions. | +| Pornography (Adult 18+) (porno-sites) | ~"NSFW::Gore" / ~"NSFW::Porn" / ~"NSFW::Snuff" / ~"NSFW::Strict" Sites about all kinds of sexual content ranging from bare bosoms to hardcore porn and sm. [Porn Records](https://mypdns.org/my-privacy-dns/matrix/-/blob/master/source/porn_filters/README.md) | +| ~Redirector / Url Shortener | Sites that actively help to bypass url filters by accepting urls via web form and play a proxying and redirecting role.

Domains that can be used to shorten long URLs. The original (long) URL will be accessed after the the short URL has been requested from the shortener. This distinguishes this category from redirector where the original URL is never accessed directly. | +| ~Religion | Sites with religious content: all kind of churches, sects, religious interpretations and so on. | +| ~Scamming | [scamming](https://mypdns.org/MypDNS/support/-/wikis/scamming) | +| ~Spyware | Sites that tries to actively try to install software (or lure the user in doing so) in order to spy the surfing behaviour (or worse). This category includes trojan and phishing sites. The homecalling site where the collecting information is sent are listed, too. | +| ~Suspected | Domains and URLs that looks suspicious and on a watch list. False Positives should be expected. Grey-listed / testing the effect off blacklisting | +| ~Tracking domains | Site keeping an eye on where you surf and what you do in a passive. Covers web bugs, counters and other tracking mechanism in web pages that do not interfere with the local computer yet collecting information about the surfing person for later analysis. Sites actively spying out the surfer by installing software or calling home sites are not covered with tracker but with -> spyware. | +| ~Typo_Squatting | [typosquatting](https://mypdns.org/MypDNS/support/-/wikis/typosquatting) | +| ~Weapons | Sites offering all kinds of weapons or accessories for weapons: Firearms, knifes, swords, bows,... . Armory shops are included as well as sites holding general information about arms (manufacturing, usage). | +| ~WhiteList | [whitelist](https://mypdns.org/MypDNS/support/-/wikis/whitelist) | ## Issue templates Quick links You can use the following quick links to generate issues within matrix |

Category

|

Raw url code

| -| :------------------------------------------------------------------------------------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------- | +|:---------------------------------------------------------------------------------------------------------------------------------------------------------|:----------------------------------------------------------------------------------------------| | [AdWare][AdWare] | `https://mypdns.org/my-privacy-dns/matrix/-/issues/new?issuable_template=AdWare` | | Bait sites | | | [Crypto Miners][CryptoMiners] | `https://mypdns.org/my-privacy-dns/matrix/-/issues/new?issuable_template=CryptoMiner` | @@ -89,7 +89,7 @@ You can use the following quick links to generate issues within matrix | [Phishing][Phishing] | `https://mypdns.org/my-privacy-dns/matrix/-/issues/new?issuable_template=Phishing` | | [Pirated Domain][PiratedDomain] | `https://mypdns.org/my-privacy-dns/matrix/-/issues/new?issuable_template=Pirated%20Domain` | | Politics | | -| [Redirecting][Redirecting] (urlshortener) | `https://mypdns.org/my-privacy-dns/matrix/-/issues/new?issuable_template=Redirecting` | +| [Redirecting][Redirecting] (uri shortener) | `https://mypdns.org/my-privacy-dns/matrix/-/issues/new?issuable_template=Redirecting` | | Religion | | | [Removal][Removal] Read the F.A.Q. *BEFORE* you proceed! | `https://mypdns.org/my-privacy-dns/matrix/-/issues/new?issuable_template=Removal` | | [Scamming][Scamming] *Upcoming* (In development) | `https://mypdns.org/my-privacy-dns/matrix/-/issues/new?issuable_template=Scamming` | @@ -104,8 +104,7 @@ You can use the following quick links to generate issues within matrix | | | |

Special Templates

| | | [-aa][Bulk-commits]
A fast bulk template modified constantly to match a specific case | `https://mypdns.org/my-privacy-dns/matrix/-/issues/new?issuable_template=-aa` | -| [@felippesantos][Bulk-commits]
A Template to match @felippesantos (@felippesantos46) many adware commits from [EasyList][EasyList] | `https://mypdns.org/my-privacy-dns/matrix/-/issues/new?issuable_template=@felippesantos` | -| [getadmiral][]
A Template to ensuring the needed data while committing [getadmiral].com treats to make them connected and optimize the rekation data | `https://mypdns.org/my-privacy-dns/matrix/-/issues/new?issuable_template=getadmiral` | +| [getadmiral][]
A Template to ensuring the needed data while committing [getadmiral].com treats to make them connected and optimize the reaction data | `https://mypdns.org/my-privacy-dns/matrix/-/issues/new?issuable_template=getadmiral` | # Whitelist This list has its own life, as it's a very, very tricky one to @@ -114,7 +113,7 @@ maintain. The reason for that is, it has to balance between what is going on with a domain that, for several reasons, might be blacklisted on some lists but not on others. It can also be that a domain in general is 99,9% -right, but because of it's nature of user based submissions, could do a +right, but because of its nature of user based submissions, could do a lot of evil. Ex. Github.com @@ -129,8 +128,8 @@ our list. # Bulk commits Bulk commits will only be tolerated, if done by a @developer of the repository, does it and **_ONLY_** if and when the source is commonly -trusted **_and_** if the amount of domains can justify it will be way to -time consuming to open a issue for each domains changed in the targeted +trusted **_and_** if the amount of domains can justify it will be way too +time consuming to open an issue for each domain changed in the targeted lists. **note**: This rule shall always be a copy of the common @@ -151,7 +150,7 @@ already for leaking privacy to third party. **A**: -1) It's up to individual users (i.e you) to create and maintain their own +1) It's up to individual users (i.e. you) to create and maintain their own whitelist. 2) By whitelisting bad domain X because website Y uses bad domain X, @@ -159,8 +158,8 @@ already for leaking privacy to third party. domain X. 3) Through this repository's issue board, we're trying our best to give - people the right information for them to decide whether or not they - should allow access to some domains, despite them being marked as bad." + people the right information for them to decide whether they + should allow access to some domains, despite them being marked as bad. **Q**: Your issue has been recognized as spam and has been discarded. diff --git a/adult.sh b/adult.sh deleted file mode 100755 index d38c7128eff..00000000000 --- a/adult.sh +++ /dev/null @@ -1,259 +0,0 @@ -#!/usr/bin/env bash - -# Copyright: https://mypdns.org/ -# Content: @spirillen https://mypdns.org/spirillen -# Source: https://mypdns.org/groups/import-external-sources/pornhosts -# License: https://mypdns.org/mypdns/support/-/wikis/License -# License Comment: GNU AGPLv3, MODIFIED FOR NON COMMERCIAL USE -# -# License in short: -# You are free to copy and distribute this file for non-commercial uses, -# as long the original URL and attribution is included. -# -# Please forward any additions, corrections or comments by logging an -# issue at https://mypdns.org/mypdns/support/-/issues - -set -e #-x - -## Set script root dir -pushd . > /dev/null -SCRIPT_PATH="${BASH_SOURCE[0]}"; -if ([ -h "${SCRIPT_PATH}" ]) then - while([ -h "${SCRIPT_PATH}" ]) do cd $(dirname "$SCRIPT_PATH"); SCRIPT_PATH=$(readlink "${SCRIPT_PATH}"); done -fi -cd $(dirname "${SCRIPT_PATH}".) > /dev/null -SCRIPT_PATH=$(pwd); -popd > /dev/null - -ROOT_DIR="$(dirname "$SCRIPT_PATH")" - -# Do we have pdnsutil installed on this machine? -hash pdnsutil 2>/dev/null || { echo >&2 "pdnsutil Is required, but it's not installed. Aborting..."; exit 1; } - -# This Script is only to commit wildcard domains into porn list -# Next release will contain hosts style submissions - -printf "\nNext porno domain issues\n\n" - -grep -ivE '[a-z0-9]+\.[a-z]+\.[a-z]+' "./tmp/rpz.missing" | head -n 1 - -printf "\n" - -read -e -r -p "Enter domain to handle as 'domain.tld': " \ - -i "$(grep -ivE '[a-z0-9]+\.[a-z]+\.[a-z]+' './tmp/rpz.missing' | head -n 1)" \ - domain - -# Request for the needs of www. for primary domain -while true -do -read -r -p "Append WWW to ${domain} [Y/n] " www - -case $www in - [yY][eE][sS]|[yY]) - _www="true" - break - ;; - [nN][oO]|[nN]) - _www="false" - break - ;; - *) - echo "Invalid input..." - ;; - esac -done - -read -rp "Enter Pornhost Issue ID: " issue -read -rp "Enter MyPdns.org Phabricator ID: " mypdns_id - -# Setup some general functions and variables -_branch_name="submit/${domain//\./_}" - -git_commit () { -git checkout master -git push origin "$_branch_name" -} - -git_commit_mypdns () { - git checkout "${base}" - git merge --no-ff "${_branch_name}" - git push origin "${base}" - git push origin "${_branch_name}" - git branch -D "${_branch_name}" -} - -ScreenShot () { - git checkout "${base}" - $(command -v firefox) -CreateProfile CleanFF --headless - $(command -v firefox) -P "CleanFF" --headless --screenshot "$_IP/screenshots/$domain.png" "http://$domain/" - git add "screenshots/$domain.png" - git commit -m "ScreenShot for $domain" - git push -} - -json () { - -body="$(echo "${template}" | awk '{printf "%s\\r\\n", $0}')" - -cat < output.json -{ -"title": "${domain}", -"head": "${_branch_name}", -"base": "${base}", -"body": "$body" -} -EOF - -commit_msg="$(jq -c '.' output.json)" -} - -PullRequest () { - json - apiurl=$(git remote get-url origin | sed -e 's/\.git//g' | awk -F ":" '{ printf ("%s\n",tolower($2)) }') - - - "${_api_token}" -} - -### - -printf "Changing branch to %s\n" "$_branch_name" -git checkout -b "submit/$_branch_name" master - -printf "\nAdding domain: %s\n" "$domain" -printf "%s\n" >> "source/porno-sites/wildcard.list" "$domain" - -printf "\nGit commit %s\nwith Pornhost issue ID: %s\n" "$domain" "$issue" - -printf "\nGit commit $domain\n MypDNS Bug: T%s\n" "$mypdns_id" - -# https://askubuntu.com/questions/29215/how-can-i-read-user-input-as-an-array-in-bash/29582#29582 -additional=() -while IFS= read -r -p "Additional requirements for hosts (end with an empty line): " line; do - [[ $line ]] || break # break if line is empty - additional+=("$line") -done - -#printf "\nsed $domain\n" -sed -i "/${domain}/d" "./tmp/t2.list" -sed -i "/${domain}/d" "./tmp/67.list" -sed -i "/${domain}/d" "./tmp/rpz.missing" -sed -i "/${domain}/d" "./tmp/rpz.missing.bak" -sed -i "/${domain}/d" "./source/porno-sites/wildcard.list.old" - -if [ -z "${mypdns_id}" ] -then -git commit -am "Adding new porno domain \`${domain}\` - -Related issue: https://github.com/spirillen/pornhosts/issues/${issue} - -You can read more about this particular Porn blocking project at -https://mypdns.org/project/view/10/ - -If you would like to learn more about how to use the RPZ powered DNS -Firewall with our zone files, you can read more about it here -https://mypdns.org/w/rpz - -You can read about about our different zones here -https://mypdns.org/w/rpzList" -else -git commit -am "Adding new porno domain \`${domain}\` - -Closes T${mypdns_id} https://mypdns.org/T${mypdns_id} - -Related issue: https://github.com/spirillen/pornhosts/issues/${issue} - -You can read more about this particular Porn blocking project at -https://mypdns.org/project/view/10/ - -If you would like to learn more about how to use the RPZ powered DNS -Firewall with our zone files, you can read more about it here -https://mypdns.org/w/rpz - -You can read about about our different zones here -https://mypdns.org/w/rpzList" -fi - -git_commit_mypdns - -# Following code will only succeed if you have admin access to our DNS -# Servers at https://mypdns.org/ -# Everybody else needs to out comment the following lines -printf "\nAdding %s to our RPZ\n" "$domain" -pdnsutil add-record "adult.mypdns.cloud" "${domain}" CNAME 86400 . -pdnsutil add-record "adult.mypdns.cloud" "*.${domain}" CNAME 86400 . - -printf "\nIncreasing serial of our RPZ\n" -pdnsutil increase-serial 'adult.mypdns.cloud' - -# Let's also commit to Import-External-Sources/pornhosts while are at it - -printf "\n\tStarting to commit to pornhosts\n\n" - -cd "../../../github/pornhosts/" - -# Change branch -git checkout -b "submit/$_branch_name" master - -# Adding primary domain -printf "%s\n" >> "submit_here/hosts.txt" "$domain" - -# Are we going to submit the domain with or without _www.domain? -if [ ${_www} == "true" ] -then -printf "www.%s\n" >> "submit_here/hosts.txt" "$domain" -fi - -# Append hosts file specific requirements -if [ -n "${additional[1]}" ] -then - printf '%s\n' "Appending additional hosts requirements:" - printf '%s\n' "${additional[@]}" -fi - - -if [ -z "${mypdns_id}" ] -then -git commit -am "Adding new porno domain \`${domain}\` - -Closes https://github.com/Import-External-Sources/pornhosts/issues/${issue} - -You can read more about this particular Porn blocking project at -https://mypdns.org/project/view/10/ - -If you would like to learn more about how to use the RPZ powered DNS -Firewall with our zone files, you can read more about it here -https://mypdns.org/w/rpz - -You can read about about our different zones here -https://mypdns.org/w/rpzList" - -else - -git commit -am "Adding new porno domain \`${domain}\` - -Closes https://github.com/Import-External-Sources/pornhosts/issues/${issue} - -Related issue: https://mypdns.org/T${mypdns_id} - -You can read more about this particular Porn blocking project at -https://mypdns.org/project/view/10/ - -If you would like to learn more about how to use the RPZ powered DNS -Firewall with our zone files, you can read more about it here -https://mypdns.org/w/rpz - -You can read about about our different zones here -https://mypdns.org/w/rpzList" -fi - -git_commit - -# Get back to script path (matrix) -cd "${ROOT_DIR}" - - -#grep -iE '[a-z0-9]+\.[a-z]+\.[a-z]+' source/porno-sites/wildcard.list | grep -viE '(co.(uk|jp|za))|(com.(au|br))$' - -# Let's start over. -./adult.sh diff --git a/docs/index.html b/docs/index.html index e9b83cd6709..1c6cbe58d1a 100755 --- a/docs/index.html +++ b/docs/index.html @@ -1,5 +1,5 @@ - + diff --git a/requirements.txt b/requirements.txt index 5517dff53ed..71b8f0094b1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -pyfunceble>=4.0.1 +pyfunceble>=4.2.0a1 ultimate-hosts-blacklist-whitelist wheel mypdns diff --git a/safesearch/README.md b/safesearch/README.md index 20a973dbd10..2807e20f533 100644 --- a/safesearch/README.md +++ b/safesearch/README.md @@ -10,6 +10,7 @@ for this. ### Dnsdist For example in PowerDns Dnsdist you will do it like this: + ```lua addAction('duckduckgo.com.', SpoofCNAMEAction('safe.duckduckgo.com.')) ``` diff --git a/scripts/shadowwhisperer.sh b/scripts/shadowwhisperer.sh index b5b4a69a24a..5c2482e96b4 100644 --- a/scripts/shadowwhisperer.sh +++ b/scripts/shadowwhisperer.sh @@ -4,10 +4,11 @@ REPO_DIR="/home/$USER/Downloads/git_projects/my_privacy_dns/matrix" -GIT_DIR="$(git rev-parse --show-toplevel)" +#GIT_DIR="$(git rev-parse --show-toplevel)" if [ -d "$REPO_DIR" ]; then - cd "$REPO_DIR" + # shellcheck disable=SC2164 + cd "$REPO_DIR" || exit git pull --rebase origin master wget -O source/porn_filters/imported/adult.ShadowWhisperer https://raw.githubusercontent.com/ShadowWhisperer/BlockLists/master/RAW/Adult git commit -am "Updated ShadowWhisperer Adult list" diff --git a/scripts/test1.sh b/scripts/test1.sh index 49cc9969841..907044a5b37 100644 --- a/scripts/test1.sh +++ b/scripts/test1.sh @@ -3,18 +3,18 @@ # Exit on any errors set -e -find $CI_PROJECT_DIR/source/ -type f -name '*.list' -exec bash -c "sort -i -u \ +find "$CI_PROJECT_DIR/source/" -type f -name '*.list' -exec bash -c "sort -i -u \ -f '{}' -o '{}' " \; # Combine domain and wildcard domains for external usages -cd $CI_PROJECT_DIR/ +cd "$CI_PROJECT_DIR/" -find $CI_PROJECT_DIR/source/ -type f -name 'combined.txt' -delete +find "$CI_PROJECT_DIR/source/" -type f -name 'combined.txt' -delete -for d in `find source/ -mindepth 1 -maxdepth 1 -type d` +for d in $(find source/ -exec -mindepth 1 -maxdepth 1 -type d \;) do - cat ${d[@]}/*.list > ${d[@]}/combined.txt + cat "${d[*]}"/*.list > "${d[*]}"/combined.txt done exit ${?} diff --git a/scripts/update_active_lists.sh b/scripts/update_active_lists.sh index 19895f4d552..4c1e8d4c3c8 100644 --- a/scripts/update_active_lists.sh +++ b/scripts/update_active_lists.sh @@ -8,12 +8,12 @@ ROOT_DIR="$(git rev-parse --show-toplevel)" truncate -s 0 "$ROOT_DIR/source/source.list" -cd "$ROOT_DIR" +cd "$ROOT_DIR" || exit -for lists in `find source/ -type f -name "*.list"` +for lists in $(find source/ -type f -name "*.list") do - printf "https://raw.githubusercontent.com/mypdns/matrix/master/source/$lists\n" | sort -u >> "$ROOT_DIR/source/source.list" - printf "$CI_PROJECT_URL/-/raw/master/$lists\n" | sort -u >> "$ROOT_DIR/source/source.list" + printf "https://raw.githubusercontent.com/mypdns/matrix/master/source/%S\n" "$lists" | sort -u >> "$ROOT_DIR/source/source.list" + printf "%s/-/raw/master/%s\n" "$CI_PROJECT_URL" "$lists" | sort -u >> "$ROOT_DIR/source/source.list" done -ls -lh $ROOT_DIR/source/ +ls -lh "$ROOT_DIR/source/" diff --git a/scripts/write_rpz.sh b/scripts/write_rpz.sh index 5a7a0316cc4..b39caaea220 100755 --- a/scripts/write_rpz.sh +++ b/scripts/write_rpz.sh @@ -5,6 +5,6 @@ # Then run this script to output lines for powerdns while IFS= read -r line; do - printf "pdnsutil add-record rpz.mypdns.cloud '$line' CNAME 345600 .\n" - printf "pdnsutil add-record rpz.mypdns.cloud '*.$line' CNAME 345600 .\n" + printf "pdnsutil add-record rpz.mypdns.cloud '%S' CNAME 345600 .\n" "$line" + printf "pdnsutil add-record rpz.mypdns.cloud '*.%s' CNAME 345600 .\n" "$line" done < "$1"