mirror of
https://github.com/SukkaW/Surge.git
synced 2025-12-12 01:00:34 +08:00
Remove outdated/dead domains
This commit is contained in:
parent
803e503a1e
commit
fbd15df6ed
@ -4,6 +4,7 @@ import fsp from 'node:fs/promises';
|
|||||||
import { SOURCE_DIR } from './constants/dir';
|
import { SOURCE_DIR } from './constants/dir';
|
||||||
import { readFileByLine } from './lib/fetch-text-by-line';
|
import { readFileByLine } from './lib/fetch-text-by-line';
|
||||||
import { processLine } from './lib/process-line';
|
import { processLine } from './lib/process-line';
|
||||||
|
import { HostnameSmolTrie } from './lib/trie';
|
||||||
|
|
||||||
const ENFORCED_WHITELIST = [
|
const ENFORCED_WHITELIST = [
|
||||||
'hola.sk',
|
'hola.sk',
|
||||||
@ -17,7 +18,8 @@ const ENFORCED_WHITELIST = [
|
|||||||
'samsungqbe.com'
|
'samsungqbe.com'
|
||||||
];
|
];
|
||||||
|
|
||||||
const WHITELIST: string[] = ['ton.local.twitter.com', 'prod.msocdn.com', 'twemoji.maxcdn.com', 'img.urlnode.com', 'ipfsgate.com', 'googleplay.pro', 'iadmatapk.nosdn.127.net', 'hola-shopping.com', 'brdtest.co', 'mynextphone.io', 'hola.hk', 'holashop.org', 'hola.sk', 'hola.com.sg', 'c.medialytics.com', 'adstats.mgc-games.com', 'search.mgc-games.com', 'kissdoujin.com', 'newminersage.com', 'trossmining.de', 'hashncash.net', 'microsolt.ru', 'moneropool.ru', 'hashforcash.us', 'bitcoinn.biz', 'webmining.co', 'lamba.top', 'httpdns.bilivideo.com', 'httpdns-v6.gslb.yy.com', 'k-cdn.depot.dev', 'li-cdn.com'];
|
const WHITELIST: string[] = ['.us-api.samsungyosemite.com', '.api-hub.samsungyosemite.com', '.holashop.org', '.solopools.net', '.hola-shopping.com', '.100xbtc.com', '.brdtest.co', '.yelts.net', '.axepool.com', '.luxxeeu.com', '.etc-pool.com', '.alph2mine.com', 'samsungcloudsolution.com', 'samsungcloudsolution.net', 'samsungqbe.com', 'lgtvsdp.com', '.apextop.cc', '.p2p-south.xyz', '.r-pool.net', '.celcoin.io', '.gameforxe.eu', '.kipcoin.org', '.cryptonote.club', '.12level.com', '.piratenbucht.eu', '.minersmine.com', '.blockhunter.info', '.hola.com.sg', '.down.my0115.ru', '.js.my0115.ru', '.wmi.my0115.ru', '.statistic.date', '.pawpools.space', '.nimbocoin.com', '.hola.hk', '.hola.sk', '.solopools.org', '.minereasy.com', '.mynextphone.io', '.newzgames.com'];
|
||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
const files = await new Fdir()
|
const files = await new Fdir()
|
||||||
.withFullPaths()
|
.withFullPaths()
|
||||||
@ -31,7 +33,9 @@ const WHITELIST: string[] = ['ton.local.twitter.com', 'prod.msocdn.com', 'twemoj
|
|||||||
.crawl(SOURCE_DIR)
|
.crawl(SOURCE_DIR)
|
||||||
.withPromise();
|
.withPromise();
|
||||||
|
|
||||||
const whitelist = WHITELIST.filter((item) => ENFORCED_WHITELIST.every((whitelistItem) => !isDomainSuffix(whitelistItem, item)));
|
const whiteTrie = new HostnameSmolTrie(WHITELIST);
|
||||||
|
ENFORCED_WHITELIST.forEach((item) => whiteTrie.whitelist(item));
|
||||||
|
const whitelist = whiteTrie.dump();
|
||||||
|
|
||||||
await Promise.all(files.map(file => dedupeFile(file, whitelist)));
|
await Promise.all(files.map(file => dedupeFile(file, whitelist)));
|
||||||
})();
|
})();
|
||||||
@ -56,7 +60,7 @@ async function dedupeFile(file: string, whitelist: string[]) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// We can't use a trie here since we need to keep the order
|
// We can't use a trie here since we need to keep the order
|
||||||
if (whitelist.some((item) => isDomainSuffix(item, line))) {
|
if (whitelist.some((whiteItem) => isDomainSuffix(whiteItem, line))) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -67,10 +71,15 @@ async function dedupeFile(file: string, whitelist: string[]) {
|
|||||||
return fsp.writeFile(file, result.join('\n') + '\n');
|
return fsp.writeFile(file, result.join('\n') + '\n');
|
||||||
}
|
}
|
||||||
|
|
||||||
function isDomainSuffix(suffixRule: string, domain: string) {
|
function isDomainSuffix(whiteItem: string, incomingItem: string) {
|
||||||
if (suffixRule.length > domain.length + 1) {
|
const whiteIncludeDomain = whiteItem[0] === '.';
|
||||||
return false;
|
whiteItem = whiteItem[0] === '.' ? whiteItem.slice(1) : whiteItem;
|
||||||
}
|
|
||||||
|
|
||||||
return suffixRule === domain || domain.endsWith('.' + suffixRule);
|
if (whiteItem === incomingItem) {
|
||||||
|
return true; // as long as exact match, we don't care if subdomain is included or not
|
||||||
|
}
|
||||||
|
if (whiteIncludeDomain) {
|
||||||
|
return incomingItem.endsWith('.' + whiteItem);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -3090,8 +3090,6 @@ samsungqbe.com
|
|||||||
.vd.emp.prd.s3.amazonaws.com
|
.vd.emp.prd.s3.amazonaws.com
|
||||||
.syncplusconfig.s3.amazonaws.com
|
.syncplusconfig.s3.amazonaws.com
|
||||||
.coordinator-production-28516768.us-east-1.elb.amazonaws.com
|
.coordinator-production-28516768.us-east-1.elb.amazonaws.com
|
||||||
.us-api.samsungyosemite.com
|
|
||||||
.api-hub.samsungyosemite.com
|
|
||||||
.samsungads.com
|
.samsungads.com
|
||||||
samsungcloudsolution.com
|
samsungcloudsolution.com
|
||||||
.gamespromotion.samsungcloudsolution.com
|
.gamespromotion.samsungcloudsolution.com
|
||||||
@ -3110,7 +3108,6 @@ samsungcloudsolution.com
|
|||||||
.legacyportal.nettvservices.com
|
.legacyportal.nettvservices.com
|
||||||
.aic-ngfts.lge.com
|
.aic-ngfts.lge.com
|
||||||
.lgtvcommon.com
|
.lgtvcommon.com
|
||||||
lgtvsdp.com
|
|
||||||
.yumenetworks.com
|
.yumenetworks.com
|
||||||
.ibs.lgappstv.com
|
.ibs.lgappstv.com
|
||||||
.ibis.lgappstv.com
|
.ibis.lgappstv.com
|
||||||
|
|||||||
@ -120,7 +120,6 @@ nimiq.terorie.com
|
|||||||
.kippo.eu
|
.kippo.eu
|
||||||
.miningpool.eu
|
.miningpool.eu
|
||||||
.ellaism.eu
|
.ellaism.eu
|
||||||
.gameforxe.eu
|
|
||||||
.cloudhash.eu
|
.cloudhash.eu
|
||||||
.cryptocable.eu
|
.cryptocable.eu
|
||||||
.coinfaucet.eu
|
.coinfaucet.eu
|
||||||
@ -139,7 +138,6 @@ nimiq.terorie.com
|
|||||||
.xmrpool.eu
|
.xmrpool.eu
|
||||||
.multicoin.eu
|
.multicoin.eu
|
||||||
.ryopool.eu
|
.ryopool.eu
|
||||||
.piratenbucht.eu
|
|
||||||
.urbanproxy.eu
|
.urbanproxy.eu
|
||||||
.eossweden.eu
|
.eossweden.eu
|
||||||
.easymining.eu
|
.easymining.eu
|
||||||
@ -334,7 +332,6 @@ nimiq.terorie.com
|
|||||||
.10minutebitcoin.com
|
.10minutebitcoin.com
|
||||||
.10xbitcoin.com
|
.10xbitcoin.com
|
||||||
.12inv.com
|
.12inv.com
|
||||||
.12level.com
|
|
||||||
.13xbtc.com
|
.13xbtc.com
|
||||||
.14daily.com
|
.14daily.com
|
||||||
.15coin.com
|
.15coin.com
|
||||||
@ -393,7 +390,6 @@ nimiq.terorie.com
|
|||||||
.100-btc.com
|
.100-btc.com
|
||||||
.100btc.com
|
.100btc.com
|
||||||
.ikpool.com
|
.ikpool.com
|
||||||
.100xbtc.com
|
|
||||||
.poolchia.com
|
.poolchia.com
|
||||||
.120bit.com
|
.120bit.com
|
||||||
.120bitcoins.com
|
.120bitcoins.com
|
||||||
@ -477,7 +473,6 @@ nimiq.terorie.com
|
|||||||
.woolypooly.com
|
.woolypooly.com
|
||||||
.hash2mine.com
|
.hash2mine.com
|
||||||
.minecraftpool.com
|
.minecraftpool.com
|
||||||
.minereasy.com
|
|
||||||
.minerrocks.com
|
.minerrocks.com
|
||||||
.semipool.com
|
.semipool.com
|
||||||
.xminingpool.com
|
.xminingpool.com
|
||||||
@ -528,7 +523,6 @@ nimiq.terorie.com
|
|||||||
.majanetwork.com
|
.majanetwork.com
|
||||||
.mine2gether.com
|
.mine2gether.com
|
||||||
.huopool.com
|
.huopool.com
|
||||||
.alph2mine.com
|
|
||||||
.e4pool.com
|
.e4pool.com
|
||||||
.minepool.com
|
.minepool.com
|
||||||
.nimiqpool.com
|
.nimiqpool.com
|
||||||
@ -746,7 +740,6 @@ nimiq.terorie.com
|
|||||||
.awesomeminers.com
|
.awesomeminers.com
|
||||||
.awmlite.com
|
.awmlite.com
|
||||||
.awsmining.com
|
.awsmining.com
|
||||||
.axepool.com
|
|
||||||
.axerc.com
|
.axerc.com
|
||||||
.axletrade.com
|
.axletrade.com
|
||||||
.axtrades.com
|
.axtrades.com
|
||||||
@ -986,7 +979,6 @@ nimiq.terorie.com
|
|||||||
.erstweal.com
|
.erstweal.com
|
||||||
.ethashpool.com
|
.ethashpool.com
|
||||||
.pearpool.com
|
.pearpool.com
|
||||||
.etc-pool.com
|
|
||||||
.etcturk.com
|
.etcturk.com
|
||||||
.ethteam.com
|
.ethteam.com
|
||||||
.xzrm.com
|
.xzrm.com
|
||||||
@ -1009,7 +1001,6 @@ nimiq.terorie.com
|
|||||||
.kattcoin.com
|
.kattcoin.com
|
||||||
.lamby-crypto.com
|
.lamby-crypto.com
|
||||||
.nikitonium.com
|
.nikitonium.com
|
||||||
.nimbocoin.com
|
|
||||||
.pepecore.com
|
.pepecore.com
|
||||||
.pinchpool.com
|
.pinchpool.com
|
||||||
.redblockcoin.com
|
.redblockcoin.com
|
||||||
@ -1062,7 +1053,6 @@ nimiq.terorie.com
|
|||||||
.stringclass.com
|
.stringclass.com
|
||||||
.upxpool.com
|
.upxpool.com
|
||||||
.xmrminerpro.com
|
.xmrminerpro.com
|
||||||
.minersmine.com
|
|
||||||
.stakeunited.com
|
.stakeunited.com
|
||||||
.onebtcplace.com
|
.onebtcplace.com
|
||||||
.papoto.com
|
.papoto.com
|
||||||
@ -1304,7 +1294,6 @@ nimiq.terorie.com
|
|||||||
.wemine.pro
|
.wemine.pro
|
||||||
.mecrypto.club
|
.mecrypto.club
|
||||||
.poolofd32th.club
|
.poolofd32th.club
|
||||||
.cryptonote.club
|
|
||||||
.572133.club
|
.572133.club
|
||||||
.cpufan.club
|
.cpufan.club
|
||||||
.cryptopowered.club
|
.cryptopowered.club
|
||||||
@ -1549,14 +1538,12 @@ nimiq.terorie.com
|
|||||||
.imzlabs.net
|
.imzlabs.net
|
||||||
.kinohabr.net
|
.kinohabr.net
|
||||||
.kisshentai.net
|
.kisshentai.net
|
||||||
.r-pool.net
|
|
||||||
.lyncoin.net
|
.lyncoin.net
|
||||||
.minecointo.net
|
.minecointo.net
|
||||||
.ypool.net
|
.ypool.net
|
||||||
.monero-miner.net
|
.monero-miner.net
|
||||||
.mycoinwallet.net
|
.mycoinwallet.net
|
||||||
.nimiqtest.net
|
.nimiqtest.net
|
||||||
.solopools.net
|
|
||||||
.punchsub.net
|
.punchsub.net
|
||||||
.roastedvolt.net
|
.roastedvolt.net
|
||||||
.smpool.net
|
.smpool.net
|
||||||
@ -1565,7 +1552,6 @@ nimiq.terorie.com
|
|||||||
.vidfile.net
|
.vidfile.net
|
||||||
.yetimining.net
|
.yetimining.net
|
||||||
.yobit.net
|
.yobit.net
|
||||||
.yelts.net
|
|
||||||
.serverpower.net
|
.serverpower.net
|
||||||
.haqo.net
|
.haqo.net
|
||||||
.3322.net
|
.3322.net
|
||||||
@ -1574,7 +1560,6 @@ nimiq.terorie.com
|
|||||||
.eosweb.net
|
.eosweb.net
|
||||||
.eossf.net
|
.eossf.net
|
||||||
.thedimi.net
|
.thedimi.net
|
||||||
.kipcoin.org
|
|
||||||
.nanopool.org
|
.nanopool.org
|
||||||
.cryptopool.org
|
.cryptopool.org
|
||||||
.fairhash.org
|
.fairhash.org
|
||||||
@ -1786,7 +1771,6 @@ nimiq.terorie.com
|
|||||||
.notmining.org
|
.notmining.org
|
||||||
.phloxcoin.org
|
.phloxcoin.org
|
||||||
.pietpiraat.org
|
.pietpiraat.org
|
||||||
.solopools.org
|
|
||||||
.pr0gram.org
|
.pr0gram.org
|
||||||
.seedpool.org
|
.seedpool.org
|
||||||
.tpbproxyone.org
|
.tpbproxyone.org
|
||||||
@ -1929,7 +1913,6 @@ nimiq.terorie.com
|
|||||||
.elphyrecoin.xyz
|
.elphyrecoin.xyz
|
||||||
.flyhash.xyz
|
.flyhash.xyz
|
||||||
.p2p-ekb.xyz
|
.p2p-ekb.xyz
|
||||||
.p2p-south.xyz
|
|
||||||
.p2p-usa.xyz
|
.p2p-usa.xyz
|
||||||
.premiumstats.xyz
|
.premiumstats.xyz
|
||||||
.scpool.xyz
|
.scpool.xyz
|
||||||
@ -2034,7 +2017,6 @@ nimiq.terorie.com
|
|||||||
.bitminer.io
|
.bitminer.io
|
||||||
.bitnex.io
|
.bitnex.io
|
||||||
.bitnodes.io
|
.bitnodes.io
|
||||||
.celcoin.io
|
|
||||||
.hellar.io
|
.hellar.io
|
||||||
.btg.io
|
.btg.io
|
||||||
.quarkchain.io
|
.quarkchain.io
|
||||||
@ -2125,7 +2107,6 @@ nimiq.terorie.com
|
|||||||
.trustpool.cc
|
.trustpool.cc
|
||||||
.reactor.cc
|
.reactor.cc
|
||||||
.anomp.cc
|
.anomp.cc
|
||||||
.apextop.cc
|
|
||||||
.dpool.cc
|
.dpool.cc
|
||||||
.minero.cc
|
.minero.cc
|
||||||
.smartcash.cc
|
.smartcash.cc
|
||||||
@ -2177,7 +2158,6 @@ nimiq.terorie.com
|
|||||||
.quickpool.tech
|
.quickpool.tech
|
||||||
.sia.tech
|
.sia.tech
|
||||||
.freecontent.date
|
.freecontent.date
|
||||||
.statistic.date
|
|
||||||
.cryptopool.space
|
.cryptopool.space
|
||||||
.coinminer.space
|
.coinminer.space
|
||||||
.hashing.space
|
.hashing.space
|
||||||
@ -2189,7 +2169,6 @@ nimiq.terorie.com
|
|||||||
.alphaserpentis.space
|
.alphaserpentis.space
|
||||||
.electroneum.space
|
.electroneum.space
|
||||||
.infinium.space
|
.infinium.space
|
||||||
.pawpools.space
|
|
||||||
.mineradnow.space
|
.mineradnow.space
|
||||||
.ukkey3.space
|
.ukkey3.space
|
||||||
.pool.space
|
.pool.space
|
||||||
@ -2305,7 +2284,6 @@ nimiq.terorie.com
|
|||||||
.nitsche.top
|
.nitsche.top
|
||||||
.qukuai.top
|
.qukuai.top
|
||||||
.uralscoin.info
|
.uralscoin.info
|
||||||
.blockhunter.info
|
|
||||||
.vericoin.info
|
.vericoin.info
|
||||||
.0on.info
|
.0on.info
|
||||||
.bchain.info
|
.bchain.info
|
||||||
@ -3153,9 +3131,6 @@ vbk-reb0rn.ddns.net
|
|||||||
.chia.net.ru
|
.chia.net.ru
|
||||||
.coffeandcigarets.asyx.ru
|
.coffeandcigarets.asyx.ru
|
||||||
.daxuxaboqy.7ci.ru
|
.daxuxaboqy.7ci.ru
|
||||||
.down.my0115.ru
|
|
||||||
.js.my0115.ru
|
|
||||||
.wmi.my0115.ru
|
|
||||||
.eosnode.b1.ru
|
.eosnode.b1.ru
|
||||||
.f0261452.xsph.ru
|
.f0261452.xsph.ru
|
||||||
.ftp.ruisgood.ru
|
.ftp.ruisgood.ru
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user