Name: tracking-protection
Owner: Brave Software
Description: Tracking protection engine used in the Brave browser for list like disconnectme.
Created: 2016-01-03 20:12:46.0
Updated: 2018-05-03 16:54:09.0
Pushed: 2018-03-25 02:11:54.0
Homepage: https://www.brave.com
Size: 116
Language: C++
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
C++ tracking protection filter parser for lists like https://github.com/disconnectme/disconnect-tracking-protection/blob/master/services.json
install --save tracking-protection
Clone the git repository from GitHub:
git clone https://github.com/SergeyZhukovsky/tracking-protection
Open the working directory:
cd tracking-protection
Install the Node (v5+) dependencies:
npm install
lude <iostream>
lude "./TPParser.h"
g std::cout;
g std::endl;
main(int argc, char **argv) {
CTPParser parser;
parser.addTracker("facebook.com");
parser.addTracker("facebook.de");
// Prints matches
if (parser.matchesTracker("facebook.com")) {
cout << "matches" << endl;
}
else {
cout << "does not match" << endl;
}
// Prints does not match
if (parser.matchesTracker("facebook1.com")) {
cout << "matches" << endl;
} else {
cout << "does not match" << endl;
}
// Prints does not match
if (parser.matchesTracker("subdomain.google-analytics.com.")) {
cout << "matches" << endl;
} else {
cout << "does not match" << endl;
}
parser.addFirstPartyHosts("facebook.com", "facebook.fr,facebook.de");
parser.addFirstPartyHosts("google.com", "2mdn.net,admeld.com");
parser.addFirstPartyHosts("subdomain.google.com", "facebook.fr,facebook.de");
// Returns combined result of third party hosts for "google.com" and for "subdomain.google.com"
// "facebook.fr,facebook.de,2mdn.net,admeld.com"
char* thirdPartyHosts = parser.findFirstPartyHosts("subdomain.google.com");
if (nullptr != thirdPartyHosts) {
cout << thirdPartyHosts << endl;
delete []thirdPartyHosts;
}
unsigned int totalSize = 0;
// Serialize data
char* data = parser.serialize(&totalSize);
// Deserialize data
parser.deserialize(data);
// Prints matches
if (parser.matchesTracker("facebook.com")) {
cout << "matches" << endl;
}
else {
cout << "does not match" << endl;
}
// Prints does not match
if (parser.matchesTracker("facebook1.com")) {
cout << "matches" << endl;
} else {
cout << "does not match" << endl;
}
// Prints "2mdn.net,admeld.com"
thirdPartyHosts = parser.findFirstPartyHosts("google.com");
if (nullptr != thirdPartyHosts) {
cout << thirdPartyHosts << endl;
}
if (data) {
delete []data;
}
return 0;
build-debug
sample
test
clean