Android app for removing tracking parameters from shared URLs

Overview

Build status

Léon - The URL Cleaner is an Android application which removes tracking and other obsolete parameters from a URL before sharing. Its usage is simple, integrating into Android's standard sharing mechanism.

Léon runs on Android 5.0 and later, is open source and does not contain any tracking or advertising frameworks. Léon does not collect any data about you.

The benefits of removing tracking parameters are:

  • Protects your and the recipient's privacy
  • Improves readability of links
  • Saves characters (in Tweets for example)

Installation

How to use

When sharing a link, select URL Cleaner as the receiving application. Then from within URL Cleaner share the cleaned URL to the actual target application.

Issues & feedback

The app is currently in public beta phase. Please report bugs or give feedback.

Technical implementation

This app is also meant as a blueprint for modern Android development, presenting and evaluating recommended and cutting-edge technologies and libraries such as:

Comments
  • Sanitizer for Search Engine Links

    Sanitizer for Search Engine Links

    When using a search engine, the results links are often garbaged w/ tracking info. It'd be amazing if Léon could handle these, too.

    Examples when searching léon url cleaner & choosing link to this repo:

    • [x] Google: https://www.google.com/url?q=https://github.com/svenjacobs/leon&sa=U&ved=2ahUKEwiB2f7ZqJr3AhVMjYkEHQ-DC6gQFnoECAEQAg&usg=AOvVaw2u8hlrT4OUF1_m1GnmhVAy

    • [x] Yahoo!: https://r.search.yahoo.com/_ylt=A0geKLovoVtisIEAUapx.9w4;_ylu=Y29sbwNiZjEEcG9zAzQEdnRpZAMEc2VjA3Ny/RV=2/RE=1650201007/RO=10/RU=https%3a%2f%2fgithub.com%2fsvenjacobs%2fleon/RK=2/RS=rHoItccMzwyZAXsJuDMkBaKUMx0-

    • [x] AOL: https://search.aol.com/click/_ylt=A0geK.HAoltiwykAlAR8CWVH;_ylu=Y29sbwNiZjEEcG9zAzQEdnRpZAMEc2VjA3Ny/RV=2/RE=1650201408/RO=10/RU=https%3a%2f%2fgithub.com%2fsvenjacobs%2fleon/RK=0/RS=cXRWej4shdsEIIDm147.G4CRZEo-

    feature 
    opened by TPS 15
  • Add domain based rules

    Add domain based rules

    First of all, thanks for this project! Found this from F-droid circles and loved the idea❣️

    What do you think about adding domain specific rules to clean URLs like these:

    https://www.amazon.com/BEAST-40oz-Black-Tumbler-Stainless/dp/B08GTPXJBL/?_encoding=UTF8&smid=AHFMMW9O1FG2X&pf_rd_p=d11c243d-9bba-498d-bb87-2e184199c856&pd_rd_wg=zP7f5&pf_rd_r=43Z35PH2XY62GBS2WZ7J&pd_rd_w=2b5Rj&pd_rd_r=7cd0fb38-2890-4adc-b51e-b12056bd09echttps://www.amazon.com/BEAST-40oz-Black-Tumbler-Stainless/dp/B08GTPXJBL/

    May be the rule can be: www.amazon.com/(.*)/dp/([0-9A-Z]+)/* -> www.amazon.com/$1/dp/$2/

    Great app and clean code! Thank you!!

    feature 
    opened by adeekshith 10
  • Add Aliexpress sanitizer

    Add Aliexpress sanitizer

    Copy paste from the EbaySanitizer, first version to figure out the inner workings

    • [x] Automated test
    • [x] Resource translations
    • [x] Plugging the sanitizer into ContainerInitializer.kt
    • [x] Testing it really

    Closes #91

    feature 
    opened by guerda 8
  • F-Droid - versionName issue

    F-Droid - versionName issue

    ref: https://gitlab.com/fdroid/fdroiddata/-/jobs/3261713737#L399

    ref: https://github.com/svenjacobs/leon/commit/bf86e5dc4976f926ba5ccbecb2fcf45db3e701e4#diff-8cff73265af19c059547b76aca8882cbaa3209291406f52df1dafbbc78e80c46R39

    opened by licaon-kter 8
  • Can this be registered as a browser?

    Can this be registered as a browser?

    Is it possible to make the URL cleaner the target for default browser in Android?

    It would be nice to have an this as my default browser (I'm not expecting actual browser behavior) so that it can strip all the tracking junk and then I can copy the URL to the browser myself.

    feature 
    opened by slootsky 7
  • Click on Licenses crashes the app

    Click on Licenses crashes the app

    If you click on Licenses in the settings, the app crashes. This happens both whole the app is opened during a share intent and if you open it standalone

    Happens on Android 13, Leon Version 1.2.0

    opened by guerda 6
  • Sanitize TikTok URLs

    Sanitize TikTok URLs

    I think Leon should have a sanitizer for TikTok URLs.

    I'm pretty busy, myself, but if I find time, what's the most tricky part of adding a sanitizer? What's the best way to resolve it?

    wontfix 
    opened by chexxor 6
  • Read URL from clipboard

    Read URL from clipboard

    Minimum feature request:

    Please implement a solution to make Leon able to read URL from clipboard. (Only exact URL is stored in clipboard.)

    Maximum feature request:

    In addition to min. feature request, make Leon able to filter out URL from clipboard text. (Text containing an URL is stored in clipboard.)

    Why?

    In apps such like Telegram messenger you are often not able to share a link with an external app. You are only able to copy URL to clipboard.

    Tnx in advance, Enkidu

    feature 
    opened by Enkidu70 6
  • App doesn't decode amazon links

    App doesn't decode amazon links

    The link that i shared: https://a.co/d/4X8EKfk

    After i select decode link, it doesn't decode it into a raw form: https://www.amazon.com/dp/B09FDSW9CS/

    wontfix 
    opened by aha999 4
  • Youtu.be domain+url rewriter

    Youtu.be domain+url rewriter

    https://youtu.be/video-id should be transformed into https://www.youtube.com/watch?v=video-id. These youtu.be links comes from the share function.

    Thanks for the app!

    feature 
    opened by slmb3 4
  • Rethink sanitizer architecture

    Rethink sanitizer architecture

    Currently sanitizers are purely based on regular expressions and can only remove parts from a URL. However feature requests have shown that this concept is not flexible enough since sanitizers could also for example extract parts from, rewrite or decode URLs.

    The current sanitizers are stored in a SQLite database on the device. The idea was to have some kind of form in a future version of Leon where users can add their own sanitizers / rules. However this concept does not work with more flexible sanitizers. Prospectively sanitizers will not be stored in a database. But sanitizers could provide their own UI. For instance there could be a CustomParametersSanitizer which provides a UI for specifying own URL parameters to be removed. How these parameters are stored is implementation detail of the sanitizer. It could be shared preferences or SQLite.

    The question remains what should be shown on the result screen where currently the number of removed parameters are shown? Since future sanitizers must not necessarily remove parameters, different metrics must be displayed?

    feature 
    opened by svenjacobs 4
  • [Feature request] Automatically open cleaned URL in browser for selected sanitizers

    [Feature request] Automatically open cleaned URL in browser for selected sanitizers

    For each sanitizer, the user should be able to select whether he/she wants the Leon activity/window to open (current behavior) vs. Leon just directly opening the URL in the user's preferred browser (without further confirmation / button presses).

    Why? For certain types of links that I click frequently, the manual steps ("Share -> Select Browser app from list") seem inefficient.

    This would be especially useful when Leon is set as the Android-wide default browser for all links.

    opened by xanoni 1
  • Feature request: add support to remove custom parameters from url

    Feature request: add support to remove custom parameters from url

    In followup to #44 & #70:

    Minimum feature request:

    Please implement a solution to make Leon able remove a specific set of parameters from URLs, like

    • clever*

    Many websites use same analytic software for campain & user tracking. The name prefix above are a very common one and Léon should be able to generally remove them, with all of their variations.

    Exampel URL:

    https://www.ruhr24.de/service/krankenkasse-beitrag-steigt-aok-barmer-tk-guenstig-24h-r24-dak-versicherung-deutschland-zusatz-91998261.html#?cleverPushBounceUrl=https%3A%2F%2Fwww.ruhr24.de%2Fservice%2F&cleverPushNotificationId=yMlhjgj4gsLdgfjhjhgfYdnGCYDEyc

    Real necessary:

    https://www.ruhr24.de/service/krankenkasse-beitrag-steigt-aok-barmer-tk-guenstig-24h-r24-dak-versicherung-deutschland-zusatz-91998261.html#

    Maximum feature request:

    In addition to min. feature request, it would be very helpful to be able to add own parameter patterns.

    E.g. like "_ref="

    Real high end idea:

    Enable community of active Léon users to provide their custom parameter list.

    Why?

    Keep URL short, keep privacy and empower the user to remove unwanted stuff.

    Tnx in advance, Enkidu

    opened by Enkidu70 4
  • Add Spiegel online

    Add Spiegel online

    Spiegel.de seems to use tracking parameters as well, I suspect from the app. Example: https://www.spiegel.de/netzwelt/elon-musk-twitter-sperrt-konten-mehrerer-journalisten-von-new-york-times-washington-post-etc-a-040213a0-aa1e-4627-9a5a-69d5f4f929fb?sara_ecid=soci_upd_KsBF0AFjflf0DZCxpPYDCQgO1dEMph

    I will try to provide a filter as previously

    opened by guerda 2
  • Add Kotlin Symbol Processor (KSP)

    Add Kotlin Symbol Processor (KSP)

    Instead of having to manually add new sanitizers to a list in order to load them, we could write a small KSP library which generates the list automatically based on annotations.

    feature 
    opened by svenjacobs 0
  • Twitter to Nitter converter

    Twitter to Nitter converter

    Add a sanitizer which converts Twitter to Nitter links. Nitter is an alternative, privacy focused interface for Twitter. However as there can be various Nitter instances, the sanitizer should probably provide a configuration screen where an instance can be specified.

    feature 
    opened by svenjacobs 0
Releases(v20)
Owner
Sven Jacobs
Android & mobile full stack developer @rewe-digital
Sven Jacobs
restrict the URLs that the user enters in their browser.

Accessibility Service example Filter url from browser by using accessibility service Accessibility services should only be used to assist users with d

AmirMohammad Yazdanmanesh 8 Nov 29, 2022
Environmental-Monitoring-Android-App - This Android App is used to monitor environmental parameters data from remote sensors

Environmental-Monitoring-Android-App - This Android App is used to monitor environmental parameters data from remote sensors. Parameters includes but not limited to temperature, humidity, air quality, level of Ionizing radiation, ...

Francisco Pascal Elias TAMBASAFIDY 0 Jan 4, 2022
Pass parameters safely and quickly between activities or fragments.

Bracer Pass parameters safely and quickly between activities or fragments. Read this in other languages: 中文, English, Change Log Prepare Add the JitPa

Season 57 Jan 3, 2023
An Open-Source Android app for creating training plans and tracking progress

GymRoutines noahjutz.codeberg.page/gymroutines An Open-Source Android app for creating training plans and tracking progress. Screenshots Contributing

Noah 4 Dec 16, 2022
AVTS App - S.I.T Global PBL 2021 - Automatic Visitor Tracking System Android Application

S.I.T Global PBL 2021 - Automatic Visitor Tracking System Android Application De

null 0 Feb 13, 2022
MeuRastreio - Tracking app for studies and personal use

Meu Rastreio APP para rastreio de encomendas rastreáveis pelos correios. Criado

David Castro 10 Dec 15, 2022
A console-based productivity app involving both To-Do Lists and Goal tracking

This is a console-based productivity app involving both To-Do Lists and Goal tracking. It allows users to create To-Dos, check them off, and filter the display between complete/incomplete items

Joel Jossie 3 Dec 25, 2022
Based on Android + NodeMCU platform to achieve object detection and tracking, AI capabilities come from Google MLKit.

Based on Android + NodeMCU platform to achieve object detection and tracking, AI capabilities come from Google MLKit.

null 1 Apr 4, 2022
Covid-19 Tracking application

Covid-19 Covid-19 Tracking application An open-source Android COVID-19 tracking app built using core UI components from the Robinhood stock trading ap

null 1 Dec 29, 2021
Real time gps location based alarming system tracking the road accident and providing medical assitance plus concern from near by police station.

Real time gps location based alarming system tracking the road accident and providing medical assitance plus concern from near by police station.

Sandeep Verma 1 Mar 12, 2022
Android practice shared ViewModel

Cupcake app This app contains an order flow for cupcakes with options for quantity, flavor, and pickup date. The order details get displayed on an ord

Gabriela Fernanda Soto Ramirez 0 Dec 13, 2021
A random meme generator and can be shared , each click will show yo a different meme.

AlphaMemes(random meme sharing app) A android app which display new meme on each click. used API which is dynamic/ Glide library used / Recycler view

SUMIT KUMAR 4 Jan 18, 2022
This repo provides a sample application that demonstrates how you can speed up the authentication experience for frontline workers on shared devices using QR codes.

Project This repo has been populated by an initial template to help get you started. Please make sure to update the content to build a great experienc

Microsoft 5 Dec 7, 2022
Food Recipe App is an app for collecting most of food recipe in one app

Food Recipe App is an app for collecting most of food recipe in one app

Heba Elsaid 10 Dec 25, 2022
Arjun Naik 1 Apr 16, 2022
Ride-Sharing Uber Lyft Android App - Learn to build a ride-sharing Android Taxi Clone App like Uber, Lyft - Open-Source Project By MindOrks

Ride-Sharing Uber Lyft Android App - Learn to build a ride-sharing Android Taxi Clone App like Uber, Lyft - Open-Source Project By MindOrks

MindOrks 1.2k Dec 29, 2022
Android-basics-kotlin-tip-time-app - Tip Time app from Android Basics in Kotlin

Tip Time Tip Time app from Android Basics in Kotlin at developers.google.com. It

Ramon Lima e Meira 0 Jan 2, 2022
Library to change Android launcher App Icon and App Name programmatically !

AppIconNameChanger Change Android App launcher Icon and App Name programmatically ! Download Demo APK from HERE Kindly use the following links to use

Prabhakar Thota 587 Dec 29, 2022
HideDroid is an Android app that allows the per-app anonymization of collected personal data according to a privacy level chosen by the user.

HideDroid An Android App for preserving user privacy HideDroid is an Android app that allows the per-app anonymization of collected personal data acco

null 100 Dec 12, 2022