Giter Site home page Giter Site logo

mackuba / trackerscanner Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 0.0 35 KB

A tool for recording lists of external resources (JS trackers etc.) loaded when opening given websites

License: Do What The F*ck You Want To Public License

Swift 75.59% Objective-C 8.72% Ruby 15.68%
tracking content-blocker content-blocking trackers adblocking

trackerscanner's Introduction

Tracker Scanner

I wrote this tool for myself, but maybe someone else will find it useful.

The tool (in the form of an iOS app, because that was the easiest way to get it to work) uses a hidden WebKit WKWebView to load a list of URLs one by one and records all external resources loaded by a given website. The main goal is to find lesser known ad/tracker services that should be blocked in Safari using a content blocker.

Usage

  1. Create a page_list.txt file listing URLs to load, one on each line.
  2. Create a blocklist.json file (could be empty).
  3. Run the project in Xcode in an iPhone simulator.
  4. Wait for the app to finish running, and find the results.json file in the location mentioned at the beginning of the log.

If you want, you can provide a WebKit content blocker blocklist and only record resources that haven't been caught by the blocklist - in this case, switch the useBlocklist property in ViewController to true.

The Scripts directory contains some scripts in Ruby that can help you extract some statistics from results files.

Credits

Copyright © 2020 Kuba Suder. Licensed under WTFPL License.

The NSURLProtocol+WKWebViewSupport helper was created by Yeatse and is available under MIT license.

trackerscanner's People

Contributors

mackuba avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.