Axonym

URLCheck in detail

You may have received those long links from someone, but have you ever wondered if you really need the entire URL to access the content?

In most cases you don't. Shared or copied links usually contain tracking parameters that are there to track the user.

Or are you scared of some link that has been sent to you? Do you want to avoid the hassle of manually checking the links by navigating to VirusTotal each time?

I will demonstrate how to remove the unnecessary parameters and scan URLs faster without repeatedly accessing VirusTotal and more by using URLCheck.

Where to get URLCheck?

URLCheck is only available for Android devices.
It can be downloaded from either the Play Store or F-Droid and the source code is available on GitHub.

Configuration

In order to open URLs every time on the app you have to set URLCheck as the default browser. To set URLCheck as your default browser, navigate to the app settings and select the "Set as default browser" option.

Note! All URLs don't open in the URLCheck like when clicking on search results in browser.
You can also always use the share option in browser (or anywhere else) to open the link in URLCheck.

Once set as the default browser, every time you open a link you will see this pop-up where you can check the site's status, clean, check with VirusTotal or unshorten the URL. After selecting the wanted operations to the URL, you may choose to open it in your preferred browser.

Modules

Modules are the main part of URLCheck. Let's have a look at how to configure them.

URL Cleaner

The URL Cleaner module performs as expected by removing unnecessary parameters and referrers from URLs. However, the module doesn't automatically remove these parameters by default. To enable this feature, access the URL Cleaner module by clicking on the "Modules" in the app, and then open the URL Cleaner module. Then turn on the "Auto-apply" option.

I also suggest checking updates on the URL Cleaner rules. You can update the rules using the "Updater".

If the URL Cleaner isn't enough for you, you can add custom rules to it from "Advanced editor". Just make sure to add your rules you want to remove under the right domain. When done adding the parameters I suggest to validate the JSON. This can be done by clicking on the "<>" button above the text field.

Pattern checker

Using the pattern checker module you can redirect to more privacy friendly sites. You can for example redirect Tiktok, Reddit and Twitter links to ProxiTok, Libreddit and Nitter. The pattern checker module checks URLs against given regex patterns. If the URL matches the pattern, it will indicate that you can replace part of the URL, or the replacement can occur automatically.

URLCheck by default suggests redirecting to specific instance but by using Farside it finds working instances for privacy friendly websites.

Note: This adds another third party when trying to get to privacy friendly website in addition to trusting the instance hoster. So consider if you need this feature.

If you don't want to route URLs through Farside, you can modify the regex patterns to use specific instances.

Like:

"replacement": "https:\/\/piped.video\/$1"

You can apply patterns that I've created down below or create your own by modifying the defaults.

If you want, copy the text below now (including the curly brackets).
The guide continues after the code block.

{
  "Warning! Non ASCII characters found": {
    "regex": "[^\\p{ASCII}]"
  },
  "Http link, consider using https": {
    "regex": "^http:\/\/",
    "replacement": "https:\/\/"
  },
  "Missing http scheme.": {
    "regex": "^(?!.*:)",
    "replacement": "http:\/\/$0"
  },
  "Missing https scheme.": {
    "regex": "^(?!.*:)",
    "replacement": "https:\/\/$0"
  },
  "Reddit ➔ Teddit/Libreddit": {
    "regex": "^https?:\/\/(?:[a-z0-9-]+\\.)*?reddit.com\/(.*)",
    "replacement": "https:\/\/farside.link\/https:\/\/reddit.com\/$1",
    "enabled": "true",
    "automatic": "true"
  },
  "Twitter ➔ Nitter": {
    "regex": "^https?:\/\/(?:[a-z0-9-]+\\.)*?twitter.com\/(.*)",
    "replacement": "https:\/\/farside.link\/https:\/\/twitter.com\/$1",
    "enabled": "true",
    "automatic": "true"
  },
  "TikTok ➔ ProxiTok": {
    "regex": "^https?:\/\/(?:[w]+\\.)*?tiktok.com\/(.*)",
    "replacement": "https:\/\/farside.link\/https:\/\/tiktok.com\/$1",
    "enabled": "true",
    "automatic": "true"
  },
  "Youtube ➔ Invidious/Piped": {
    "regex": "^https?:\/\/(?:[a-z0-9-]+\\.)*?youtube.com\/(.*)",
    "replacement": "https:\/\/farside.link\/https:\/\/youtube.com\/$1",
    "enabled": "true"
  }
}

After copying the above you need to paste it to "Advanced editor" in Pattern checker module. When properly pasted make sure to validate it to make sure it doesn't have any errors. This can be done by clicking on the "<>" button above the text field. If it prompts "invalid", try copying and pasting again.

The copies ruleset above automatically applies the replacement URL but if you don't want that you can modify the "automatic": "true" to "automatic": "false" under each section in the "Advanced editor".

You can also find more patterns from here.

Unshortener

Unshortener module does exactly what you would expect it to do. It makes the shortened links long again.

Note: This adds another third party when trying to access the website. So again consider if you need this feature.

The module utilises the unshorten.me API to unshorten links. It also saves the redirection to their servers so they don't have to unshort the links every time.
Because the links are stored on their servers, it isn't advisable to unshorten personal links such as login links.

The API has a limit of 10 requests per hour for new checks. So if the link has already been unshortened, it doesn't count as an API request as it isn't a new check.

URL Scanner

In order to scan URLs, you will need an API key from VirusTotal. In order to obtain an API key, you need to create an account. Once the account has been created, the API key can be found here. Simply copy the key from that page to your clipboard.

Note: VirusTotal is owned by Google and they will store URLs in their servers when submitted for analysis. So again consider if you need this feature.

Once you have obtained the key, you can enable the URL Scanner module after pasting the API key to text field.

Tips

Here are some of my personal tips.

To check if a particular website or link is accessible, you can click "Check status".
200: OK means the site is accessible, but sometimes you may get a redirection link.

If someone links you Tiktok videos I personally unshort the link first and then have it apply the pattern. Which then takes to Proxitok through Farside.

Note: It seems like at the moment Proxitok is broken at the moment so this method is irrelevant.

Conclusion

URLCheck is a powerful tool when properly configured. It can redirect links to more privacy friendly websites and remove URL parameters.

Even though it may take a few extra clicks to get to the website, I think it is well worth it.

#FOSS #Guide #Privacy