h5bp / lazyweb-requests

Get projects and ideas built by the community
https://github.com/h5bp/lazyweb-requests/issues
1.69k stars 84 forks source link

Extension to replace links to tracking URLs with their destination #162

Closed stuartpb closed 6 years ago

stuartpb commented 9 years ago

So, for instance, this would replace a link to "http://www.google.com/url?q=http%3A%2F%2Fexample.com%2Ftest&sa=D&sntz=1&usg=AFQjCNGTsXua3_yJWsSEx68nmyfzUX353Q" with "http://example.com/test".

(Note, what could this do to stop the page from changing the URL when clicking/right clicking, so I can actually right click and copy links from Google? Just a DOM Mutation listener, to undo the tracking URL immediately after the URL is replaced in?)

Another nice anti-tracking thing this could do: delete utm_source &c in query strings (like this or this, but applying it before visiting the page).

stuartpb commented 9 years ago

Also, we should encourage sites that use tracking URLs like this to start adopting and polyfilling ping. Ping actually has valid uses it can be used for, and it would be cool to see trackers start using that rather than wasting all our time with redirects.

stuartpb commented 9 years ago

https://chrome.google.com/webstore/detail/fix-url-links-redirect/ngcknmhpnonbbekommfpihpddphgiojd/reviews?hl=en looks like the right sort of thing, but hella sketchy. (Chrome should let users review the source code of extensions before they install them.)

also

stuartpb commented 9 years ago

I'm thinking of calling this something like "snowtracks", and giving it a server-side component for urls like shortener URLS that don't expose their target (so clients can ask the snowtracks server for the destination rather than feeding the tracker a HEAD request).

jnv commented 9 years ago

I remember there were quite a lot of userscripts to handle exactly this sort of thing. Some are mentioned here, but since Userscripts.org is gone, there are viable alternatives on other sites, like OpenUserJS. As you can see, the implementation is very simple. This could be also nicely handled by dotjs if you don't fancy Greasemonkey-style userscripts.

As for the utm_ links, there is a script by Paul Irish, which, however, uses push state, so the query parameters are already captured when the script kicks in. I think there is even easier option: just block Google Analytics via AdBlock or Ghostery. In my opinion UTM parameters are of the least concern if you don't want to be tracked.

stuartpb commented 6 years ago

I've got a note here about https://chrome.google.com/webstore/detail/tracking-token-stripper/kcpnkledgcbobhkgimpbmejgockkplob?hl=en, which may render this idea redundant

stuartpb commented 6 years ago

Yeah, there's that, but looking around the Chrome Web Store a bit, what I really like is @newhouse's https://github.com/newhouse/url-tracking-stripper - I'm going to go ahead and install that for myself.

I'd say you can consider this issue closed.