mirror of
https://github.com/Nezumi-2711/cloudflare-gateway-pihole-scripts.git
synced 2026-09-22 13:38:37 +00:00
updated logging for API calls
This commit is contained in:
@@ -7,5 +7,6 @@ const wirefilterExpression = lists.reduce((previous, current) => {
|
|||||||
return `${previous} any(dns.domains[*] in \$${current.id}) or `;
|
return `${previous} any(dns.domains[*] in \$${current.id}) or `;
|
||||||
}, "");
|
}, "");
|
||||||
|
|
||||||
|
console.log("Creating rule...");
|
||||||
// Remove the trailing ' or '
|
// Remove the trailing ' or '
|
||||||
await createZeroTrustRule(wirefilterExpression.slice(0, -4));
|
await createZeroTrustRule(wirefilterExpression.slice(0, -4));
|
||||||
|
|||||||
@@ -11,6 +11,6 @@ const cgpsRule = rules.find(({ name }) => name === "CGPS Filter Lists");
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log(`Deleting rule ${cgpsRule.name}`);
|
console.log(`Deleting rule ${cgpsRule.name}...`);
|
||||||
await deleteZeroTrustRule(cgpsRule.id);
|
await deleteZeroTrustRule(cgpsRule.id);
|
||||||
})();
|
})();
|
||||||
|
|||||||
+7
-3
@@ -118,15 +118,15 @@ await readFile(resolve(`./${blocklistFilename}`), (line, rl) => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const numberOfLists = Math.ceil(domains.length / LIST_ITEM_SIZE);
|
||||||
|
|
||||||
console.log("\n\n");
|
console.log("\n\n");
|
||||||
console.log(`Number of processed domains: ${processedDomainCount}`);
|
console.log(`Number of processed domains: ${processedDomainCount}`);
|
||||||
console.log(`Number of duplicate domains: ${duplicateDomainCount}`);
|
console.log(`Number of duplicate domains: ${duplicateDomainCount}`);
|
||||||
console.log(`Number of unnecessary domains: ${unnecessaryDomainCount}`);
|
console.log(`Number of unnecessary domains: ${unnecessaryDomainCount}`);
|
||||||
console.log(`Number of blocked domains: ${domains.length}`);
|
console.log(`Number of blocked domains: ${domains.length}`);
|
||||||
console.log(`Number of allowed domains: ${allowedDomainCount}`);
|
console.log(`Number of allowed domains: ${allowedDomainCount}`);
|
||||||
console.log(
|
console.log(`Number of lists to be created: ${numberOfLists}`);
|
||||||
`Number of lists to be created: ${Math.ceil(domains.length / LIST_ITEM_SIZE)}`
|
|
||||||
);
|
|
||||||
console.log("\n\n");
|
console.log("\n\n");
|
||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
@@ -137,6 +137,10 @@ console.log("\n\n");
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log(
|
||||||
|
`Creating ${numberOfLists} lists for ${domains.length} domains...`
|
||||||
|
);
|
||||||
|
|
||||||
if (FAST_MODE) {
|
if (FAST_MODE) {
|
||||||
await createZeroTrustListsAtOnce(domains);
|
await createZeroTrustListsAtOnce(domains);
|
||||||
return;
|
return;
|
||||||
|
|||||||
@@ -28,6 +28,8 @@ import { FAST_MODE } from "./lib/constants.js";
|
|||||||
`Got ${lists.length} lists, ${cgpsLists.length} of which are CGPS lists that will be deleted.`
|
`Got ${lists.length} lists, ${cgpsLists.length} of which are CGPS lists that will be deleted.`
|
||||||
);
|
);
|
||||||
|
|
||||||
|
console.log(`Deleting ${cgpsLists.length} lists...`);
|
||||||
|
|
||||||
if (FAST_MODE) {
|
if (FAST_MODE) {
|
||||||
await deleteZeroTrustListsAtOnce(cgpsLists);
|
await deleteZeroTrustListsAtOnce(cgpsLists);
|
||||||
return;
|
return;
|
||||||
|
|||||||
+33
-20
@@ -62,7 +62,6 @@ export const createZeroTrustListsOneByOne = async (items) => {
|
|||||||
* @param {string[]} items The domains.
|
* @param {string[]} items The domains.
|
||||||
*/
|
*/
|
||||||
export const createZeroTrustListsAtOnce = async (items) => {
|
export const createZeroTrustListsAtOnce = async (items) => {
|
||||||
const totalListNumber = Math.ceil(items.length / LIST_ITEM_SIZE);
|
|
||||||
const requests = [];
|
const requests = [];
|
||||||
|
|
||||||
for (let i = 0, listNumber = 1; i < items.length; i += LIST_ITEM_SIZE) {
|
for (let i = 0, listNumber = 1; i < items.length; i += LIST_ITEM_SIZE) {
|
||||||
@@ -77,7 +76,7 @@ export const createZeroTrustListsAtOnce = async (items) => {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
await Promise.all(requests);
|
await Promise.all(requests);
|
||||||
console.log(`Created ${totalListNumber} lists`);
|
console.log("Created lists successfully");
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error(`Error occurred while creating lists - ${err.toString()}`);
|
console.error(`Error occurred while creating lists - ${err.toString()}`);
|
||||||
}
|
}
|
||||||
@@ -125,7 +124,7 @@ export const deleteZeroTrustListsAtOnce = async (lists) => {
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
await Promise.all(requests);
|
await Promise.all(requests);
|
||||||
console.log(`Deleted ${lists.length} lists`);
|
console.log("Deleted lists successfully");
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error(`Error occurred while deleting lists - ${err.toString()}`);
|
console.error(`Error occurred while deleting lists - ${err.toString()}`);
|
||||||
}
|
}
|
||||||
@@ -147,19 +146,26 @@ export const getZeroTrustRules = () =>
|
|||||||
* @param {string} wirefilterExpression The expression to be used for the rule.
|
* @param {string} wirefilterExpression The expression to be used for the rule.
|
||||||
* @returns {Promise<Object>}
|
* @returns {Promise<Object>}
|
||||||
*/
|
*/
|
||||||
export const createZeroTrustRule = (wirefilterExpression) =>
|
export const createZeroTrustRule = async (wirefilterExpression) => {
|
||||||
requestGateway("/rules", {
|
try {
|
||||||
method: "POST",
|
await requestGateway("/rules", {
|
||||||
body: JSON.stringify({
|
method: "POST",
|
||||||
name: "CGPS Filter Lists",
|
body: JSON.stringify({
|
||||||
description:
|
name: "CGPS Filter Lists",
|
||||||
"Filter lists created by Cloudflare Gateway Pi-hole Scripts. Avoid editing this rule. Changing the name of this rule will break the script.",
|
description:
|
||||||
enabled: true,
|
"Filter lists created by Cloudflare Gateway Pi-hole Scripts. Avoid editing this rule. Changing the name of this rule will break the script.",
|
||||||
action: "block",
|
enabled: true,
|
||||||
filters: ["dns"],
|
action: "block",
|
||||||
traffic: wirefilterExpression,
|
filters: ["dns"],
|
||||||
}),
|
traffic: wirefilterExpression,
|
||||||
});
|
}),
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log("Created rule successfully");
|
||||||
|
} catch (err) {
|
||||||
|
console.error(`Error occurred while creating rule - ${err.toString()}`);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deletes a Zero Trust rule.
|
* Deletes a Zero Trust rule.
|
||||||
@@ -168,7 +174,14 @@ export const createZeroTrustRule = (wirefilterExpression) =>
|
|||||||
* @param {number} id The ID of the rule to be deleted.
|
* @param {number} id The ID of the rule to be deleted.
|
||||||
* @returns {Promise<Object>}
|
* @returns {Promise<Object>}
|
||||||
*/
|
*/
|
||||||
export const deleteZeroTrustRule = (id) =>
|
export const deleteZeroTrustRule = async (id) => {
|
||||||
requestGateway(`/rules/${id}`, {
|
try {
|
||||||
method: "DELETE",
|
await requestGateway(`/rules/${id}`, {
|
||||||
});
|
method: "DELETE",
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log("Deleted rule successfully");
|
||||||
|
} catch (err) {
|
||||||
|
console.error(`Error occurred while deleting rule - ${err.toString()}`);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user