Skip to content

Commit

Permalink
Adding script to create everything list
Browse files Browse the repository at this point in the history
  • Loading branch information
fishcharlie committed Jun 28, 2021
1 parent b8ac771 commit 787cb20
Show file tree
Hide file tree
Showing 2 changed files with 67 additions and 0 deletions.
1 change: 1 addition & 0 deletions .github/workflows/run-automations.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ jobs:
uses: actions/setup-node@v1
with:
node-version: 15.x
- run: node scripts/create-everything-list.js
- run: node scripts/remove-duplicates.js
- run: node scripts/generate-noip.js
- run: node scripts/generate-dnsmasq.js
Expand Down
66 changes: 66 additions & 0 deletions scripts/create-everything-list.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
const fs = require("fs").promises;
const path = require("path");

const listsToIncludeInEverythingList = [
"abuse",
"ads",
"crypto",
"drugs",
"facebook",
"fraud",
"gambling",
"malware",
"phishing",
"piracy",
"porn",
"ransomware",
"redirect",
"scam",
"tiktok",
"torrent",
"tracking",

// The following lists are in beta and therefore not included in the everything list:

// "smart-tv",
// "basic",
// "whatsapp"
];

(async () => {
const files = (await fs.readdir(path.join(__dirname, ".."))).filter((file) => file.endsWith(".txt")).filter((file) => listsToIncludeInEverythingList.some((val) => file.startsWith(val))); // Array of strings, each representing a single file that ends in `.txt`

const domains = new Set();

await Promise.all(files.map(async (file) => { // For each file

const fileContents = await fs.readFile(path.join(__dirname, "..", file), "utf8"); // Get file contents as a string

fileContents.split("\n").forEach((line) => {
if (line.startsWith("0.0.0.0 ")) {
domains.add(line.replace("0.0.0.0 ", ""));
}
});
}));

let everythingListContent =
`#------------------------------------[UPDATE]--------------------------------------
# Title: The Block List Project - Everything List
# Expires: 1 day
# Homepage: https://blocklist.site
# Help: https://github.com/blocklistproject/lists/wiki/
# License: https://unlicense.org
# Total number of network filters:
#------------------------------------[SUPPORT]-------------------------------------
# You can support by:
# - reporting false positives
# - making a donation: https://paypal.me/blocklistproject
#-------------------------------------[INFO]---------------------------------------
#
# Everything list
#------------------------------------[FILTERS]-------------------------------------
`;
domains.forEach((val) => everythingListContent += `0.0.0.0 ${val}\n`);

await fs.writeFile(path.join(__dirname, "..", "everything.txt"), everythingListContent, "utf8");
})();

0 comments on commit 787cb20

Please sign in to comment.