mirror of
https://gitlab.com/SukkaW/ruleset.skk.moe.git
synced 2026-01-02 02:20:24 +00:00
deploy: 24dfc014e2b24743d23cb2fa9b6819bb9b1323c1
This commit is contained in:
@@ -10,6 +10,8 @@ const threads = isCI ? cpuCount : cpuCount / 2;
|
|||||||
/** @type Set<string> */
|
/** @type Set<string> */
|
||||||
const domainSets = new Set();
|
const domainSets = new Set();
|
||||||
|
|
||||||
|
console.time('* Download and process Hosts');
|
||||||
|
|
||||||
// Parse from remote hosts & domain lists
|
// Parse from remote hosts & domain lists
|
||||||
(await Promise.all([
|
(await Promise.all([
|
||||||
processHosts('https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext', true),
|
processHosts('https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext', true),
|
||||||
@@ -23,6 +25,8 @@ const threads = isCI ? cpuCount : cpuCount / 2;
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
console.timeEnd('* Download and process Hosts');
|
||||||
|
|
||||||
let previousSize = domainSets.size;
|
let previousSize = domainSets.size;
|
||||||
console.log(`Import ${previousSize} rules from hosts files!`);
|
console.log(`Import ${previousSize} rules from hosts files!`);
|
||||||
|
|
||||||
@@ -83,6 +87,7 @@ const threads = isCI ? cpuCount : cpuCount / 2;
|
|||||||
'storage.yandexcloud.net' // phishing list
|
'storage.yandexcloud.net' // phishing list
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
console.time('* Download and process AdBlock Filter Rules');
|
||||||
(await Promise.all([
|
(await Promise.all([
|
||||||
// Easy List
|
// Easy List
|
||||||
[
|
[
|
||||||
@@ -147,6 +152,8 @@ const threads = isCI ? cpuCount : cpuCount / 2;
|
|||||||
black.forEach(i => domainSets.add(i));
|
black.forEach(i => domainSets.add(i));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
console.timeEnd('* Download and process AdBlock Filter Rules');
|
||||||
|
|
||||||
previousSize = domainSets.size - previousSize;
|
previousSize = domainSets.size - previousSize;
|
||||||
console.log(`Import ${previousSize} rules from adguard filters!`);
|
console.log(`Import ${previousSize} rules from adguard filters!`);
|
||||||
|
|
||||||
@@ -169,7 +176,8 @@ const threads = isCI ? cpuCount : cpuCount / 2;
|
|||||||
|
|
||||||
previousSize = domainSets.size;
|
previousSize = domainSets.size;
|
||||||
// Dedupe domainSets
|
// Dedupe domainSets
|
||||||
console.log(`Start deduping! (${previousSize})`);
|
console.log(`Start deduping from black keywords/suffixes! (${previousSize})`);
|
||||||
|
console.time(`* Dedupe from black keywords/suffixes`);
|
||||||
|
|
||||||
const toBeRemoved = new Set();
|
const toBeRemoved = new Set();
|
||||||
for (const domain of domainSets) {
|
for (const domain of domainSets) {
|
||||||
@@ -209,12 +217,13 @@ const threads = isCI ? cpuCount : cpuCount / 2;
|
|||||||
domainSets.delete(removed)
|
domainSets.delete(removed)
|
||||||
});
|
});
|
||||||
|
|
||||||
// Dedupe domainSets
|
console.timeEnd(`* Dedupe from black keywords/suffixes`);
|
||||||
console.log(`Deduped ${previousSize - domainSets.size} from black keywords and suffixes!`);
|
console.log(`Deduped ${previousSize} - ${domainSets.size} = ${previousSize - domainSets.size} from black keywords and suffixes!`);
|
||||||
|
|
||||||
previousSize = domainSets.size;
|
previousSize = domainSets.size;
|
||||||
// Dedupe domainSets
|
// Dedupe domainSets
|
||||||
console.log(`Start deduping! (${previousSize})`);
|
console.log(`Start deduping! (${previousSize})`);
|
||||||
|
console.time(`* Dedupe from covered subdomain`);
|
||||||
|
|
||||||
const piscina = new Piscina({
|
const piscina = new Piscina({
|
||||||
filename: pathResolve(__dirname, 'worker/build-reject-domainset-worker.js'),
|
filename: pathResolve(__dirname, 'worker/build-reject-domainset-worker.js'),
|
||||||
@@ -253,6 +262,7 @@ const threads = isCI ? cpuCount : cpuCount / 2;
|
|||||||
})
|
})
|
||||||
});
|
});
|
||||||
|
|
||||||
|
console.timeEnd(`* Dedupe from covered subdomain`);
|
||||||
console.log(`Deduped ${previousSize - domainSets.size} rules!`);
|
console.log(`Deduped ${previousSize - domainSets.size} rules!`);
|
||||||
|
|
||||||
return fsPromises.writeFile(
|
return fsPromises.writeFile(
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ async function processHosts (hostsUrl, includeAllSubDomain = false) {
|
|||||||
* @returns {Promise<{ white: Set<string>, black: Set<string> }>}
|
* @returns {Promise<{ white: Set<string>, black: Set<string> }>}
|
||||||
*/
|
*/
|
||||||
async function processFilterRules (filterRulesUrl, fallbackUrls) {
|
async function processFilterRules (filterRulesUrl, fallbackUrls) {
|
||||||
console.time(`processFilterRules: ${filterRulesUrl}`);
|
console.time(` - processFilterRules: ${filterRulesUrl}`);
|
||||||
|
|
||||||
if (typeof filterRulesUrl === 'string') {
|
if (typeof filterRulesUrl === 'string') {
|
||||||
filterRulesUrl = new URL(filterRulesUrl);
|
filterRulesUrl = new URL(filterRulesUrl);
|
||||||
@@ -206,7 +206,7 @@ async function processFilterRules (filterRulesUrl, fallbackUrls) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
console.timeEnd(`processFilterRules: ${filterRulesUrl}`);
|
console.timeEnd(` - processFilterRules: ${filterRulesUrl}`);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
white: whitelistDomainSets,
|
white: whitelistDomainSets,
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
<main class="container">
|
<main class="container">
|
||||||
<h1>Sukka Surge Ruleset Server</h1>
|
<h1>Sukka Surge Ruleset Server</h1>
|
||||||
<p>Made by <a href="https://skk.moe">Sukka</a> | <a href="https://github.com/SukkaW/Surge/">Source @ GitHub</a> | Licensed under <a href="https://github.com/SukkaW/Surge/blob/master/LICENSE" target="_blank">AGPL-3.0</a></p>
|
<p>Made by <a href="https://skk.moe">Sukka</a> | <a href="https://github.com/SukkaW/Surge/">Source @ GitHub</a> | Licensed under <a href="https://github.com/SukkaW/Surge/blob/master/LICENSE" target="_blank">AGPL-3.0</a></p>
|
||||||
<p>Last Updated: 2022-09-22T14:49:19.968Z</p>
|
<p>Last Updated: 2022-09-22T15:03:22.565Z</p>
|
||||||
<hr>
|
<hr>
|
||||||
<br>
|
<br>
|
||||||
<ul>
|
<ul>
|
||||||
|
|||||||
Reference in New Issue
Block a user