Update fetch-trackers.js
Browse files- fetch-trackers.js +5 -8
fetch-trackers.js
CHANGED
|
@@ -10,20 +10,18 @@ const DATA_DIR = path.join(__dirname, 'data');
|
|
| 10 |
const DDG_URL = 'https://downloads.vivaldi.com/ddg/tds-v2-current.json';
|
| 11 |
|
| 12 |
async function fetchAndMerge() {
|
| 13 |
-
// ... (بقية الكود كما هو دون تغيير) ...
|
| 14 |
console.log('📡 Fetching DuckDuckGo Tracker Radar...');
|
| 15 |
const ddgResponse = await axios.get(DDG_URL, { timeout: 60000 });
|
| 16 |
const ddgData = ddgResponse.data;
|
| 17 |
console.log(`✅ DuckDuckGo: ${Object.keys(ddgData.domains).length} domains`);
|
| 18 |
-
|
| 19 |
console.log('📡 Loading Ghostery TrackerDB...');
|
| 20 |
const enginePath = path.join(__dirname, 'node_modules', '@ghostery', 'trackerdb', 'dist', 'trackerdb.engine');
|
| 21 |
const engine = readFileSync(enginePath);
|
| 22 |
const ghosteryDB = await loadTrackerDB(engine);
|
| 23 |
-
|
| 24 |
const unified = { domains: {} };
|
| 25 |
-
|
| 26 |
-
// دمج بيانات DuckDuckGo
|
| 27 |
for (const [domain, info] of Object.entries(ddgData.domains)) {
|
| 28 |
unified.domains[domain] = {
|
| 29 |
owner: info.owner?.name || 'Unknown',
|
|
@@ -33,8 +31,7 @@ async function fetchAndMerge() {
|
|
| 33 |
ghostery_category: null
|
| 34 |
};
|
| 35 |
}
|
| 36 |
-
|
| 37 |
-
// إثراء البيانات من Ghostery
|
| 38 |
console.log('🔄 Enriching with Ghostery data...');
|
| 39 |
const domains = Object.keys(unified.domains);
|
| 40 |
for (const domain of domains) {
|
|
@@ -49,7 +46,7 @@ async function fetchAndMerge() {
|
|
| 49 |
}
|
| 50 |
} catch (e) {}
|
| 51 |
}
|
| 52 |
-
|
| 53 |
if (!existsSync(DATA_DIR)) mkdirSync(DATA_DIR, { recursive: true });
|
| 54 |
writeFileSync(path.join(DATA_DIR, 'unified-trackers.json'), JSON.stringify(unified, null, 2));
|
| 55 |
console.log(`✅ Merged ${Object.keys(unified.domains).length} trackers into unified-trackers.json`);
|
|
|
|
| 10 |
const DDG_URL = 'https://downloads.vivaldi.com/ddg/tds-v2-current.json';
|
| 11 |
|
| 12 |
async function fetchAndMerge() {
|
|
|
|
| 13 |
console.log('📡 Fetching DuckDuckGo Tracker Radar...');
|
| 14 |
const ddgResponse = await axios.get(DDG_URL, { timeout: 60000 });
|
| 15 |
const ddgData = ddgResponse.data;
|
| 16 |
console.log(`✅ DuckDuckGo: ${Object.keys(ddgData.domains).length} domains`);
|
| 17 |
+
|
| 18 |
console.log('📡 Loading Ghostery TrackerDB...');
|
| 19 |
const enginePath = path.join(__dirname, 'node_modules', '@ghostery', 'trackerdb', 'dist', 'trackerdb.engine');
|
| 20 |
const engine = readFileSync(enginePath);
|
| 21 |
const ghosteryDB = await loadTrackerDB(engine);
|
| 22 |
+
|
| 23 |
const unified = { domains: {} };
|
| 24 |
+
|
|
|
|
| 25 |
for (const [domain, info] of Object.entries(ddgData.domains)) {
|
| 26 |
unified.domains[domain] = {
|
| 27 |
owner: info.owner?.name || 'Unknown',
|
|
|
|
| 31 |
ghostery_category: null
|
| 32 |
};
|
| 33 |
}
|
| 34 |
+
|
|
|
|
| 35 |
console.log('🔄 Enriching with Ghostery data...');
|
| 36 |
const domains = Object.keys(unified.domains);
|
| 37 |
for (const domain of domains) {
|
|
|
|
| 46 |
}
|
| 47 |
} catch (e) {}
|
| 48 |
}
|
| 49 |
+
|
| 50 |
if (!existsSync(DATA_DIR)) mkdirSync(DATA_DIR, { recursive: true });
|
| 51 |
writeFileSync(path.join(DATA_DIR, 'unified-trackers.json'), JSON.stringify(unified, null, 2));
|
| 52 |
console.log(`✅ Merged ${Object.keys(unified.domains).length} trackers into unified-trackers.json`);
|