mirror of
https://github.com/SukkaW/Surge.git
synced 2026-01-29 01:51:52 +08:00
Add CI
This commit is contained in:
@@ -2,16 +2,6 @@ const { simpleGet } = require('./util-http-get');
|
||||
const { promises: fsPromises } = require('fs');
|
||||
const { resolve: pathResolve } = require('path');
|
||||
|
||||
let cidrTools;
|
||||
|
||||
try {
|
||||
cidrTools = require('cidr-tools');
|
||||
} catch (e) {
|
||||
console.log('Dependency "cidr-tools" not found');
|
||||
console.log('"npm i cidr-tools" then try again!');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
(async () => {
|
||||
const cidr = (await simpleGet.https('raw.githubusercontent.com', 'misakaio/chnroutes2/master/chnroutes.txt')).split('\n');
|
||||
|
||||
|
||||
@@ -1,56 +0,0 @@
|
||||
const https = require('https');
|
||||
|
||||
let es;
|
||||
|
||||
try {
|
||||
es = require('event-stream');
|
||||
} catch (e) {
|
||||
console.log('Dependencies not found');
|
||||
console.log('"npm i unzip-stream event-stream csv2" then try again!');
|
||||
|
||||
console.error(e);
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
(async () => {
|
||||
const dnsmasqconfDomains = await fetchAndParseDnsmasqDomains();
|
||||
|
||||
console.log(dnsmasqconfDomains.length);
|
||||
})();
|
||||
|
||||
function fetchAndParseDnsmasqDomains() {
|
||||
const data = [];
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
const req = https.request(
|
||||
{
|
||||
hostname: 'raw.githubusercontent.com',
|
||||
path: '/felixonmars/dnsmasq-china-list/master/accelerated-domains.china.conf',
|
||||
method: 'GET',
|
||||
},
|
||||
(res) => {
|
||||
const s = res
|
||||
.pipe(es.split())
|
||||
.pipe(es.map(line => {
|
||||
s.pause();
|
||||
|
||||
const domain = line
|
||||
.replaceAll('server=/', '')
|
||||
.replaceAll('/114.114.114.114', '');
|
||||
|
||||
data.push(domain);
|
||||
|
||||
s.resume();
|
||||
}))
|
||||
.on('error', reject)
|
||||
.on('end', () => {
|
||||
resolve(data);
|
||||
});
|
||||
|
||||
res.on('error', reject);
|
||||
}
|
||||
);
|
||||
|
||||
req.end();
|
||||
})
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
const fs = require('fs');
|
||||
const { promises: fsPromises } = fs;
|
||||
const pathFn = require('path');
|
||||
let table;
|
||||
const table = require('table');
|
||||
|
||||
const PRESET_MITM_HOSTNAMES = [
|
||||
'*baidu.com',
|
||||
@@ -23,14 +23,6 @@ const PRESET_MITM_HOSTNAMES = [
|
||||
'*.prod.hosts.ooklaserver.net'
|
||||
];
|
||||
|
||||
try {
|
||||
table = require('table');
|
||||
} catch (e) {
|
||||
console.log('Dependency "table" not found');
|
||||
console.log('"npm i table" then try again!');
|
||||
process.exit(1);
|
||||
}
|
||||
|
||||
(async () => {
|
||||
const folderListPath = pathFn.resolve(__dirname, '../List/');
|
||||
const rulesets = await listDir(folderListPath);
|
||||
|
||||
@@ -1,19 +1,13 @@
|
||||
const { simpleGet } = require('./util-http-get');
|
||||
const { promises: fsPromises } = require('fs');
|
||||
const { resolve: pathResolve } = require('path');
|
||||
const { cpus } = require('os');
|
||||
|
||||
const threads = Math.max(cpus().length, 12);
|
||||
|
||||
const rIPv4 = /((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/;
|
||||
|
||||
let Piscina;
|
||||
try {
|
||||
Piscina = require('piscina');
|
||||
} catch (e) {
|
||||
console.log('Dependencies not found');
|
||||
console.log('"npm i piscina" then try again!');
|
||||
|
||||
console.error(e);
|
||||
process.exit(1);
|
||||
}
|
||||
const Piscina = require('piscina');
|
||||
|
||||
/**
|
||||
* @param {string | URL} domainListsUrl
|
||||
@@ -250,7 +244,7 @@ async function processFilterRules(filterRulesUrl) {
|
||||
|
||||
(await Promise.all(
|
||||
Array.from(domainSets).reduce((result, element, index) => {
|
||||
const chunk = index % 12;
|
||||
const chunk = index % threads;
|
||||
result[chunk] = result[chunk] ?? [];
|
||||
|
||||
result[chunk].push(element);
|
||||
|
||||
Reference in New Issue
Block a user