Pull request: 5471-new-trackers-db

Merge in DNS/adguard-home from 5471-new-trackers-db to master

Squashed commit of the following:

commit d90742c2902afd3424fb8721419231493610048b
Merge: 5e87a1f2 a50a8abb
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Tue Feb 14 13:38:40 2023 +0300

    Merge branch 'master' into 5471-new-trackers-db

commit 5e87a1f25cd1d1dc52629d36e3d50d032ada1093
Author: Ainar Garipov <A.Garipov@AdGuard.COM>
Date:   Mon Feb 13 18:38:54 2023 +0300

    all: use new tracker source
This commit is contained in:
Ainar Garipov
2023-02-14 13:52:22 +03:00
parent a50a8abb45
commit 3378d1c103
6 changed files with 268 additions and 238 deletions

View File

@@ -1,6 +1,5 @@
import whotracksmeDb from './whotracksme.json';
import whotracksmeWebsites from './whotracksme_web.json';
import adguardDb from './adguard.json';
import trackersDb from './trackers.json';
import { REPOSITORY } from '../constants';
/**
@@ -64,14 +63,25 @@ export const getSourceData = (trackerData) => {
};
/**
* Gets tracker data in the specified database
* Converts the JSON string source into numeric source for AdGuard Home
* @param {TrackerData} trackerData tracker data
* @returns {number} source number
*/
const convertSource = (sourceStr) => {
if (!sourceStr || sourceStr !== 'AdGuard') {
return sources.WHOTRACKSME;
}
return sources.ADGUARD;
};
/**
* Gets tracker data from the trackers database
*
* @param {String} domainName domain name to check
* @param {*} trackersDb trackers database
* @param {number} source source ID
* @returns {TrackerData} tracker data or null if no matching tracker found
*/
const getTrackerDataFromDb = (domainName, trackersDb, source) => {
export const getTrackerData = (domainName) => {
if (!domainName) {
return null;
}
@@ -88,7 +98,7 @@ const getTrackerDataFromDb = (domainName, trackersDb, source) => {
if (trackerId) {
const trackerData = trackersDb.trackers[trackerId];
const categoryName = trackersDb.categories[trackerData.categoryId];
trackerData.source = source;
const source = convertSource(trackerData.source);
const sourceData = getSourceData(trackerData);
return {
@@ -105,22 +115,3 @@ const getTrackerDataFromDb = (domainName, trackersDb, source) => {
// No tracker found for the specified domain
return null;
};
/**
* Gets tracker data from the trackers database
*
* @param {String} domainName domain name to check
* @returns {TrackerData} tracker data or null if no matching tracker found
*/
export const getTrackerData = (domainName) => {
if (!domainName) {
return null;
}
let data = getTrackerDataFromDb(domainName, adguardDb, sources.ADGUARD);
if (!data) {
data = getTrackerDataFromDb(domainName, whotracksmeDb, sources.WHOTRACKSME);
}
return data;
};