GithubHelp home page GithubHelp logo

trianguloy / urlchecker Goto Github PK

View Code? Open in Web Editor NEW
731.0 11.0 49.0 37.42 MB

Android app by TrianguloY: URLCheck

License: Other

Java 100.00%
open-source android-application fdroid play-store url-check

urlchecker's Introduction

URLCheck

App-Code Size GitHub commit activity Weblate (translation percentage) GitHub version (gradle versionName) F-Droid PlayShields

Get it on F-Droid Get it on Google Play


Android app made by TrianguloY

Special contributors: Ilithy, PabloOQ

All contributors:
Contributors
and 404potato and maybe some more from Weblate.


URLCheck acts as an amazingly customizable and powerful intermediary when opening url links, allowing, among other things: to remove trackers, affiliate links, unnecessary elements, check Hosts, facilitating link holding and sharing, protecting against certain phishing techniques and many more...

Contribution

All help is greatly welcomed!
Feel free to suggest changes, request a new feature, create bug report or even pull request. (from a simple typo fix to a full new module or even more!)
Translations are also greatly appreciated.

See CONTRIBUTING for code or translation details and tips.

Weblate (translation details)

License

Creative Commons Attribution 4.0 International

You can use parts of this project in your own ones, or upload modified versions of it AS LONG AS you credit me.

How to credit:

  • You must add my nick TrianguloY in an about or acknowledgments section visible to the user.
  • You must add a link to this GitHub main page or subpage (if you used a part of the code or an asset) in an about or acknowledgments section visible to the user.

urlchecker's People

Contributors

2002suraj456 avatar atilluf avatar azure-helper avatar bjbjorn avatar comradekingu avatar cvzi avatar dependabot[bot] avatar dperruso avatar fnogcps avatar github-actions[bot] avatar ilithy avatar metezd avatar notexist avatar pablooq avatar reduxflakes avatar sevichecc avatar symbuzzer avatar the-blank-x avatar trianguloy avatar weblate avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

urlchecker's Issues

New module: title

New module with a edittext and a fetch button.

  • When the button is pressed, a petition for the page is performed to extract the title.
  • When the url changes, the title is cleared
  • On init check if the intent has the title (for example when sharing a page from a browser)
  • When sharing, if the module is enabled and has a title ask to choose what to share: only url, url and title as text, url and title as extra.

Some weird interactions in the Open & Share module

When I tap on a link in the twitter app and URLChecker opens, with custom tabs 'off', if I then open the link in Firefox Focus or the DuckDuckGo browser with these apps closed, the browser opens 'inside' the twitter app, this doesn't happens with other browsers. Because of this behaviour, if I then go to another app the browser inside the twitter app closes, and I need to reopen the link. I haven't seen this happening in other apps either, only on twitter, which makes me think this is something that can be solved inside URLChecker. It would be great to have an option to avoid this, maybe a button, or a preference in the Open & Share module. Maybe even have something added to the custom tabs icon to show this, and change the behaviour by holding the button.
Some screenshots of the button concept:

  • No custom tab, open externally
    image
  • No custom tab, open internally
    image
  • Custom tab, open externally.
    image
  • Custom tab, open internally.
    image

Some screenshots of the behaviour:

  • URL Checker
    image
  • While going to change to another tab (before the animation concludes), the "inside browser" is still open
    image
  • When going to change to another tab (animation concluded), the "inside browser" is closed
    image

Also when I tap a link in the youtube app the custom tabs button is 'on' by default, but on other apps is usually 'off', the twitter app for example. Same thing as the previously mentioned, a preference to choose the default state, 'on' or 'off' would be great, currently if feels incosistent accross apps.

Detail in URL scanner module

Note that this is without priority, it "affects" a really minor detail

  • In the report of the url scanner there is nothing between the date and the time, it would be more readable if there was an element between the two,
    Like for example:
    • en: 2022-12-31 at 06:22:01
    • es: 2022-12-31 a las 06:22:01
      Etc..

If it were possible to change this, it would be more pleasant, if not, that's fine, thank you.

Screenshot

IMG_20220901_205409

Add more clearurl parameters for Tiktok links

I use this app to open tiktok links because they are shortened and when you go to them they expand to a url with a lot of tracking parameters. However, this app does not detect some tiktok tracking params.

Here are the parameters which are not detected:

  • checksum
  • sec_user_id
  • share_app_id
  • share_item_id
  • share_link_id
  • tt_from

Option for app to close upon passing of URL via open or share buttons

For at least some use cases, there's no further need for a URLChecker instance after the URL has been processed and passed along to another app using the browser or share buttons. This could be a simple boolean setting, or it could even be conditional based on a regexp or something. It might make sense for "open" and "share" to be individually configured in this regard, especially if they are split into separate modules.

Improvement of Log module

This issue refers to #34 (reply in thread) about the possible evolutions of the (new and beautiful) urls Log module.

  • Added a confirmation window when deleting (completely) the log. I already deleted my log file accidentally --'

  • (Access option) Added a quick access button to the Log file editor from the URL Checker window. (To be able to quickly add a keyword, for example, to facilitate further research)

  • (Access option) An option adding the viewing of URL log content in an always-on (silent) notification; option that can be deactivated via URLCheck (option to be checked/unchecked in the modules menu) or via a quick tile

  • An option to export the log file.

  • An option to import the log file, with merging between the imported file and the existing one (i.e. deleting duplicate urls).

  • An option to prevent Url Checker to record url already present in the log file (for this specific option, I doubt it can be really implemented)

  • An option to add the hosts label to the url log (if applicable).

  • An option to add the url title (for each url) to the Log file.

  • A search feature in the view (and edit?) log dialogs to find old entries

Thanks you very much

[Bug] Padding on Hebrew language

Describe the bug
Lack of padding to the open button in the Hebrew interface

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'Url Checker home'
  2. Click on 'Icon'
  3. Scroll down to 'iw' language
  4. Click on url link test
  5. See open button

Screenshots
IMG_20220822_115859

System Info (please complete the following information):

  • Device: Pixel 6 pro
  • Android OS version: 12L
  • Url Checker version: 2.6-Alpha
  • Browser: Vanadium (tested with Opera and Chrome too)

Additional context
Maybe a separate padding for specific languages could be the solution

Icons in light mode

Already mentioned in #23

I can't see the custom tabs icon at all. Also the other icons do not look good either. I think the best would be to have these icons be filled with black on the inside.
image

Can´t check URLs from YouTube

Prerequisites:

  • Default browser app set to none

Steps to reproduce:

  1. Open YT app.
  2. Go to any video with links in the description. E. G.
  3. Click any non-YT link.
  4. UrlChecker doesn't show up in the "Complete action using" pop-up dialog.

Note that the URL it gives you is a YT redirection, so any links to social media pages won't give you the option to open it in their app, which can be easily solvable with the ClearURLs module.

The only apps I can get to show up are:

  • Brave browser.
  • DuckDuckGo browser.
  • Kiwi browser.
  • Firefox browser.
  • Firefox focus browser.
  • Tor browser.
  • URLSanitizer, which is an app to handle URLs too.

Other apps like "Share to clipboard", "UntrackMe" or "Open Link with" do not show up either.

From what I can see it looks like UrlChecker needs to show up as some kind of browser for this to work.

De-Amp

Brave is implementing "De-Amp" to the incoming versions, "to bypass Google-hosted AMP pages, and instead visit the content’s publisher directly."

https://brave.com/privacy-updates/18-de-amp/

I found it interesting, I dunno if it is possible to do something like this in URLChecker, then not having the need to install Brave to bypass amp pages

it does not open any urls

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '...'
  3. Scroll down to '...'
  4. Look at '...'

Current behaviour
A clear and concise description of what currently happens, and you don't expect it to happen.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

System Info (please complete the following information):

  • Device: [e.g. Samsung galaxy S21]
  • Android OS version: [e.g. 12]
  • URLCheck version: [e.g. 2.5]
  • Browser: [e.g. Chrome, Opera]

Additional context
Add any other context about the problem here.

Preserve share intent

When sharing an url, the shared intent is always recreated.
If the app was opened from a share intent itself, the original shared intent extra parameters are lost (like title, message, etc).

Consider adding an option to preserve the shared intent, or allow configured, or something.

UrlChecker crashes when opening app

Describe the bug
UrlChecker crashes when opening a link to firefox focus two consecutive times

To Reproduce
Steps to reproduce the behavior:

  1. Click on any link, the one from the main dialog of UrlChecker works
  2. Open it in firefox focus
  3. Close firefox focus and go back to the previous app
  4. Click on any link
  5. Open it in firefox focus
  6. UrlChecker crashes

Expected behavior
Firefox focus opens correctly

System Info:

Additional context
The app crashes because of this method. Being more specific, in this line
I have been able to reproduce this opening Youtube links too.

Log:

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.trianguloy.urlchecker, PID: 13676
    java.lang.IndexOutOfBoundsException: Index: 2, Size: 2
        at java.util.ArrayList.set(ArrayList.java:453)
        at java.util.Collections.swap(Collections.java:544)
        at com.trianguloy.urlchecker.utilities.LastOpened.usedPackage(LastOpened.java:76)
        at com.trianguloy.urlchecker.modules.list.OpenDialog.openUrl(OpenModule.java:210)
        at com.trianguloy.urlchecker.modules.list.OpenDialog.onMenuItemClick(OpenModule.java:160)
        at android.widget.PopupMenu$1.onMenuItemSelected(PopupMenu.java:108)
        at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:787)
        at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:151)
        at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:934)
        at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:924)
        at com.android.internal.view.menu.MenuPopup.onItemClick(MenuPopup.java:128)
        at android.widget.AdapterView.performItemClick(AdapterView.java:330)
        at android.widget.AbsListView.performItemClick(AbsListView.java:1187)
        at android.widget.AbsListView$PerformClick.run(AbsListView.java:3179)
        at android.widget.AbsListView.onTouchUp(AbsListView.java:4109)
        at android.widget.AbsListView.onTouchEvent(AbsListView.java:3867)
        at android.widget.DropDownListView.onTouchEvent(DropDownListView.java:116)
        at android.view.View.dispatchTouchEvent(View.java:14309)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3112)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2785)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799)
        at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3118)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2799)
        at android.widget.PopupWindow$PopupDecorView.dispatchTouchEvent(PopupWindow.java:2553)
        at android.view.View.dispatchPointerEvent(View.java:14568)
        at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6016)
        at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:5819)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5310)
        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5367)
        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5333)
        at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:5485)
        at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5341)
        at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:5542)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5314)
        at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:5367)
        at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:5333)
        at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:5341)
        at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:5314)
        at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:8080)
        at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:8031)
        at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:7992)
        at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:8203)
        at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:220)
        at android.os.MessageQueue.nativePollOnce(Native Method)
        at android.os.MessageQueue.next(MessageQueue.java:335)
        at android.os.Looper.loop(Looper.java:183)
        at android.app.ActivityThread.main(ActivityThread.java:7656)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

(Useless) notification in android 13

Hi;
It turns out that the copy notifications (after a long press on the "share" button) are duplicated (Android 13 aka Tiramisu has its own notification system), and are not really necessary anymore (only under Android Tiramisu).

I attach a screenshot:
Screenshot_20220826-072913

It's not really a bug, rather a (slightly) annoying element (it's a bit inelegant, without in any way preventing the use of the feature.)

There is this which explains how to display these notifications only under versions older than Android 13:
https://developer.android.com/develop/ui/views/touch-and-input/copy-paste#duplicate-notifications

(As a total aside, is it possible in the future to add an option in Url Checker in order to hide the data copied in the clipboard?) as proposed by this:
https://developer.android.com/develop/ui/views/touch-and-input/copy-paste#SensitiveContent

Thanks

New module: Warn flagged urls from hosts-like files

The hosts file is a relatively standard and not very hard to parse format (ip + space + domain).
These are used on windows and linux (and mac?) to disable connections to specific urls by specifying 0.0.0.0 as ip.

https://github.com/StevenBlack/hosts is a good example of these type of files.

Suggestion

A new module that parses this file and warns when the url domain matches one of them.

Notes:

  • It would be very beneficial to have automatic updates
  • It would be useful to be able to specify multiple files, even user strings or even from the local device
  • IMPORTANT: these files can be extremely long (100000+ hosts) sometimes even with repeated domains. A simple linear search is NOT a good approach, as it will probably halt or even crash. Binary search is better but the best solution will be a trie or other similar tree-like structure for constant access 1.

Footnotes

  1. Well, it will be linear in the input url, but constant in the number of hosts from the file.

light theme (follow system)

adding a light theme (and make it follow system) can be useful for people who use more than just dark (or just light) mode

Bad cleaning on ClearURLs module

When using the ClearURLs module, this URL https://www.google.com/amp/s/github.com gives different results on the official addon.
On the addon: http://github.com
On UrlChecker: github.com
After this, UrlChecker can't find an app to open the link with, resulting in "NO APPS" in the Open & Share module.

Version 2.3

[New module] Skip redirect

Hi, I don't know if it would be too difficult to implement or not but it would be nice if there's another module to skip redirection links, similar to how Skip Redirect extension works:

https://github.com/sblask/webextension-skip-redirect
https://addons.mozilla.org/en-US/firefox/addon/skip-redirect/

For example this link

https://www.google.com/chrome/?or-maybe-rather-firefox=https%3A%2F%2Fwww.mozilla.org/

can be rewritten to

https://www.mozilla.org/

I really like this project, one of my must-install app on android now.

[Bug] Some apps relaunch the intent

Describe the bug
When opening some url with some apps (for example actions on Github) if they can't managed it, they will reopen the url again, which makes UrlCheck behave as if the app wasn't opened.

To Reproduce

  1. Open the app with the url https://github.com/TrianguloY/UrlChecker/actions
  2. Click on Github (you must have that app installed)

Current behaviour
The animation for switching apps play, but UrlCheck is opened again (because the Github app can't open those urls and relaunches the browser, us)

Expected behavior
Either you can't open Github, or a message is shown warning about the behaviour

System Info (please complete the following information):
You must have UrlCheck as default app and the Github app installed

Additional context
Possible solutions:
Use the referrer activity field
https://developer.android.com/reference/android/app/Activity.html#getReferrer() to detect which app opened us, and either disable it or move to the bottom of the list or show a warning
When opening an app, add an extra to the intent so that if we open an intent with that extra we know the app bounced it back to act accordingly.

Change language in-app

Add an option to allow the user to change the language of the app by choosing from a list inside the app itself, without having to modify the system settings.

Will probably require a new app settings sub screen.

Links to F-Droid version

The about screen contains a link to Play Store. Is it possible to replace those links for the F-Droid ones in F-Droid build only?

How difficult is it to have different variants so that I can build the play store one directly from Android Studio (and publish manually) but F-Droid builds its variant automatically?

Allow auto-opening links in default apps.

Apps like youtube, twitter, reddit, Facebook and Instagram can easily make use of auto-opening when the apps set to default open the dedicated link before installing the url-checker.

It currently correctly detect which apps can open the said link and presents options but when user have already set an app as default then a step increases to open that same link after installing url-checker.

Ideally apps should open links in the default openers and rest of the link in default browser. A toggle combined with some auto-open intent might be a good idea.

Configure custom tabs initial state

Currently the custom tabs button is always enabled and the initial state correspond to what the original app configured. Ideally you should be able to change this behaviour. I'm thinking (as a possible solution, but may be others) of adding a dropdown in the open module settings with the following options:

Custom tabs:

  • 'Auto' -> The current behavior, default selection.
  • 'Initially on' -> The custom tab button is 'on' when shown (you can manually turn it off)
  • 'Initially off' -> The custom tab button is 'off' when shown (you can manually turn it on)
  • 'Disabled' -> The custom tab button is not shown. The custom tab feature is always off.

white theme issues

status bar icons should be gray because they blend into the background

return the old top bar because this one does not match the material you

some white elements on a light background do not look very good

AFFIX_20220714_154654.png

Option to show all apps that can open a link (UI improvement)

Firstly, thanks a lot for this wonderful app. its by far the best URL cleaner on android.

I use the Open Link With app that instantly shows all apps that can open a link. So it takes only 2 clicks: one to select the open link with app, and one to choose the specific app to use.

however, In URL checker there is only 1 app shown that can open the link, and the rest are accessed by clicking on the arrow. This takes 3+ clicks and is a bit confusing. I think an option to change the view from showing 1 main app into a list format will be nice. It will make opening pprcess much quicker, and with the automatic URL cleaning enabled, its a very simple and quick process.

Additionally, it would be great if the apps' logos are also visible next to their names in the list, making identifying the apps easier and faster.

Display issue (in Hebrew)

Describe the bug

I have found a display problem in the parameters of the modules: Log and "Open and Share" in Hebrew, they are not aligned. (RtL)

To Reproduce

Steps to reproduce the behavior:

  1. Go to 'Url Checker home'
  2. Click on 'Icon'
  3. Scroll down to 'iw' language
  4. Click on Modules

Screenshots

Screenshot_20220823-215021

Screenshot_20220823-215037

System Info (please complete the following information):

  • Device: [Pixel 6 pro]
  • Android OS version: [12L]
  • Url Checker version: [latest 2.6-Alpha]
  • Browser: useless

Automatic redirection skip modules below

If, for example, history module is below clear url, automatic redirection from the clear url will not be recorded in the history.
This is because when a module requests a new url, all the update chain is stopped for that url and a new chain starts.

Possible solutions:

  1. Don't stop the chain and just ignore following requests. This will change the order of updates for the latests modules (currently a request starts a recursive subchain), bad solution.
  2. Change the chain processing so that all the modules are notified, and when it is finished, the first change request the happened starts a new chain, other changes are ignored. Probably the best easy solution.
  3. Split the process into two subprocesses: notify (always run, first) and update (may not run, second). Will require changes for all modules, but may be a good long term solution.

Change theme in-app

Add an option to change URLCheck's theme (light/dark/follow system) directly in app.

related to #45

Thanks a lot

Missing 'back' button in the action bar

https://i.stack.imgur.com/rojyQ.jpg
For the subpages: 'modules' and 'about'.
Pressing that button should go back to the main screen.
The main screen should not have it.

This should be a one-line (or a few lines) fix. I simply forgot to add it.

Open in app configuration setup wizard/tutorial

On Android, apps can be configured to open automatically an url matching some characteristics. This app is configured to match all urls, but some are not opened because other apps have more preference, which is not easy to change specially for non-advanced users.

Add a screen where you can paste an url, and it will tell you the app that is currently configured to automatically open that link, and if it's not ours include a guide/steps to how to configure it, if possible (this may be difficult because each android version/manufacturer has a different UI, consider adding links to external documentation).
If there were a way to automatically configure it by pressing a button that would be awesome.
I've seen a similar dialogs on browsers (firefox to be precise), where you can press a 'set as default' button and a dialog with all currently configured browsers is opened for you to choose directly., to be considered.

Irrelevant toast when updating clearurl catalog

Describe the bug
When you press the "update now" button on the updater popup from the clear url module, the toast (assuming no error) says "catalog updated" even if it didn't change.

To Reproduce
Steps to reproduce the behavior:

  1. Open the clear url module settings
  2. Press updater
  3. Press update now twice

Current behaviour
Both times the toast say "Catalog updated"

Expected behavior
First update may or may not update. Second one should say "Catalog up to date" or similar.

UI Improvements

I love the app and and think that it is necessary for any device. Though, I have to point out some of its shortcomings, mainly in its UI, which are evident when compared to its now discontinued alternative link eye. As a comparison, I will be linking a screenshot from each app. It could look much cleaner and modern with some improvements.

  1. The share button is displayed as Sh...ar...e top down.
  2. You have to go through one extra tap if you want to open the link with another app in the list. Link eye eliminates this by listing all the compatible apps installed.
  3. You either have to select the link or hit the share button to copy the link. An easier way to copy like a designated button could be useful.
  4. I haven't tested it with links that have a lot of pattern issues or trackers, so I'm not sure if this makes sense but I think a lot of space could be saved if these sections were side-by-side. They could also be hidden if no issues were found.

I really like the app being an overlay instead of taking up the entire screen. Patterns checker sounds like a great feature and the status code feature is useful especially on social media, where each platform uses its own url shortener.

One feature I did not understand is the custom tabs button. Do you really need it on per-link basis? The toggle could well be placed in the app settings if that's not the case.

it does not open any urls

Describe the bug
It does not open any urls

To Reproduce
Steps to reproduce the behavior:

  1. Click on any urls in any apps and bam.

Current behaviour
All urls are openned on the stock Android apps

Expected behavior
Open urls in UrlChecker

Screenshots
Can't screenshot a click on a link

System Info:

  • Device: Oppo A74 4G
  • Android OS version: 12
  • URLCheck version: 2.6
  • Browser: Brave, Firefox, YouTube, Google, etc...

Additional context
Nothing more

Allow automating ClearUrl, redirection, query removal and pattern checking without user interaction by default.

I would like to start by saying this app is a dream come true; I so badly wanted these features in other similar apps but couldn't find any.

So, coming to this app the only major issue I find is that although in a way it saves time by giving you the original link instead of going through intermediate tracking links; the need for user interaction to click those modules one by one kinda counterbalance that saved time and even increases in almost 99% of cases when the redirection is clearly needed.

I wanted to do it myself but found it already implemented in one of your repository fork - https://github.com/Huhni/UrlChecker

  • This might look like many "lines of code" changes but almost 90% of this already works with the apk I tried making with that fork repo changes.

What I think should be ideal is that;

  • Redirection, ClearUrl, Query Removal and Pattern checking (especially HTTPS redirection) should be implemented by default without requiring user to press apply/check.

  • All the modules should be triggered by default every time a redirection takes place arising the need of applying one or more modules one more time.

  • Although the modifications in the fork repo already implements this amazingly it only does this once when in some cases its needed twice or more. Eg: Links in FB, instagram are first obfuscated with l/lm.facebook/instagram.com redirection and some cases even that link comes out to be trib.al which again needs a redirection. User interaction in such cases should not be required by default.

  • Unlike the fork repo the history should allow viewing the originally clicked url in all the cases where the modules are applied automatically so that in problematic cases user can see the actual url and go back to it. I've personally found some links where redirection results in some weird links. If you think this is gonna cause problems to the average users then introduce a separate option to automate so that at least users who are comfortable can use it.

  • Query removal should also include amp and lite which is common if you click links in google app. You can see them more clearly by using clicking through news articles in google app. It should include exceptions as the query removal in youtube links completely remove the part after v=.

  • Allow apps set to open dedicated links by default like twitter, youtube like the fork repo has implemented for twitter links. It's kinda cumbersome to first click apply on all modules then choose which app you wanna open it with. Ideally default apps should be able to open links automatically just like they do before installing urlchecker and rest with the default browser.
    Again for the exceptional cases which can cause problem, a whitelist or a dedicated toggle can be an alternative.

Thanks.

New module: query parameter manager

Thank you for making and sharing this app, it's really nice.

My suggestion is a module that parses all the query parameters, displays them as a scrollable list, and allows you to edit or delete any query parameter from the URL from the list (by tapping or swiping or something). A delete all parameters option would be useful as well. A bonus to this feature could include ability insert new parameters as well.

Example: https://example.com/?a=1&b=2 would show a list:

  • a=1
  • b=2

Deleting a=1 would transform the url to https://example.com/?b=2

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.