From eb0145adacf0d2cb7cf9583ab2e7feff1b9dbf5f Mon Sep 17 00:00:00 2001 From: hawkeye116477 Date: Sun, 14 Nov 2021 14:05:18 +0100 Subject: [PATCH] Add new Filters Heroes filter lists and software --- services/Directory/data/Dependent.json | 4 ++ services/Directory/data/FilterList.json | 20 ++++++ .../Directory/data/FilterListLanguage.json | 4 ++ .../Directory/data/FilterListMaintainer.json | 8 +++ services/Directory/data/FilterListSyntax.json | 8 +++ services/Directory/data/FilterListTag.json | 8 +++ .../Directory/data/FilterListViewUrl.json | 60 ++++++++++++++++++ services/Directory/data/Software.json | 8 +++ services/Directory/data/SoftwareSyntax.json | 4 ++ services/Directory/data/Syntax.json | 5 ++ .../components/softwareCloud/SoftwareIcon.tsx | 2 + .../imgs/47-PolishCookieConsent.png | Bin 0 -> 12418 bytes .../components/softwareCloud/imgs/index.ts | 2 + 13 files changed, 133 insertions(+) create mode 100644 web/src/components/softwareCloud/imgs/47-PolishCookieConsent.png diff --git a/services/Directory/data/Dependent.json b/services/Directory/data/Dependent.json index b26ee0cc8..2d594145b 100644 --- a/services/Directory/data/Dependent.json +++ b/services/Directory/data/Dependent.json @@ -30,5 +30,9 @@ { "dependencyFilterListId": 2439, "dependentFilterListId": 2442 + }, + { + "dependencyFilterListId": 224, + "dependentFilterListId": 2564 } ] diff --git a/services/Directory/data/FilterList.json b/services/Directory/data/FilterList.json index 5605ffa97..14348d599 100644 --- a/services/Directory/data/FilterList.json +++ b/services/Directory/data/FilterList.json @@ -17156,5 +17156,25 @@ "id": 2563, "licenseId": 2, "name": "Android Security Hosts (Domains)" + }, + { + "description": "Filters that accept cookies/GDPR/privacy policy on Polish websites.", + "homeUrl": "https://github.com/FiltersHeroes/PCCassets", + "id": 2564, + "issuesUrl": "https://github.com/FiltersHeroes/PCCassets/issues", + "licenseId": 33, + "name": "Polish Cookie Database", + "forumUrl": "https://www.reddit.com/r/PolishCookieConsent", + "emailAddress": "contact-project+filtersheroes-pccassets-30920945-issue-@incoming.gitlab.com" + }, + { + "description": "Filters that accept cookies/GDPR/privacy policy on European websites (based on I don't care about cookies).", + "homeUrl": "https://github.com/FiltersHeroes/PCCassets", + "id": 2565, + "issuesUrl": "https://github.com/FiltersHeroes/PCCassets/issues", + "licenseId": 4, + "name": "European Cookie Database", + "forumUrl": "https://www.reddit.com/r/PolishCookieConsent", + "emailAddress": "contact-project+filtersheroes-pccassets-30920945-issue-@incoming.gitlab.com" } ] diff --git a/services/Directory/data/FilterListLanguage.json b/services/Directory/data/FilterListLanguage.json index 8dcb219ac..c2fc84f16 100644 --- a/services/Directory/data/FilterListLanguage.json +++ b/services/Directory/data/FilterListLanguage.json @@ -3738,5 +3738,9 @@ { "filterListId": 2561, "iso6391": "tr" + }, + { + "filterListId": 2564, + "iso6391": "pl" } ] diff --git a/services/Directory/data/FilterListMaintainer.json b/services/Directory/data/FilterListMaintainer.json index 17a8e4ee5..f717e2ada 100644 --- a/services/Directory/data/FilterListMaintainer.json +++ b/services/Directory/data/FilterListMaintainer.json @@ -5754,5 +5754,13 @@ { "filterListId": 2556, "maintainerId": 165 + }, + { + "filterListId": 2564, + "maintainerId": 34 + }, + { + "filterListId": 2565, + "maintainerId": 34 } ] diff --git a/services/Directory/data/FilterListSyntax.json b/services/Directory/data/FilterListSyntax.json index 11824eaaf..9db5984bd 100644 --- a/services/Directory/data/FilterListSyntax.json +++ b/services/Directory/data/FilterListSyntax.json @@ -8650,5 +8650,13 @@ { "filterListId": 2563, "syntaxId": 2 + }, + { + "filterListId": 2564, + "syntaxId": 56 + }, + { + "filterListId": 2565, + "syntaxId": 56 } ] diff --git a/services/Directory/data/FilterListTag.json b/services/Directory/data/FilterListTag.json index c9b8d482b..30c309f4c 100644 --- a/services/Directory/data/FilterListTag.json +++ b/services/Directory/data/FilterListTag.json @@ -12610,5 +12610,13 @@ { "filterListId": 2563, "tagId": 15 + }, + { + "filterListId": 2564, + "tagId": 8 + }, + { + "filterListId": 2565, + "tagId": 8 } ] diff --git a/services/Directory/data/FilterListViewUrl.json b/services/Directory/data/FilterListViewUrl.json index e54e7c825..7cb1b0919 100644 --- a/services/Directory/data/FilterListViewUrl.json +++ b/services/Directory/data/FilterListViewUrl.json @@ -15915,5 +15915,65 @@ "id": 2787, "primariness": 3, "url": "https://codeberg.org/rusty-snake/firefox-config/src/branch/main/assets/uBlockOrigin:queryprune.txt" + }, + { + "filterListId": 2564, + "id": 2788, + "primariness": 1, + "url": "https://raw.githubusercontent.com/FiltersHeroes/PCCassets/main/plCDB.txt" + }, + { + "filterListId": 2564, + "id": 2789, + "primariness": 2, + "url": "https://cdn.jsdelivr.net/gh/FiltersHeroes/PCCassets@main/plCDB.txt" + }, + { + "filterListId": 2564, + "id": 2790, + "primariness": 3, + "url": "https://combinatronics.io/FiltersHeroes/PCCassets/main/plCDB.txt" + }, + { + "filterListId": 2564, + "id": 2791, + "primariness": 4, + "url": "https://cdn.statically.io/gh/FiltersHeroes/PCCassets/main/plCDB.txt" + }, + { + "filterListId": 2564, + "id": 2792, + "primariness": 5, + "url": "https://filtersheroes.gitlab.io/AssetsMirror/plCDB.txt" + }, + { + "filterListId": 2565, + "id": 2793, + "primariness": 1, + "url": "https://raw.githubusercontent.com/FiltersHeroes/PCCassets/main/euCDB.txt" + }, + { + "filterListId": 2565, + "id": 2794, + "primariness": 2, + "url": "https://cdn.jsdelivr.net/gh/FiltersHeroes/PCCassets@main/euCDB.txt" + }, + { + "filterListId": 2565, + "id": 2795, + "primariness": 3, + "url": "https://combinatronics.io/FiltersHeroes/PCCassets/main/euCDB.txt" + }, + { + "filterListId": 2565, + "id": 2796, + "primariness": 4, + "url": "https://cdn.statically.io/gh/FiltersHeroes/PCCassets/main/euCDB.txt" + }, + { + "filterListId": 2565, + "id": 2797, + "primariness": 5, + "url": "https://filtersheroes.gitlab.io/AssetsMirror/euCDB.txt" } ] diff --git a/services/Directory/data/Software.json b/services/Directory/data/Software.json index f365c83d6..2366b384a 100644 --- a/services/Directory/data/Software.json +++ b/services/Directory/data/Software.json @@ -286,5 +286,13 @@ "id": 46, "name": "Vivaldi's Privacy settings", "supportsAbpUrlScheme": true + }, + { + "downloadUrl": "https://github.com/FiltersHeroes/PolishCookieConsent/#how-to-install-it", + "homeUrl": "https://github.com/FiltersHeroes/PolishCookieConsent", + "description": "Automatically accepts cookie policy/GDPR on websites.", + "id": 47, + "name": "Polish Cookie Consent", + "supportsAbpUrlScheme": false } ] diff --git a/services/Directory/data/SoftwareSyntax.json b/services/Directory/data/SoftwareSyntax.json index e48414aee..7ded8cdc8 100644 --- a/services/Directory/data/SoftwareSyntax.json +++ b/services/Directory/data/SoftwareSyntax.json @@ -834,5 +834,9 @@ { "softwareId": 46, "syntaxId": 48 + }, + { + "softwareId": 47, + "syntaxId": 56 } ] diff --git a/services/Directory/data/Syntax.json b/services/Directory/data/Syntax.json index 75214e8d0..7ff575030 100644 --- a/services/Directory/data/Syntax.json +++ b/services/Directory/data/Syntax.json @@ -202,5 +202,10 @@ "id": 55, "name": "AdGuard Superadvanced only", "url": "https://kb.adguard.com/en/general/how-to-create-your-own-ad-filters" + }, + { + "id": 56, + "name": "Polish Cookie Consent", + "url": "https://polishannoyancefilters.netlify.app/en/PolishCookieConsent/syntax/" } ] diff --git a/web/src/components/softwareCloud/SoftwareIcon.tsx b/web/src/components/softwareCloud/SoftwareIcon.tsx index 60ce98bcf..8a4e0dfb1 100644 --- a/web/src/components/softwareCloud/SoftwareIcon.tsx +++ b/web/src/components/softwareCloud/SoftwareIcon.tsx @@ -44,6 +44,7 @@ import { img44, img45, img46, + img47, } from "./imgs"; interface Props { @@ -111,4 +112,5 @@ const icons: { [id: number]: Icon } = { 44: { image: img44, imageTitle: "AdGuard for Windows/macOS" }, 45: { image: img45, imageTitle: "AdGuard for Android" }, 46: { image: img46, imageTitle: "Vivaldi's Privacy settings" }, + 47: { image: img47, imageTitle: "Polish Cookie Consent" }, }; diff --git a/web/src/components/softwareCloud/imgs/47-PolishCookieConsent.png b/web/src/components/softwareCloud/imgs/47-PolishCookieConsent.png new file mode 100644 index 0000000000000000000000000000000000000000..c72cb4a8f9b7d55b89225b82d1cf0acfdfa7396e GIT binary patch literal 12418 zcmeHsbyQp5(sponDc%sEI3&0ihZL7myg&#p!L>LPFJ9b>ySr{pYUrz5m^;oRf2A&pfl|nb|uznJ7(lB?4R;TmS$-09BUPzW*fuePCk(04O){ z+*tqs9mH2x-(B0>3y5%awz74A1KoWPa3I{<)(QadUVW2gkVM;_r0}agx)pt5&=s6{ zLFjvZVjMJ)q&;}P(r_e0s#H0{=<@air~&rcVo zUp*Lc%8zTO<5qVS`+J3Zn2wwcg<1^*at4-9Zg;;rQ(swsV_E$8@<;1OyvkP6X`GD{ zWXMh>(FFl;FOR?AYeeUBrU&O2KOL?!2fUcM#vWI{pUxYJjE|uCbyoPX@ce7??e5ZK z-fZ+wH|P~C@$2+up#OT?w^7Ag6&OG#p+^f0t7us(~LL{PxP=Bax4)∋NV{Q&95??hX8PSJZ|HN^g40kvK9C?-i5y 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